Commit f05f6b4a authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Anthony Liguori
Browse files

qdev: put all devices under /machine



Avoid cluttering too much the QOM root.

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent da57febf
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -276,7 +276,7 @@ static PCIBus *i440fx_common_init(const char *device_name,
    b = pci_bus_new(&s->busdev.qdev, NULL, pci_address_space,
                    address_space_io, 0);
    s->bus = b;
    object_property_add_child(object_get_root(), "i440fx", OBJECT(dev), NULL);
    object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev), NULL);
    qdev_init_nofail(dev);

    d = pci_create_simple(b, 0, device_name);
+1 −1
Original line number Diff line number Diff line
@@ -615,7 +615,7 @@ static void ppc_prep_init (ram_addr_t ram_size,
    sys = sysbus_from_qdev(dev);
    pcihost = DO_UPCAST(PCIHostState, busdev, sys);
    pcihost->address_space = get_system_memory();
    object_property_add_child(object_get_root(), "raven", OBJECT(dev), NULL);
    object_property_add_child(qdev_get_machine(), "raven", OBJECT(dev), NULL);
    qdev_init_nofail(dev);
    pci_bus = (PCIBus *)qdev_get_child_bus(dev, "pci.0");
    if (pci_bus == NULL) {
+2 −2
Original line number Diff line number Diff line
@@ -180,7 +180,7 @@ static Object *qdev_get_peripheral(void)
    static Object *dev;

    if (dev == NULL) {
        dev = container_get("/peripheral");
        dev = container_get("/machine/peripheral");
    }

    return dev;
@@ -191,7 +191,7 @@ static Object *qdev_get_peripheral_anon(void)
    static Object *dev;

    if (dev == NULL) {
        dev = container_get("/peripheral-anon");
        dev = container_get("/machine/peripheral-anon");
    }

    return dev;
+12 −1
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ int qdev_init(DeviceState *dev)
        static int unattached_count = 0;
        gchar *name = g_strdup_printf("device[%d]", unattached_count++);

        object_property_add_child(container_get("/unattached"), name,
        object_property_add_child(container_get("/machine/unattached"), name,
                                  OBJECT(dev), NULL);
        g_free(name);
    }
@@ -668,6 +668,17 @@ void device_reset(DeviceState *dev)
    }
}

Object *qdev_get_machine(void)
{
    static Object *dev;

    if (dev == NULL) {
        dev = container_get("/machine");
    }

    return dev;
}

static TypeInfo device_type_info = {
    .name = TYPE_DEVICE,
    .parent = TYPE_OBJECT,
+2 −0
Original line number Diff line number Diff line
@@ -349,6 +349,8 @@ BusInfo *qdev_get_bus_info(DeviceState *dev);

Property *qdev_get_props(DeviceState *dev);

Object *qdev_get_machine(void);

/* FIXME: make this a link<> */
void qdev_set_parent_bus(DeviceState *dev, BusState *bus);