kvm: bios: update SMBIOS table to report memory above 4G

Signed-off-by: Alex Williamson <[EMAIL PROTECTED]>
---

 bios/rombios32.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/bios/rombios32.c b/bios/rombios32.c
index 4821ec4..c515d4a 100755
--- a/bios/rombios32.c
+++ b/bios/rombios32.c
@@ -2023,7 +2023,8 @@ void smbios_init(void)
 {
     unsigned cpu_num, nr_structs = 0, max_struct_size = 0;
     char *start, *p, *q;
-    int memsize = low_ram_size / (1024 * 1024);
+    int memsize = (mem_top == low_ram_size) ? low_ram_size / (1024 * 1024) :
+                  (mem_top - (1ull << 32) + low_ram_size) / (1024 * 1024);
 
 #ifdef BX_USE_EBDA_TABLES
     ebda_cur_addr = align(ebda_cur_addr, 16);
@@ -2050,8 +2051,8 @@ void smbios_init(void)
         add_struct(smbios_type_4_init(p, cpu_num));
     add_struct(smbios_type_16_init(p, memsize));
     add_struct(smbios_type_17_init(p, memsize));
-    add_struct(smbios_type_19_init(p, memsize));
-    add_struct(smbios_type_20_init(p, memsize));
+    add_struct(smbios_type_19_init(p, mem_top / (1024 * 1024)));
+    add_struct(smbios_type_20_init(p, mem_top / (1024 * 1024)));
     add_struct(smbios_type_32_init(p));
     add_struct(smbios_type_127_init(p));
 


--
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

Reply via email to