From f5fcd1af8c3d23e8254db64ffbe29f7681dbcda8 Mon Sep 17 00:00:00 2001 From: Blue Swirl Date: Sun, 12 Jul 2009 08:54:49 +0000 Subject: [PATCH] Sparc64: convert ebus to qdev Signed-off-by: Blue Swirl --- hw/sun4u.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/hw/sun4u.c b/hw/sun4u.c index dfe1578..9d2a7f5 100644 --- a/hw/sun4u.c +++ b/hw/sun4u.c @@ -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, -- 2.7.4