Commit fff21c12 authored by Philippe Mathieu-Daudé's avatar Philippe Mathieu-Daudé
Browse files

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: default avatarAleksandar Markovic <amarkovic@wavecomp.com>
Reviewed-by: default avatarLi Qiang <liq3ea@gmail.com>
Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
parent fff123b8
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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);