All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: blauwirbel@gmail.com, alex.williamson@redhat.com,
	qemu-devel@nongnu.org, kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [PATCHv2 1/8] Introduce deriver_name field to DeviceInfo structure.
Date: Thu, 4 Nov 2010 17:44:54 +0200	[thread overview]
Message-ID: <20101104154454.GB14910@redhat.com> (raw)
In-Reply-To: <m31v71jfus.fsf@blackfin.pond.sub.org>

On Thu, Nov 04, 2010 at 03:58:03PM +0100, Markus Armbruster wrote:
> Gleb Natapov <gleb@redhat.com> writes:
> 
> > On Thu, Nov 04, 2010 at 10:20:18AM +0100, Markus Armbruster wrote:
> >> Gleb Natapov <gleb@redhat.com> writes:
> >> 
> >> > Add "deriver_name" to DeviceInfo to use in device path building. In
> >> 
> >> Typo "deriver".  Same in subject.
> >> 
> > Heh.
> >
> >> > contrast to "name" "driver_name" should refer to functionality device
> >> > provides instead of particular device model like "name" does.
> >> 
> >> Why is that useful in a device path?
> >> 
> > Sometimes it is sometimes it is not. Lets look at path like that:
> > /pci@i0cf8/ethernet@4/ethernet-phy@0
> >
> > It is important to have pci in the fist path element since it defines
> > what kind of bus addressing is used by next element ethernet@4.
> 
> It is for consumers that don't know what's sitting at i0cf8 on the
> system bus.
Yes. Same firmware may support different boards that have same pci
controller but on different addresses. Device name may even contain
manufacturer ID, so firmware will be able to find matching driver and
support more board without recompiling.


> 
> >                                                                 4 is
> > slot number in case of pci bus. On the other hand ethernet part is not
> > important since OS can figure it out by looking in pci config space.
> 
> The OS does know what's sitting in slot 4 on the PCI bus.
> 
Yes, and? That what I wrote above. "ethernet" part is redundant in case
of PCI bus. A little bit of redundancy will not hurt and required by the
spec.

> If the OS number doesn't know what's sitting at i0cf8, why is "pci"
> sufficient information?  Why don't we have to distinguish between the
> different PCI host bridges?
Manufacturer ID may be put along with pci. Full FDT contains much more
information about each node though. It may even list compatible HW. Here
we are concerned with device paths only.

> 
> >> I'm afraid "driver_name" is too confusing, because we already use
> >> "driver" and "name" for the name of the device model: DeviceInfo member
> >> name, and qemu_device_opts option name "driver".
> > I use "driver_name" here since I am coding to Open Firmware spec now
> > and this element in device path is called driver_name by the spec.
> 
> Why is it different from our DeviceInfo member name?
> 
> We already have name (e.g. "lsi53c895a") and alias ("lsi"), why do we
> need a third?
I haven't noticed we have alias! What is it used for? I think I can use
it instead.

> 
> Do you envisage different device models sharing the same driver_name?
> 
Yes. isa-ide, piix3-ide, piix4-ide all provides exactly same ata bus.

> [...]
> >> Do we want a free-for-all ad hoc set of values for driver_name?  The
> >> values become ABI instantly...  Can we adopt some existing set of names
> >> for device classes?  Else, can we define our own with a bit more
> >> control?
> >> 
> > I am open to suggestion. Open firmware describes this field as:
> >
> >   The driver name field is a sequence of between one and 31 letters, digits,
> >   and punctuation characters from the set “, . _ + - ”. Uppercase and
> >   lowercase characters are distinct. By convention, this name includes
> >   the name of the device’s manufacturer and the device’s model name
> >   separated by a “,”.  (See the definition of “name” in annex A.)
> >   Inclusion of the manufacturer name within driver name is especially
> >   important for devices intended to plug into standard buses, as this
> >   minimizes the risk of accidental name collisions. It is somewhat less
> >   important for devices that are permanently attached to a particular
> >   system.  If the manufacturer name component is omitted (i.e., there is
> >   no “,” within the driver name), the convention is to assume that
> >   the manufacturer name is the same as that of the nearest ancestor node
> >   (parent node, or grandparent node, etc.) that has an explicit manufacturer
> >   name component.
> 
> I suspect that's exactly what DeviceInfo member name is.
> 
In cases where this is the case I just use "name".

