diff options
-rw-r--r-- | hw/ide/piix.c | 12 | ||||
-rw-r--r-- | hw/isa/piix4.c | 4 | ||||
-rw-r--r-- | include/hw/ide.h | 1 |
3 files changed, 4 insertions, 13 deletions
diff --git a/hw/ide/piix.c b/hw/ide/piix.c index 8bcd6b7..3b2de4c 100644 --- a/hw/ide/piix.c +++ b/hw/ide/piix.c @@ -208,17 +208,6 @@ static void pci_piix_ide_exitfn(PCIDevice *dev) } } -/* hd_table must contain 4 block drivers */ -/* NOTE: for the PIIX4, the IRQs and IOports are hardcoded */ -PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn) -{ - PCIDevice *dev; - - dev = pci_create_simple(bus, devfn, "piix4-ide"); - pci_ide_create_devs(dev, hd_table); - return dev; -} - /* NOTE: for the PIIX3, the IRQs and IOports are hardcoded */ static void piix3_ide_class_init(ObjectClass *klass, void *data) { @@ -247,6 +236,7 @@ static const TypeInfo piix3_ide_xen_info = { .class_init = piix3_ide_class_init, }; +/* NOTE: for the PIIX4, the IRQs and IOports are hardcoded */ static void piix4_ide_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index 2cbdcd7..706eb5b 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -35,6 +35,7 @@ #include "hw/timer/i8254.h" #include "hw/rtc/mc146818rtc.h" #include "hw/ide.h" +#include "hw/ide/pci.h" #include "migration/vmstate.h" #include "sysemu/reset.h" #include "sysemu/runstate.h" @@ -256,9 +257,10 @@ DeviceState *piix4_create(PCIBus *pci_bus, ISABus **isa_bus, *isa_bus = ISA_BUS(qdev_get_child_bus(dev, "isa.0")); } + pci = pci_create_simple(pci_bus, devfn + 1, "piix4-ide"); hd = g_new(DriveInfo *, ide_drives); ide_drive_get(hd, ide_drives); - pci_piix4_ide_init(pci_bus, hd, devfn + 1); + pci_ide_create_devs(pci, hd); g_free(hd); pci_create_simple(pci_bus, devfn + 2, "piix4-usb-uhci"); diff --git a/include/hw/ide.h b/include/hw/ide.h index 883bbae..21bd8f2 100644 --- a/include/hw/ide.h +++ b/include/hw/ide.h @@ -12,7 +12,6 @@ ISADevice *isa_ide_init(ISABus *bus, int iobase, int iobase2, int isairq, DriveInfo *hd0, DriveInfo *hd1); /* ide-pci.c */ -PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn); int pci_piix3_xen_ide_unplug(DeviceState *dev, bool aux); /* ide-mmio.c */ |