hw/mips/mips_malta: Create IDE hard drive array dynamically
In the next commit we'll refactor the PIIX4 code out of mips_malta_init(). As a preliminary step, add the 'ide_drives' variable and create the drive array dynamically. Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: Li Qiang <liq3ea@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
fff123b8fd
commit
fff21c129d
@ -1235,7 +1235,8 @@ void mips_malta_init(MachineState *machine)
|
||||
int piix4_devfn;
|
||||
I2CBus *smbus;
|
||||
DriveInfo *dinfo;
|
||||
DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
|
||||
const size_t ide_drives = MAX_IDE_BUS * MAX_IDE_DEVS;
|
||||
DriveInfo **hd;
|
||||
int fl_idx = 0;
|
||||
int be;
|
||||
|
||||
@ -1406,7 +1407,8 @@ void mips_malta_init(MachineState *machine)
|
||||
pci_bus = gt64120_register(s->i8259);
|
||||
|
||||
/* Southbridge */
|
||||
ide_drive_get(hd, ARRAY_SIZE(hd));
|
||||
hd = g_new(DriveInfo *, ide_drives);
|
||||
ide_drive_get(hd, ide_drives);
|
||||
|
||||
pci = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(10, 0),
|
||||
true, TYPE_PIIX4_PCI_DEVICE);
|
||||
@ -1421,6 +1423,7 @@ void mips_malta_init(MachineState *machine)
|
||||
}
|
||||
|
||||
pci_piix4_ide_init(pci_bus, hd, piix4_devfn + 1);
|
||||
g_free(hd);
|
||||
pci_create_simple(pci_bus, piix4_devfn + 2, "piix4-usb-uhci");
|
||||
smbus = piix4_pm_init(pci_bus, piix4_devfn + 3, 0x1100,
|
||||
isa_get_irq(NULL, 9), NULL, 0, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user