> > I am looking on existing implementations an copy what they do.
> [...]

--
			Gleb.

  reply	other threads:[~2010-11-04 15:44 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-31 11:40 [PATCHv2 0/8 RFC] boot order specification Gleb Natapov
2010-10-31 11:40 ` [PATCHv2 1/8] Introduce deriver_name field to DeviceInfo structure Gleb Natapov
2010-11-04  9:20   ` [Qemu-devel] " Markus Armbruster
2010-11-04  9:42     ` Gleb Natapov
2010-11-04 14:58       ` Markus Armbruster
2010-11-04 15:44         ` Gleb Natapov [this message]
2010-11-05 14:14           ` Markus Armbruster
2010-11-05 15:41             ` Gleb Natapov
2010-11-05 16:24               ` Markus Armbruster
2010-11-05 18:31                 ` Gleb Natapov
2010-11-06  9:01                   ` Markus Armbruster
2010-11-06 11:53                     ` Gleb Natapov
2010-11-06 12:55                       ` Markus Armbruster
2010-10-31 11:40 ` [PATCHv2 2/8] Keep track of ISA ports ISA device is using in qdev Gleb Natapov
2010-10-31 11:40 ` [PATCHv2 3/8] Add get_dev_path callback to ISA bus " Gleb Natapov
2010-10-31 11:40 ` [PATCHv2 4/8] Store IDE bus id in IDEBus structure for easy access Gleb Natapov
2010-11-03 13:39   ` [Qemu-devel] " Markus Armbruster
2010-11-03 13:47     ` Gleb Natapov
2010-11-03 15:18       ` Markus Armbruster
2010-11-03 16:43         ` Gleb Natapov
2010-11-03 17:22           ` Markus Armbruster
2010-11-04  8:07             ` Gleb Natapov
2010-11-04  8:46               ` Markus Armbruster
2010-11-04  9:23                 ` Gleb Natapov
2010-11-04 14:22                   ` Markus Armbruster
2010-11-04 15:26                     ` Gleb Natapov
2010-11-05 14:04                       ` Markus Armbruster
2010-11-05 15:54                         ` Gleb Natapov
2010-11-05 16:31                           ` Markus Armbruster
2010-11-05 18:44                             ` Gleb Natapov
2010-11-06  9:25                               ` Markus Armbruster
2010-11-06 11:37                                 ` Gleb Natapov
2010-11-06 12:46                                   ` Markus Armbruster
2010-10-31 11:40 ` [PATCHv2 5/8] Add get_dev_path callback to IDE bus Gleb Natapov
2010-10-31 11:40 ` [PATCHv2 6/8] Add get_dev_path callback for system bus Gleb Natapov
2010-10-31 11:40 ` [PATCHv2 7/8] Change pci bus get_dev_path callback to print only slot and func Gleb Natapov
2010-11-08 17:17   ` Michael S. Tsirkin
2010-11-08 17:29     ` Gleb Natapov
2010-11-08 18:12       ` Michael S. Tsirkin
2010-11-08 18:22         ` Gleb Natapov
2010-11-08 21:00       ` Michael S. Tsirkin
2010-11-08 21:12         ` Gleb Natapov
2010-11-08 17:26   ` Michael S. Tsirkin
2010-10-31 11:40 ` [PATCHv2 8/8] Add bootindex parameter to net/block/fd device Gleb Natapov
2010-10-31 22:25 ` [PATCHv2 0/8 RFC] boot order specification Kevin O'Connor
2010-11-01  7:53   ` Gleb Natapov
2010-11-04  9:24     ` [Qemu-devel] " Markus Armbruster
2010-11-04  9:45       ` Gleb Natapov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101104154454.GB14910@redhat.com \
    --to=gleb@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=armbru@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.