mirror of https://github.com/proxmox/mirror_qemu
hw/ide: Get rid of piix3_init functions
This removes pci_piix3_ide_init() and pci_piix3_xen_ide_init() functions similar to clean up done to other ide devices. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-id: adddfa21552783020d64e1314318cab6d24362c3.1584457537.git.balaton@eik.bme.hu Signed-off-by: John Snow <jsnow@redhat.com>master
parent
6e9d611a1b
commit
df45d38f73
|
@ -39,6 +39,7 @@
|
||||||
#include "hw/usb.h"
|
#include "hw/usb.h"
|
||||||
#include "net/net.h"
|
#include "net/net.h"
|
||||||
#include "hw/ide.h"
|
#include "hw/ide.h"
|
||||||
|
#include "hw/ide/pci.h"
|
||||||
#include "hw/irq.h"
|
#include "hw/irq.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
#include "hw/kvm/clock.h"
|
#include "hw/kvm/clock.h"
|
||||||
|
@ -242,11 +243,10 @@ static void pc_init1(MachineState *machine,
|
||||||
ide_drive_get(hd, ARRAY_SIZE(hd));
|
ide_drive_get(hd, ARRAY_SIZE(hd));
|
||||||
if (pcmc->pci_enabled) {
|
if (pcmc->pci_enabled) {
|
||||||
PCIDevice *dev;
|
PCIDevice *dev;
|
||||||
if (xen_enabled()) {
|
|
||||||
dev = pci_piix3_xen_ide_init(pci_bus, hd, piix3_devfn + 1);
|
dev = pci_create_simple(pci_bus, piix3_devfn + 1,
|
||||||
} else {
|
xen_enabled() ? "piix3-ide-xen" : "piix3-ide");
|
||||||
dev = pci_piix3_ide_init(pci_bus, hd, piix3_devfn + 1);
|
pci_ide_create_devs(dev, hd);
|
||||||
}
|
|
||||||
idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0");
|
idebus[0] = qdev_get_child_bus(&dev->qdev, "ide.0");
|
||||||
idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1");
|
idebus[1] = qdev_get_child_bus(&dev->qdev, "ide.1");
|
||||||
pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
|
pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
|
||||||
|
|
|
@ -476,6 +476,7 @@ const VMStateDescription vmstate_ide_pci = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* hd_table must contain 4 block drivers */
|
||||||
void pci_ide_create_devs(PCIDevice *dev, DriveInfo **hd_table)
|
void pci_ide_create_devs(PCIDevice *dev, DriveInfo **hd_table)
|
||||||
{
|
{
|
||||||
PCIIDEState *d = PCI_IDE(dev);
|
PCIIDEState *d = PCI_IDE(dev);
|
||||||
|
|
|
@ -197,15 +197,6 @@ int pci_piix3_xen_ide_unplug(DeviceState *dev, bool aux)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
PCIDevice *pci_piix3_xen_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn)
|
|
||||||
{
|
|
||||||
PCIDevice *dev;
|
|
||||||
|
|
||||||
dev = pci_create_simple(bus, devfn, "piix3-ide-xen");
|
|
||||||
pci_ide_create_devs(dev, hd_table);
|
|
||||||
return dev;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void pci_piix_ide_exitfn(PCIDevice *dev)
|
static void pci_piix_ide_exitfn(PCIDevice *dev)
|
||||||
{
|
{
|
||||||
PCIIDEState *d = PCI_IDE(dev);
|
PCIIDEState *d = PCI_IDE(dev);
|
||||||
|
@ -217,17 +208,6 @@ static void pci_piix_ide_exitfn(PCIDevice *dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* hd_table must contain 4 block drivers */
|
|
||||||
/* NOTE: for the PIIX3, the IRQs and IOports are hardcoded */
|
|
||||||
PCIDevice *pci_piix3_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn)
|
|
||||||
{
|
|
||||||
PCIDevice *dev;
|
|
||||||
|
|
||||||
dev = pci_create_simple(bus, devfn, "piix3-ide");
|
|
||||||
pci_ide_create_devs(dev, hd_table);
|
|
||||||
return dev;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* hd_table must contain 4 block drivers */
|
/* hd_table must contain 4 block drivers */
|
||||||
/* NOTE: for the PIIX4, the IRQs and IOports are hardcoded */
|
/* NOTE: for the PIIX4, the IRQs and IOports are hardcoded */
|
||||||
PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn)
|
PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn)
|
||||||
|
@ -239,6 +219,7 @@ PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn)
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* NOTE: for the PIIX3, the IRQs and IOports are hardcoded */
|
||||||
static void piix3_ide_class_init(ObjectClass *klass, void *data)
|
static void piix3_ide_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
|
|
|
@ -12,8 +12,6 @@ ISADevice *isa_ide_init(ISABus *bus, int iobase, int iobase2, int isairq,
|
||||||
DriveInfo *hd0, DriveInfo *hd1);
|
DriveInfo *hd0, DriveInfo *hd1);
|
||||||
|
|
||||||
/* ide-pci.c */
|
/* ide-pci.c */
|
||||||
PCIDevice *pci_piix3_xen_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
|
|
||||||
PCIDevice *pci_piix3_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
|
|
||||||
PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
|
PCIDevice *pci_piix4_ide_init(PCIBus *bus, DriveInfo **hd_table, int devfn);
|
||||||
int pci_piix3_xen_ide_unplug(DeviceState *dev, bool aux);
|
int pci_piix3_xen_ide_unplug(DeviceState *dev, bool aux);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue