Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 3160499aacb81f6735941eb4c372d87a > files > 582

kvm-83-164.el5_5.30.src.rpm

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