]> git.proxmox.com Git - qemu.git/commitdiff
Sparc64: convert ebus to qdev
authorBlue Swirl <blauwirbel@gmail.com>
Sun, 12 Jul 2009 08:54:49 +0000 (08:54 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sun, 12 Jul 2009 08:54:49 +0000 (08:54 +0000)
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/sun4u.c

index dfe1578b67f164844f746f17578689b5aeb7e2bf..9d2a7f59e36112d194ca710a410a2ed3cb5a0fef 100644 (file)
@@ -305,9 +305,12 @@ static void ebus_mmio_mapfunc(PCIDevice *pci_dev, int region_num,
 static void
 pci_ebus_init(PCIBus *bus, int devfn)
 {
-    PCIDevice *s;
+    pci_create_simple(bus, devfn, "ebus");
+}
 
-    s = pci_register_device(bus, "EBUS", sizeof(*s), devfn, NULL, NULL);
+static void
+pci_ebus_init1(PCIDevice *s)
+{
     pci_config_set_vendor_id(s->config, PCI_VENDOR_ID_SUN);
     pci_config_set_device_id(s->config, PCI_DEVICE_ID_SUN_EBUS);
     s->config[0x04] = 0x06; // command = bus master, pci mem
@@ -326,6 +329,19 @@ pci_ebus_init(PCIBus *bus, int devfn)
                            ebus_mmio_mapfunc);
 }
 
+static PCIDeviceInfo ebus_info = {
+    .qdev.name = "ebus",
+    .qdev.size = sizeof(PCIDevice),
+    .init = pci_ebus_init1,
+};
+
+static void pci_ebus_register(void)
+{
+    pci_qdev_register(&ebus_info);
+}
+
+device_init(pci_ebus_register);
+
 static void sun4uv_init(ram_addr_t RAM_size,
                         const char *boot_devices,
                         const char *kernel_filename, const char *kernel_cmdline,