|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Slight fix to BIOS e820 bug workaround. Remove the check
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 3dc1c23dd5085ec0fc7dbfa5e4f052ddfa4e4260
# Parent 47d947e07205cbbf3c355e0bdf98aa08c37b2994
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>
diff -r 47d947e07205 -r 3dc1c23dd508 xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c Fri Dec 16 03:11:41 2005
+++ b/xen/arch/x86/setup.c Fri Dec 16 03: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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-changelog] Slight fix to BIOS e820 bug workaround. Remove the check,
Xen patchbot -unstable <=
|
|
|
|
|