Paolo Bonzini <pbonz...@redhat.com> writes:

> Il 20/08/2014 13:36, Michael S. Tsirkin ha scritto:
>> 
>> For pci bridges, unless you set bus_name, bus name will
>> match device itself. See this code:
>> 
>>      * If we don't specify the name, the bus will be addressed as
>>      * <id>.0, where id is the device id.
>>      * Since PCI Bridge devices have a single bus each, we don't need
>>      * the index:
>>      * let users address the bus using the device name.
>>      */
>>     if (!br->bus_name && dev->qdev.id && *dev->qdev.id) {
>>             br->bus_name = dev->qdev.id;
>>     }
>
> Is libvirt using this rule?  If not, I'd rather slash it since the
> <id>.0 name is shared with all other buses and not PCI-bridge-specific.

br->bus_name is null unless pci_bridge_map_irq() set it.  Only caller
for ioh3420 is ioh3420_init(), and that's dead code.  Therefore,
br->bus_name is null here.

Libvirt always sets a device ID.  Slashing this this special case would
change the bus name from ID.0 to just ID.  That'll break libvirt, as far
as I can tell from its source.

Sad.

Reply via email to