pc: Allocate all ram in a single qemu_ram_alloc()
This will benefit us when we migrate based on ramblock name since we won't be bouncing between separate blocks. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
d17b5288d9
commit
44ae28f315
22
hw/pc.c
22
hw/pc.c
|
@ -901,27 +901,23 @@ void pc_memory_init(ram_addr_t ram_size,
|
||||||
*above_4g_mem_size_p = above_4g_mem_size;
|
*above_4g_mem_size_p = above_4g_mem_size;
|
||||||
*below_4g_mem_size_p = below_4g_mem_size;
|
*below_4g_mem_size_p = below_4g_mem_size;
|
||||||
|
|
||||||
|
#if TARGET_PHYS_ADDR_BITS == 32
|
||||||
|
if (above_4g_mem_size > 0) {
|
||||||
|
hw_error("To much RAM for 32-bit physical address");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
linux_boot = (kernel_filename != NULL);
|
linux_boot = (kernel_filename != NULL);
|
||||||
|
|
||||||
/* allocate RAM */
|
/* allocate RAM */
|
||||||
ram_addr = qemu_ram_alloc(below_4g_mem_size);
|
ram_addr = qemu_ram_alloc(below_4g_mem_size + above_4g_mem_size);
|
||||||
cpu_register_physical_memory(0, 0xa0000, ram_addr);
|
cpu_register_physical_memory(0, 0xa0000, ram_addr);
|
||||||
cpu_register_physical_memory(0x100000,
|
cpu_register_physical_memory(0x100000,
|
||||||
below_4g_mem_size - 0x100000,
|
below_4g_mem_size - 0x100000,
|
||||||
ram_addr + 0x100000);
|
ram_addr + 0x100000);
|
||||||
|
#if TARGET_PHYS_ADDR_BITS > 32
|
||||||
/* above 4giga memory allocation */
|
cpu_register_physical_memory(0x100000000ULL, above_4g_mem_size,
|
||||||
if (above_4g_mem_size > 0) {
|
ram_addr + below_4g_mem_size);
|
||||||
#if TARGET_PHYS_ADDR_BITS == 32
|
|
||||||
hw_error("To much RAM for 32-bit physical address");
|
|
||||||
#else
|
|
||||||
ram_addr = qemu_ram_alloc(above_4g_mem_size);
|
|
||||||
cpu_register_physical_memory(0x100000000ULL,
|
|
||||||
above_4g_mem_size,
|
|
||||||
ram_addr);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* BIOS load */
|
/* BIOS load */
|
||||||
if (bios_name == NULL)
|
if (bios_name == NULL)
|
||||||
|
|
Loading…
Reference in New Issue