[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v3 35/35] pc: Move {ram, pci, rom}_memory variables to
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [RFC v3 35/35] pc: Move {ram, pci, rom}_memory variables to PCMachineState |
Date: |
Fri, 4 Jul 2014 21:10:02 -0300 |
Signed-off-by: Eduardo Habkost <address@hidden>
---
Changes v2:
* Use PCMachineState fields inside pc_memory_init() too
---
hw/i386/pc.c | 8 +++-----
hw/i386/pc_piix.c | 19 ++++++++-----------
hw/i386/pc_q35.c | 22 +++++++++-------------
include/hw/i386/pc.h | 5 +++--
4 files changed, 23 insertions(+), 31 deletions(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index b028669..a89756e 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1194,8 +1194,6 @@ FWCfgState *pc_memory_init(MachineState *machine,
MemoryRegion *system_memory,
ram_addr_t below_4g_mem_size,
ram_addr_t above_4g_mem_size,
- MemoryRegion *rom_memory,
- MemoryRegion **ram_memory,
PcGuestInfo *guest_info)
{
int linux_boot, i;
@@ -1215,7 +1213,7 @@ FWCfgState *pc_memory_init(MachineState *machine,
ram = g_malloc(sizeof(*ram));
memory_region_allocate_system_memory(ram, NULL, "pc.ram",
machine->ram_size);
- *ram_memory = ram;
+ pcms->ram_memory = ram;
ram_below_4g = g_malloc(sizeof(*ram_below_4g));
memory_region_init_alias(ram_below_4g, NULL, "ram-below-4g", ram,
0, below_4g_mem_size);
@@ -1269,12 +1267,12 @@ FWCfgState *pc_memory_init(MachineState *machine,
}
/* Initialize PC system firmware */
- pc_system_firmware_init(rom_memory, guest_info->isapc_ram_fw);
+ pc_system_firmware_init(pcms->rom_memory, guest_info->isapc_ram_fw);
option_rom_mr = g_malloc(sizeof(*option_rom_mr));
memory_region_init_ram(option_rom_mr, NULL, "pc.rom", PC_ROM_SIZE);
vmstate_register_ram_global(option_rom_mr);
- memory_region_add_subregion_overlap(rom_memory,
+ memory_region_add_subregion_overlap(pcms->rom_memory,
PC_ROM_MIN_VGA,
option_rom_mr,
1);
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 3716f98..255bcbb 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -82,9 +82,6 @@ static void pc_init1(MachineState *machine)
BusState *idebus[MAX_IDE_BUS];
ISADevice *rtc_state;
ISADevice *floppy;
- MemoryRegion *ram_memory;
- MemoryRegion *pci_memory;
- MemoryRegion *rom_memory;
DeviceState *icc_bridge;
FWCfgState *fw_cfg = NULL;
PcGuestInfo *guest_info;
@@ -125,7 +122,7 @@ static void pc_init1(MachineState *machine)
}
if (xen_enabled() && xen_hvm_init(&below_4g_mem_size, &above_4g_mem_size,
- &ram_memory) != 0) {
+ &pcms->ram_memory) != 0) {
fprintf(stderr, "xen hardware virtual machine initialisation
failed\n");
exit(1);
}
@@ -141,12 +138,12 @@ static void pc_init1(MachineState *machine)
}
if (pci_enabled) {
- pci_memory = g_new(MemoryRegion, 1);
- memory_region_init(pci_memory, NULL, "pci", UINT64_MAX);
- rom_memory = pci_memory;
+ pcms->pci_memory = g_new(MemoryRegion, 1);
+ memory_region_init(pcms->pci_memory, NULL, "pci", UINT64_MAX);
+ pcms->rom_memory = pcms->pci_memory;
} else {
- pci_memory = NULL;
- rom_memory = system_memory;
+ pcms->pci_memory = NULL;
+ pcms->rom_memory = system_memory;
}
guest_info = pc_guest_info_init(below_4g_mem_size, above_4g_mem_size);
@@ -168,7 +165,7 @@ static void pc_init1(MachineState *machine)
if (!xen_enabled()) {
fw_cfg = pc_memory_init(machine, system_memory,
below_4g_mem_size, above_4g_mem_size,
- rom_memory, &ram_memory, guest_info);
+ guest_info);
}
gsi_state = g_malloc0(sizeof(*gsi_state));
@@ -185,7 +182,7 @@ static void pc_init1(MachineState *machine)
system_memory, system_io, machine->ram_size,
below_4g_mem_size,
above_4g_mem_size,
- pci_memory, ram_memory);
+ pcms->pci_memory, pcms->ram_memory);
} else {
pci_bus = NULL;
i440fx_state = NULL;
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index d978567..f8ea2b5 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -63,9 +63,6 @@ static void pc_q35_init(MachineState *machine)
BusState *idebus[MAX_SATA_PORTS];
ISADevice *rtc_state;
ISADevice *floppy;
- MemoryRegion *pci_memory;
- MemoryRegion *rom_memory;
- MemoryRegion *ram_memory;
GSIState *gsi_state;
ISABus *isa_bus;
qemu_irq *cpu_irq;
@@ -115,7 +112,7 @@ static void pc_q35_init(MachineState *machine)
}
if (xen_enabled() && xen_hvm_init(&below_4g_mem_size, &above_4g_mem_size,
- &ram_memory) != 0) {
+ &pcms->ram_memory) != 0) {
fprintf(stderr, "xen hardware virtual machine initialisation
failed\n");
exit(1);
}
@@ -131,12 +128,12 @@ static void pc_q35_init(MachineState *machine)
/* pci enabled */
if (pci_enabled) {
- pci_memory = g_new(MemoryRegion, 1);
- memory_region_init(pci_memory, NULL, "pci", UINT64_MAX);
- rom_memory = pci_memory;
+ pcms->pci_memory = g_new(MemoryRegion, 1);
+ memory_region_init(pcms->pci_memory, NULL, "pci", UINT64_MAX);
+ pcms->rom_memory = pcms->pci_memory;
} else {
- pci_memory = NULL;
- rom_memory = get_system_memory();
+ pcms->pci_memory = NULL;
+ pcms->rom_memory = get_system_memory();
}
guest_info = pc_guest_info_init(below_4g_mem_size, above_4g_mem_size);
@@ -155,8 +152,7 @@ static void pc_q35_init(MachineState *machine)
/* allocate ram and load rom/bios */
if (!xen_enabled()) {
pc_memory_init(machine, get_system_memory(),
- below_4g_mem_size, above_4g_mem_size,
- rom_memory, &ram_memory, guest_info);
+ below_4g_mem_size, above_4g_mem_size, guest_info);
}
/* irq lines */
@@ -173,8 +169,8 @@ static void pc_q35_init(MachineState *machine)
q35_host = Q35_HOST_DEVICE(qdev_create(NULL, TYPE_Q35_HOST_DEVICE));
object_property_add_child(qdev_get_machine(), "q35", OBJECT(q35_host),
NULL);
- q35_host->mch.ram_memory = ram_memory;
- q35_host->mch.pci_address_space = pci_memory;
+ q35_host->mch.ram_memory = pcms->ram_memory;
+ q35_host->mch.pci_address_space = pcms->pci_memory;
q35_host->mch.system_memory = get_system_memory();
q35_host->mch.address_space_io = get_system_io();
q35_host->mch.below_4g_mem_size = below_4g_mem_size;
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 38d571b..3b0f886 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -32,6 +32,9 @@ struct PCMachineState {
/* <public> */
ram_addr_t hotplug_memory_base;
MemoryRegion hotplug_memory;
+ MemoryRegion *ram_memory;
+ MemoryRegion *pci_memory;
+ MemoryRegion *rom_memory;
HotplugHandler *acpi_dev;
@@ -208,8 +211,6 @@ FWCfgState *pc_memory_init(MachineState *machine,
MemoryRegion *system_memory,
ram_addr_t below_4g_mem_size,
ram_addr_t above_4g_mem_size,
- MemoryRegion *rom_memory,
- MemoryRegion **ram_memory,
PcGuestInfo *guest_info);
qemu_irq *pc_allocate_cpu_irq(void);
DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus);
--
1.9.3
- [Qemu-devel] [RFC v3 25/35] pc: Move has_acpi_build to PCMachineClass, (continued)
- [Qemu-devel] [RFC v3 25/35] pc: Move has_acpi_build to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 26/35] pc: Move has_pci_info to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 27/35] pc: Move gigabyte_align to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 28/35] pc: Move has_reserved_memory to PCMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 30/35] piix: Eliminate pc_init_pci(), Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 29/35] pc: Move option_rom_has_mr/rom_file_has_mr to MachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 31/35] piix: Introduce struct PCI440FXMachineClass, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 33/35] pc: Eliminate empty or trivial compat functions, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 32/35] pc: Create common machine init function, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 34/35] piix: Move compat/init functions closer to corresponding class_init, Eduardo Habkost, 2014/07/04
- [Qemu-devel] [RFC v3 35/35] pc: Move {ram, pci, rom}_memory variables to PCMachineState,
Eduardo Habkost <=