Commit 53e3c4f9183af22ab5426faa901a507c6ee5b13c
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, | ... | ... |