diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2012-02-20 01:34:01 +0200 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2012-03-15 17:04:58 +0200 |
commit | 8a3d80faf7794820da5e9666e4adf6a7d4f80f7b (patch) | |
tree | 847bb7bbc5ad9ad4157a565ae5a360c25adff3cc | |
parent | d662210a440bf90bf0f5fb5eb8abd6244478c97d (diff) | |
download | hqemu-8a3d80faf7794820da5e9666e4adf6a7d4f80f7b.zip hqemu-8a3d80faf7794820da5e9666e4adf6a7d4f80f7b.tar.gz |
pci_bridge: user-friendly default bus name
For a pci bridge device, if we don't override
the name with custom code, the bus will be addressed as
<id>.0, where id is the id specified by the user.
Since PCI Bridge devices have a single bus each, we don't need
the index: address the bus using the parent device name.
This is better since this way users don't care about
our internal bus/device distinctions.
As far as I could see, we only have built-in
bridges at this point which always override the
name. So this change will only affect ioh3420.c.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r-- | hw/pci_bridge.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/pci_bridge.c b/hw/pci_bridge.c index fea3873..eeee8a6 100644 --- a/hw/pci_bridge.c +++ b/hw/pci_bridge.c @@ -314,6 +314,16 @@ int pci_bridge_initfn(PCIDevice *dev) pci_set_word(dev->config + PCI_SEC_STATUS, PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK); + /* + * 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; + } + qbus_create_inplace(&sec_bus->qbus, &pci_bus_info, &dev->qdev, br->bus_name); sec_bus->parent_dev = dev; |