Sparc64: convert ebus to qdev

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
Blue Swirl 2009-07-12 08:54:49 +00:00
parent 5210977a85
commit 53e3c4f918
1 changed files with 18 additions and 2 deletions

View 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,