Commit 53e3c4f9183af22ab5426faa901a507c6ee5b13c

Authored by Blue Swirl
1 parent 5210977a

Sparc64: convert ebus to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Showing 1 changed file with 18 additions and 2 deletions
hw/sun4u.c
@@ -305,9 +305,12 @@ static void ebus_mmio_mapfunc(PCIDevice *pci_dev, int region_num, @@ -305,9 +305,12 @@ static void ebus_mmio_mapfunc(PCIDevice *pci_dev, int region_num,
305 static void 305 static void
306 pci_ebus_init(PCIBus *bus, int devfn) 306 pci_ebus_init(PCIBus *bus, int devfn)
307 { 307 {
308 - PCIDevice *s; 308 + pci_create_simple(bus, devfn, "ebus");
  309 +}
309 310
310 - s = pci_register_device(bus, "EBUS", sizeof(*s), devfn, NULL, NULL); 311 +static void
  312 +pci_ebus_init1(PCIDevice *s)
  313 +{
311 pci_config_set_vendor_id(s->config, PCI_VENDOR_ID_SUN); 314 pci_config_set_vendor_id(s->config, PCI_VENDOR_ID_SUN);
312 pci_config_set_device_id(s->config, PCI_DEVICE_ID_SUN_EBUS); 315 pci_config_set_device_id(s->config, PCI_DEVICE_ID_SUN_EBUS);
313 s->config[0x04] = 0x06; // command = bus master, pci mem 316 s->config[0x04] = 0x06; // command = bus master, pci mem
@@ -326,6 +329,19 @@ pci_ebus_init(PCIBus *bus, int devfn) @@ -326,6 +329,19 @@ pci_ebus_init(PCIBus *bus, int devfn)
326 ebus_mmio_mapfunc); 329 ebus_mmio_mapfunc);
327 } 330 }
328 331
  332 +static PCIDeviceInfo ebus_info = {
  333 + .qdev.name = "ebus",
  334 + .qdev.size = sizeof(PCIDevice),
  335 + .init = pci_ebus_init1,
  336 +};
  337 +
  338 +static void pci_ebus_register(void)
  339 +{
  340 + pci_qdev_register(&ebus_info);
  341 +}
  342 +
  343 +device_init(pci_ebus_register);
  344 +
329 static void sun4uv_init(ram_addr_t RAM_size, 345 static void sun4uv_init(ram_addr_t RAM_size,
330 const char *boot_devices, 346 const char *boot_devices,
331 const char *kernel_filename, const char *kernel_cmdline, 347 const char *kernel_filename, const char *kernel_cmdline,