[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object |
Date: |
Thu, 19 Apr 2012 16:46:45 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120312 Thunderbird/11.0 |
Am 19.04.2012 00:38, schrieb Anthony Liguori:
> On 04/18/2012 04:25 PM, Andreas Färber wrote:
>> Am 18.04.2012 22:56, schrieb Anthony Liguori:
>>> This makes sysbus part of the root hierarchy and all busses children
>>> of their
>>> respective parent DeviceState.
>>>
>>> Signed-off-by: Anthony Liguori<address@hidden>
>>> ---
>>> hw/qdev.c | 11 +++++------
>>> qom/object.c | 12 ++++++++++++
>>> 2 files changed, 17 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/hw/qdev.c b/hw/qdev.c
>>> index 26e6f09..b5eef22 100644
>>> --- a/hw/qdev.c
>>> +++ b/hw/qdev.c
>>> @@ -427,6 +427,7 @@ static void do_qbus_create_inplace(BusState *bus,
>>> const char *typename,
>>> if (parent) {
>>> QLIST_INSERT_HEAD(&parent->child_bus, bus, sibling);
>>> parent->num_child_bus++;
>>> + object_property_add_child(OBJECT(parent), bus->name,
>>> OBJECT(bus), NULL);
>>> } else if (bus != main_system_bus) {
>>> /* TODO: once all bus devices are qdevified,
>>> only reset handler for main_system_bus should be
>>> registered here. */
>>> @@ -456,6 +457,8 @@ static void main_system_bus_create(void)
>>> /* assign main_system_bus before qbus_create_inplace()
>>> * in order to make "if (bus != main_system_bus)" work */
>>> main_system_bus = qbus_create(TYPE_SYSTEM_BUS, NULL,
>>> "main-system-bus");
>>> + object_property_add_child(object_get_root(), "sysbus",
>>> + OBJECT(main_system_bus), NULL);
>>
>> So this is adding /sysbus. Shouldn't this rather go into
>> /unassigned/sysbus?
>
> What would sysbus be assigned too? I think sysbus is a really special
> case and belongs in the /root directory.
I suggested /unassigned because of no explicit parenting. Either the
unstable /unassigned tree or qdev_get_machine() for the real device
hierarchy. It's a device bus so it should be in one of the device
containers, not form yet a new root node.
All devices trace back to some SysBus device currently (e.g., PReP PCI
host controller is-a SysBusDevice, has-a PCIBus has-a child<PCIDevice>
i82378 that in turn has-a ISABus etc. etc.), so if we argue that sysbus
were special and needs to be in /, then *all* devices will end up in
that special location.
Just wondering, can a node have two parents? If you add "child[%d]"
nodes to the busses and we then add i440fx explicitly somewhere, like we
do, will that remove it from the bus' child[] list or will we have it in
both locations with an indeterministic canonical path?
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- [Qemu-devel] [PATCH 01/14] qdev: fix adding of ptr properties, (continued)
- [Qemu-devel] [PATCH 01/14] qdev: fix adding of ptr properties, Anthony Liguori, 2012/04/18
- [Qemu-devel] [PATCH 02/14] object: add object_property_foreach, Anthony Liguori, 2012/04/18
- [Qemu-devel] [PATCH 03/14] qdev: add qdev_add_properties, Anthony Liguori, 2012/04/18
- [Qemu-devel] [PATCH 04/14] qdev: don't allow globals to be set by bus name, Anthony Liguori, 2012/04/18
- [Qemu-devel] [PATCH 05/14] qdev: use wrapper for qdev_get_path, Anthony Liguori, 2012/04/18
- [Qemu-devel] [PATCH 07/14] qdev: fix info qtree/qdm, Anthony Liguori, 2012/04/18
- [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object, Anthony Liguori, 2012/04/18
- Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object, Andreas Färber, 2012/04/18
- Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object, Anthony Liguori, 2012/04/18
- Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object, Igor Mammedov, 2012/04/19
- Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object,
Andreas Färber <=
- Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object, Paolo Bonzini, 2012/04/19
- Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object, Anthony Liguori, 2012/04/19
- Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object, Peter Maydell, 2012/04/19
- Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object, Andreas Färber, 2012/04/19
- Re: [Qemu-devel] [PATCH 09/14] qdev: connect some links and move type to object, Anthony Liguori, 2012/04/19
[Qemu-devel] [PATCH 12/14] qbus: move print_dev to DeviceClass, Anthony Liguori, 2012/04/18
[Qemu-devel] [PATCH 11/14] qbus: move get_fw_dev_path to DeviceClass, Anthony Liguori, 2012/04/18
[Qemu-devel] [PATCH 10/14] qbus: move get_dev_path to DeviceState, Anthony Liguori, 2012/04/18