On Tue, 2010-11-09 at 11:29 +0100, Daniel Veillard wrote:
On Tue, Nov 09, 2010 at 04:22:56AM -0500, Jon Masters wrote:
> On Thu, 2010-10-21 at 21:52 +0200, Daniel Veillard wrote:
> > The SMBIOS data are a standardized set of data structures available
> > in the BIOS area of PCs. Those blocks of data describe things like
> > BIOS version informations, machine vendor, model and identifiers,
> > as well as various parts of the machine capability. On a linux
> > machine running dmidecode allows to dump those informations.
>
> Daniel,
>
> Can you tell me if you are (or are willing or planning to) going to
> implement structure Type 9 of the SMBIOS specification? Specifically,
> this provides a mapping from the "system slots" (in the chassis) to the
> PCI devices in the system (as an example), especially where network is
> concerned (but not limited to that). We are investigating generic
> solutions for mapping network devices presented by Linux through to the
> physical devices themselves. So for example, network device eth0 is
> replaced by eth-slot0-<etc> or lom0, or whatever.
>
> I know virt doesn't have a physical slot, but the ordering of devices
> does matter very much. Let me know your plans. I am still catching up
> from LPC last week, so I just skimmed libvirt list. I have a plan to
> read over your patches soon.
A priori no hypervisor expose any of the type 9 informations.
But that's not a reason not to :) One of the (many) reasons that
extension was added was to help even hypervisors.
I don't think using the SMBIOS stucture may actually help
solving
the device ordering in the guests.
Why not? Guest Operating Systems are starting to support this extension,
and there's an ACPI extension coming along too. I would have thought an
OS-independent way of ensuring consistent ordering is pretty useful!
The device ordering is still something to be improved but for a
given
class of devices we tend to assign them PCI slots in the order found
in the XML docmain declaration. Right now the order between different
classes of devices is hardcoded and that is one point we should be
able to improve,
You could just pass the SMBIOS data such that you map PCI "slots" to
devices in linear order. That will ensure one kind of ordering. And you
can change the logic later since you know how the guest OS(es) will
react and so can still ensure a consistent mapping.
Jon.