On 11/01/2010 10:14 AM, Alex Williamson wrote:
Register the actual VM RAM using the new API Signed-off-by: Alex Williamson<alex.williamson@xxxxxxxxxx> --- hw/pc.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/pc.c b/hw/pc.c index 69b13bf..0ea6d10 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -912,14 +912,14 @@ void pc_memory_init(ram_addr_t ram_size, /* allocate RAM */ ram_addr = qemu_ram_alloc(NULL, "pc.ram", below_4g_mem_size + above_4g_mem_size); - cpu_register_physical_memory(0, 0xa0000, ram_addr); - cpu_register_physical_memory(0x100000, - below_4g_mem_size - 0x100000, - ram_addr + 0x100000); + + qemu_ram_register(0, 0xa0000, ram_addr); + qemu_ram_register(0x100000, below_4g_mem_size - 0x100000, + ram_addr + 0x100000); #if TARGET_PHYS_ADDR_BITS> 32 if (above_4g_mem_size> 0) { - cpu_register_physical_memory(0x100000000ULL, above_4g_mem_size, - ram_addr + below_4g_mem_size); + qemu_ram_register(0x100000000ULL, above_4g_mem_size, + ram_addr + below_4g_mem_size); }
Take a look at the memory shadowing in the i440fx. The regions of memory in the BIOS area can temporarily become RAM.
That's because there is normally RAM backing this space but the memory controller redirects writes to the ROM space.
Not sure the best way to handle this, but the basic concept is, RAM always exists but if a device tries to access it, it may or may not be accessible as RAM at any given point in time.
Regards, Anthony Liguori
#endif
-- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html