[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |