Remove explicit calls to kvm_cpu_register_physical_memory, and bundle it together with qemu's memory registration function.
Signed-off-by: Glauber Costa <[EMAIL PROTECTED]> --- qemu/exec.c | 5 +++++ qemu/hw/ipf.c | 8 -------- qemu/hw/pc.c | 23 ++--------------------- qemu/hw/ppc440_bamboo.c | 2 -- 4 files changed, 7 insertions(+), 31 deletions(-) diff --git a/qemu/exec.c b/qemu/exec.c index bf037f0..b32f2ff 100644 --- a/qemu/exec.c +++ b/qemu/exec.c @@ -2203,6 +2203,11 @@ void cpu_register_physical_memory(target_phys_addr_t start_addr, kqemu_set_phys_mem(start_addr, size, phys_offset); } #endif +#ifdef USE_KVM + if (kvm_enabled()) + kvm_cpu_register_physical_memory(start_addr, size, phys_offset); +#endif + size = (size + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK; end_addr = start_addr + (target_phys_addr_t)size; for(addr = start_addr; addr != end_addr; addr += TARGET_PAGE_SIZE) { diff --git a/qemu/hw/ipf.c b/qemu/hw/ipf.c index d70af90..5227385 100644 --- a/qemu/hw/ipf.c +++ b/qemu/hw/ipf.c @@ -420,18 +420,14 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, if (kvm_enabled()) { ram_addr = qemu_ram_alloc(0xa0000); cpu_register_physical_memory(0, 0xa0000, ram_addr); - kvm_cpu_register_physical_memory(0, 0xa0000, ram_addr); ram_addr = qemu_ram_alloc(0x20000); // Workaround 0xa0000-0xc0000 ram_addr = qemu_ram_alloc(0x40000); cpu_register_physical_memory(0xc0000, 0x40000, ram_addr); - kvm_cpu_register_physical_memory(0xc0000, 0x40000, ram_addr); ram_addr = qemu_ram_alloc(ram_size - 0x100000); cpu_register_physical_memory(0x100000, ram_size - 0x100000, ram_addr); - kvm_cpu_register_physical_memory(0x100000, ram_size - 0x100000, - ram_addr); } else { ram_addr = qemu_ram_alloc(ram_size); @@ -444,9 +440,6 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, if (above_4g_mem_size > 0) { ram_addr = qemu_ram_alloc(above_4g_mem_size); cpu_register_physical_memory(0x100000000, above_4g_mem_size, ram_addr); - if (kvm_enabled()) - kvm_cpu_register_physical_memory(0x100000000, above_4g_mem_size, - ram_addr); } /*Load firware to its proper position.*/ @@ -468,7 +461,6 @@ static void ipf_init1(ram_addr_t ram_size, int vga_ram_size, fw_image_start = fw_start + GFW_SIZE - image_size; cpu_register_physical_memory(GFW_START, GFW_SIZE, fw_offset); - kvm_cpu_register_physical_memory(GFW_START,GFW_SIZE, fw_offset); memcpy(fw_image_start, image, image_size); free(image); diff --git a/qemu/hw/pc.c b/qemu/hw/pc.c index 8a50096..bc4585c 100644 --- a/qemu/hw/pc.c +++ b/qemu/hw/pc.c @@ -769,9 +769,7 @@ static int load_option_rom(const char *filename, int offset, int type) cpu_register_physical_memory(0xd0000 + offset, size, option_rom_offset | type); option_rom_setup_reset(0xd0000 + offset, size); - if (kvm_enabled()) - kvm_cpu_register_physical_memory(0xd0000 + offset, - size, option_rom_offset | type); + return size; } @@ -845,16 +843,13 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size, if (kvm_enabled()) { ram_addr = qemu_ram_alloc(0xa0000); cpu_register_physical_memory(0, 0xa0000, ram_addr); - kvm_cpu_register_physical_memory(0, 0xa0000, ram_addr); ram_addr = qemu_ram_alloc(0x100000 - 0xa0000); // hole ram_addr = qemu_ram_alloc(below_4g_mem_size - 0x100000); cpu_register_physical_memory(0x100000, below_4g_mem_size - 0x100000, ram_addr); - kvm_cpu_register_physical_memory(0x100000, - below_4g_mem_size - 0x100000, - ram_addr); + /* above 4giga memory allocation */ if (above_4g_mem_size > 0) { ram_addr = qemu_ram_alloc(above_4g_mem_size); @@ -870,9 +865,6 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size, cpu_register_physical_memory(0x100000000ULL, above_4g_mem_size, ram_addr); - kvm_cpu_register_physical_memory(0x100000000ULL, - above_4g_mem_size, - ram_addr); } } else { @@ -926,9 +918,6 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size, /* setup basic memory access */ cpu_register_physical_memory(0xc0000, 0x10000, vga_bios_offset | IO_MEM_ROM); - if (kvm_enabled()) - kvm_cpu_register_physical_memory(0xc0000, 0x10000, - vga_bios_offset | IO_MEM_ROM); /* map the last 128KB of the BIOS in ISA space */ isa_bios_size = bios_size; @@ -940,10 +929,6 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size, cpu_register_physical_memory(0x100000 - isa_bios_size, isa_bios_size, (bios_offset + bios_size - isa_bios_size) /* | IO_MEM_ROM */); - if (kvm_enabled()) - kvm_cpu_register_physical_memory(0x100000 - isa_bios_size, - isa_bios_size, - (bios_offset + bios_size - isa_bios_size) | IO_MEM_ROM); /* XXX: for DDIM support, "ROM space" should be writable during initialization, and (optionally) marked readonly by the BIOS @@ -962,10 +947,6 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size, /* map all the bios at the top of memory */ cpu_register_physical_memory((uint32_t)(-bios_size), bios_size, bios_offset | IO_MEM_ROM); - if (kvm_enabled()) { - kvm_cpu_register_physical_memory((uint32_t)(-bios_size), - bios_size, bios_offset | IO_MEM_ROM); - } bochs_bios_init(); diff --git a/qemu/hw/ppc440_bamboo.c b/qemu/hw/ppc440_bamboo.c index 9ff6f7d..deafc5f 100644 --- a/qemu/hw/ppc440_bamboo.c +++ b/qemu/hw/ppc440_bamboo.c @@ -93,8 +93,6 @@ void bamboo_init(ram_addr_t ram_size, int vga_ram_size, /* Register mem */ cpu_register_physical_memory(0, ram_size, 0); - if (kvm_enabled()) - kvm_cpu_register_physical_memory(0, ram_size, 0); /* load kernel with uboot loader */ printf("%s: load kernel\n", __func__); -- 1.5.5.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html