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.william...@redhat.com>
---
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