diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2009-07-15 13:59:25 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-07-27 08:39:29 -0500 |
commit | 8ffb1bcf56a4b62d80c8dbefa715cd16394255e0 (patch) | |
tree | f15357f1f5645b5aaf2f3829dd6ce27c7c7a4a73 /hw/qdev.h | |
parent | d271de9f1bd7c4671af8cc8edca4ac677371cfff (diff) |
qdev: bus walker + qdev_device_add()
This patch implements a parser and qdev tree walker for bus paths and
adds qdev_device_add on top of this.
A bus path can be:
(1) full path, i.e. /i440FX-pcihost/pci.0/lsi/scsi.0
(2) bus name, i.e. "scsi.0". Best used together with id= to make
sure this is unique.
(3) relative path starting with a bus name, i.e. "pci.0/lsi/scsi.0"
For the (common) case of a single child bus being attached to a device
it is enougth to specify the device only, i.e. "pci.0/lsi" will be
accepted too.
qdev_device_add() adds devices and accepts bus= parameters to find the
bus the device should be attached to. Without bus= being specified it
takes the first bus it finds where the device can be attached to (i.e.
first pci bus for pci devices, ...).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/qdev.h')
-rw-r--r-- | hw/qdev.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -82,6 +82,7 @@ struct CompatProperty { /*** Board API. This should go away once we have a machine config file. ***/ DeviceState *qdev_create(BusState *bus, const char *name); +DeviceState *qdev_device_add(const char *cmdline); void qdev_init(DeviceState *dev); void qdev_free(DeviceState *dev); |