diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 681ea858725949552285b9ee7a603437d1c4f8e9..0c828e414de5e7aecda36838558d0e8ccebd5580 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1285,8 +1285,6 @@ FWCfgState *xen_load_linux(PCMachineState *pcms, FWCfgState *pc_memory_init(PCMachineState *pcms, 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) @@ -1297,7 +1295,8 @@ FWCfgState *pc_memory_init(PCMachineState *pcms, FWCfgState *fw_cfg; MachineState *machine = MACHINE(pcms); - assert(machine->ram_size == below_4g_mem_size + above_4g_mem_size); + assert(machine->ram_size == pcms->below_4g_mem_size + + pcms->above_4g_mem_size); linux_boot = (machine->kernel_filename != NULL); @@ -1311,16 +1310,17 @@ FWCfgState *pc_memory_init(PCMachineState *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); + 0, pcms->below_4g_mem_size); memory_region_add_subregion(system_memory, 0, ram_below_4g); - e820_add_entry(0, below_4g_mem_size, E820_RAM); - if (above_4g_mem_size > 0) { + e820_add_entry(0, pcms->below_4g_mem_size, E820_RAM); + if (pcms->above_4g_mem_size > 0) { ram_above_4g = g_malloc(sizeof(*ram_above_4g)); memory_region_init_alias(ram_above_4g, NULL, "ram-above-4g", ram, - below_4g_mem_size, above_4g_mem_size); + pcms->below_4g_mem_size, + pcms->above_4g_mem_size); memory_region_add_subregion(system_memory, 0x100000000ULL, ram_above_4g); - e820_add_entry(0x100000000ULL, above_4g_mem_size, E820_RAM); + e820_add_entry(0x100000000ULL, pcms->above_4g_mem_size, E820_RAM); } if (!guest_info->has_reserved_memory && @@ -1353,7 +1353,7 @@ FWCfgState *pc_memory_init(PCMachineState *pcms, } pcms->hotplug_memory.base = - ROUND_UP(0x100000000ULL + above_4g_mem_size, 1ULL << 30); + ROUND_UP(0x100000000ULL + pcms->above_4g_mem_size, 1ULL << 30); if (pcms->enforce_aligned_dimm) { /* size hotplug region assuming 1G page max alignment per slot */ diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index c98635fb11578fcc5f0dba214fe7a5bcc6950d26..ce51cd1c2c0709e1feb06271ba728449899da2d8 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -179,7 +179,6 @@ static void pc_init1(MachineState *machine) /* allocate ram and load rom/bios */ if (!xen_enabled()) { pc_memory_init(pcms, system_memory, - pcms->below_4g_mem_size, pcms->above_4g_mem_size, rom_memory, &ram_memory, guest_info); } else if (machine->kernel_filename != NULL) { /* For xen HVM direct kernel boot, load linux here */ diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 79e3f9b3cdb52dace32907d1af6ee99f7ce0b99d..cd4ecc32f70c47d8c875f9c2f527028b464dbf5f 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -171,7 +171,6 @@ static void pc_q35_init(MachineState *machine) /* allocate ram and load rom/bios */ if (!xen_enabled()) { pc_memory_init(pcms, get_system_memory(), - pcms->below_4g_mem_size, pcms->above_4g_mem_size, rom_memory, &ram_memory, guest_info); } diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index a56f70c2ea9f108340ac9463ff24053bebb3c72d..d0cad87d215970ad95e25c4a7e407d9b4ce6dc90 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -184,8 +184,6 @@ FWCfgState *xen_load_linux(PCMachineState *pcms, PcGuestInfo *guest_info); FWCfgState *pc_memory_init(PCMachineState *pcms, 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);