diff options
author | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-02-11 14:55:47 +0000 |
---|---|---|
committer | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-02-11 14:55:47 +0000 |
commit | 7217e1240340ab49878c4e415df40aa0c6376eb9 (patch) | |
tree | 9726aea8c1b85636646275dc4b4598f9c66934f4 /pc-bios/bios-pq/0007_kvm-bios-cleanup-consolidate-above-4g-memory-parsing.patch | |
parent | 2edd089f8a265c2fab92da118dd89c1f59f437a5 (diff) |
Update PC BIOS to latest bits from Bochs
A number of patches were merged since we last pulled.
Thanks to Marcelo Tosatti for rebasing the existing patches and testing.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6589 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'pc-bios/bios-pq/0007_kvm-bios-cleanup-consolidate-above-4g-memory-parsing.patch')
-rw-r--r-- | pc-bios/bios-pq/0007_kvm-bios-cleanup-consolidate-above-4g-memory-parsing.patch | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/pc-bios/bios-pq/0007_kvm-bios-cleanup-consolidate-above-4g-memory-parsing.patch b/pc-bios/bios-pq/0007_kvm-bios-cleanup-consolidate-above-4g-memory-parsing.patch deleted file mode 100644 index 3ce0c05b3c..0000000000 --- a/pc-bios/bios-pq/0007_kvm-bios-cleanup-consolidate-above-4g-memory-parsing.patch +++ /dev/null @@ -1,58 +0,0 @@ -cleanup/consolidate above 4G memory parsing (Alex Williamson) - -Signed-off-by: Alex Williamson <alex.williamson@hp.com> -Signed-off-by: Avi Kivity <avi@redhat.com> -Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> - -Index: bochs/bios/rombios32.c -=================================================================== ---- bochs.orig/bios/rombios32.c -+++ bochs/bios/rombios32.c -@@ -427,7 +427,7 @@ uint32_t cpuid_signature; - uint32_t cpuid_features; - uint32_t cpuid_ext_features; - unsigned long ram_size; --uint64_t above4g_ram_size; -+uint64_t ram_end; - uint8_t bios_uuid[16]; - #ifdef BX_USE_EBDA_TABLES - unsigned long ebda_cur_addr; -@@ -562,9 +562,9 @@ void setup_mtrr(void) - wrmsr_smp(MTRRphysMask_MSR(i), (~vmask & 0xfffffff000ull) | 0x800); - vbase += vmask + 1; - } -- for (vbase = 1ull << 32; i < vcnt && vbase < above4g_ram_size; ++i) { -+ for (vbase = 1ull << 32; i < vcnt && vbase < ram_end; ++i) { - vmask = (1ull << 40) - 1; -- while (vbase + vmask + 1 > above4g_ram_size) -+ while (vbase + vmask + 1 > ram_end) - vmask >>= 1; - wrmsr_smp(MTRRphysBase_MSR(i), vbase | 6); - wrmsr_smp(MTRRphysMask_MSR(i), (~vmask & 0xfffffff000ull) | 0x800); -@@ -582,18 +582,19 @@ void ram_probe(void) - ram_size = (cmos_readb(0x30) | (cmos_readb(0x31) << 8)) * 1024 + - 1 * 1024 * 1024; - if (cmos_readb(0x5b) | cmos_readb(0x5c) | cmos_readb(0x5d)) -- above4g_ram_size = ((uint64_t)cmos_readb(0x5b) << 16) | -- ((uint64_t)cmos_readb(0x5c) << 24) | ((uint64_t)cmos_readb(0x5d) << 32); -+ ram_end = (((uint64_t)cmos_readb(0x5b) << 16) | -+ ((uint64_t)cmos_readb(0x5c) << 24) | -+ ((uint64_t)cmos_readb(0x5d) << 32)) + (1ull << 32); -+ else -+ ram_end = ram_size; - -- if (above4g_ram_size) -- above4g_ram_size += 1ull << 32; -+ BX_INFO("end of ram=%ldMB\n", ram_end >> 20); - - BX_INFO("ram_size=0x%08lx\n", ram_size); - #ifdef BX_USE_EBDA_TABLES - ebda_cur_addr = ((*(uint16_t *)(0x40e)) << 4) + 0x380; - BX_INFO("ebda_cur_addr: 0x%08lx\n", ebda_cur_addr); - #endif -- BX_INFO("top of ram %ldMB\n", above4g_ram_size >> 20); - setup_mtrr(); - } - - - |