|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Slight fix to BIOS e820 bug workaround. Remove the check
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 5baa96bedc13924e9ff4c04ebedcac4e8a0e4da4
# Parent 69b30657132e5fd89cbe19765ad3e01a7ed8222c
Slight fix to BIOS e820 bug workaround. Remove the check
for whether e820 list is below 1MB: all bootloaders place
it below 1MB so teh check is ineffective and, in any case,
SYSLINUX has the same issue as GRUB (does not pre-initialize
the memory area that e820 function writes to).
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
xen-unstable cset: 3dc1c23dd5085ec0fc7dbfa5e4f052ddfa4e4260
committer: Robert Read <robert@xxxxxxxxxxxxx>
diff -r 69b30657132e -r 5baa96bedc13 xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c Thu Dec 15 19:11:41 2005
+++ b/xen/arch/x86/setup.c Thu Dec 15 19:57:27 2005
@@ -315,19 +315,15 @@
memory_map_t *map = __va(mbi->mmap_addr + bytes);
/*
- * This is a gross workaround for a BIOS/GRUB bug. GRUB does
+ * This is a gross workaround for a BIOS bug. Some bootloaders do
* not write e820 map entries into pre-zeroed memory. This is
* okay if the BIOS fills in all fields of the map entry, but
* some broken BIOSes do not bother to write the high word of
* the length field if the length is smaller than 4GB. We
* detect and fix this by flagging sections below 4GB that
- * appear to be larger than 4GB in size. We disable this check
- * for mbootpack and syslinux (which we can detect because they
- * place the mmap_addr list above 1MB in memory).
+ * appear to be larger than 4GB in size.
*/
- if ( (mbi->mmap_addr < 0x100000) &&
- (map->base_addr_high == 0) &&
- (map->length_high != 0) )
+ if ( (map->base_addr_high == 0) && (map->length_high != 0) )
{
e820_warn = 1;
map->length_high = 0;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
|
|
|
|