diff options
| author | Anthony Liguori <aliguori@us.ibm.com> | 2011-12-23 15:34:39 -0600 |
|---|---|---|
| committer | Andreas Färber <afaerber@suse.de> | 2012-06-18 15:14:38 +0200 |
| commit | 0866aca1de15a12547f52ff8563cf7c163e1898e (patch) | |
| tree | 511c043eb3de19d479f708209e588d828b751903 /hw/qdev.h | |
| parent | f968fc6892daf02865cce8af277cc755be690eda (diff) | |
| download | focaccia-qemu-0866aca1de15a12547f52ff8563cf7c163e1898e.tar.gz focaccia-qemu-0866aca1de15a12547f52ff8563cf7c163e1898e.zip | |
qbus: Make child devices links
Make qbus children show up as link<> properties. There is no stable addressing for qbus children so we use an unstable naming convention. This is okay in QOM though because the composition name is expected to be what's stable. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'hw/qdev.h')
| -rw-r--r-- | hw/qdev.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/hw/qdev.h b/hw/qdev.h index 736271ecef..e39f82e029 100644 --- a/hw/qdev.h +++ b/hw/qdev.h @@ -74,7 +74,6 @@ struct DeviceState { qemu_irq *gpio_in; QLIST_HEAD(, BusState) child_bus; int num_child_bus; - QTAILQ_ENTRY(DeviceState) sibling; int instance_id_alias; int alias_required_for_version; }; @@ -100,6 +99,12 @@ struct BusClass { int (*reset)(BusState *bus); }; +typedef struct BusChild { + DeviceState *child; + int index; + QTAILQ_ENTRY(BusChild) sibling; +} BusChild; + /** * BusState: * @qom_allocated: Indicates whether the object was allocated by QOM. @@ -113,7 +118,8 @@ struct BusState { int allow_hotplug; bool qom_allocated; bool glib_allocated; - QTAILQ_HEAD(ChildrenHead, DeviceState) children; + int max_index; + QTAILQ_HEAD(ChildrenHead, BusChild) children; QLIST_ENTRY(BusState) sibling; }; |