[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 09/20] hw/mips/mips_malta: Create IDE hard drive array dynamic
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v3 09/20] hw/mips/mips_malta: Create IDE hard drive array dynamically |
Date: |
Sat, 26 Oct 2019 20:01:32 +0200 |
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 <address@hidden>
Reviewed-by: Li Qiang <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/mips/mips_malta.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index 645c223edb..239ea98ef8 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -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);
--
2.21.0
- [PATCH v3 00/20] hw/i386/pc: Split PIIX3 southbridge from i440FX northbridge, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 01/20] MAINTAINERS: Keep PIIX4 South Bridge separate from PC Chipsets, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 02/20] piix4: Add the Reset Control Register, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 03/20] piix4: Add an i8259 Interrupt Controller as specified in datasheet, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 04/20] Revert "irq: introduce qemu_irq_proxy()", Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 05/20] piix4: Rename PIIX4 object to piix4-isa, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 06/20] piix4: Add an i8257 DMA Controller as specified in datasheet, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 07/20] piix4: Add an i8254 PIT Controller as specified in datasheet, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 08/20] piix4: Add a MC146818 RTC Controller as specified in datasheet, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 09/20] hw/mips/mips_malta: Create IDE hard drive array dynamically,
Philippe Mathieu-Daudé <=
- [PATCH v3 10/20] hw/mips/mips_malta: Extract the PIIX4 creation code as piix4_create(), Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 11/20] hw/isa/piix4: Move piix4_create() to hw/isa/piix4.c, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 12/20] hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 13/20] hw/pci-host/piix: Extract piix3_create(), Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 15/20] hw/pci-host/piix: Define and use the PIIX IRQ Route Control Registers, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 14/20] hw/pci-host/piix: Move RCR_IOPORT register definition, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 16/20] hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 17/20] hw/pci-host/piix: Fix code style issues, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 18/20] hw/pci-host/piix: Extract PIIX3 functions to hw/isa/piix3.c, Philippe Mathieu-Daudé, 2019/10/26
- [PATCH v3 19/20] hw/pci-host: Rename incorrectly named 'piix' as 'i440fx', Philippe Mathieu-Daudé, 2019/10/26