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 305 static void
306 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 314 pci_config_set_vendor_id(s->config, PCI_VENDOR_ID_SUN);
312 315 pci_config_set_device_id(s->config, PCI_DEVICE_ID_SUN_EBUS);
313 316 s->config[0x04] = 0x06; // command = bus master, pci mem
... ... @@ -326,6 +329,19 @@ pci_ebus_init(PCIBus *bus, int devfn)
326 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 345 static void sun4uv_init(ram_addr_t RAM_size,
330 346 const char *boot_devices,
331 347 const char *kernel_filename, const char *kernel_cmdline,
... ...