From cc8ff1316101b4e4b0bab8da9d86094db3478102 Mon Sep 17 00:00:00 2001 From: Marcelo Tosatti <mtosatti@redhat.com> Date: Fri, 3 Apr 2009 20:28:50 -0300 Subject: [PATCH 08/15] kvm: qemu: fixup 4GB+ memslot large page alignment Need to align the 4GB+ memslot after we know its address, not before. (cherry picked from commit f26d9724f253eb24e35ebb316c49a61dd7aa9b6e) Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Bugzilla: 500263 RH-Upstream-status: applied(kvm/master) Acked-by: Marcelo Tosatti <mtosatti@redhat.com> Acked-by: john cooper <john.cooper@redhat.com> Acked-by: Kevin Wolf <kwolf@redhat.com> --- qemu/hw/pc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/qemu/hw/pc.c b/qemu/hw/pc.c index cc41757..6dc8ebe 100644 --- a/qemu/hw/pc.c +++ b/qemu/hw/pc.c @@ -865,6 +865,7 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size, /* above 4giga memory allocation */ if (above_4g_mem_size > 0) { + ram_addr = qemu_ram_alloc(above_4g_mem_size); if (hpagesize) { if (ram_addr & (hpagesize-1)) { unsigned long aligned_addr; @@ -873,7 +874,6 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size, ram_addr = aligned_addr; } } - ram_addr = qemu_ram_alloc(above_4g_mem_size); cpu_register_physical_memory(0x100000000ULL, above_4g_mem_size, ram_addr); -- 1.6.3.rc4.29.g8146