I am attaching a short patch which corrects the issue I mailed about previously with some broken (SMP only?) BIOSes reporting a zero-length addressable range at 4 GB, and throwing off GRUB's memory count (and causing a Linux kernel booted without the --no-mem-option flag to the 'kernel' command to Oops on boot). It just checks the length of the memory range in the check loop in common.c, and if it is zero bytes long, just ignores the range. Derrik Pates | Sysadmin, Douglas School | #linuxOS on EFnet [EMAIL PROTECTED] | District (dsdk12.net) | #linuxOS on OPN
--- orig/grub-0.5.96.1.cvs20010530/stage2/common.c Sun Nov 26 11:31:30 2000 +++ grub-0.5.96.1.cvs20010530/stage2/common.c Thu Aug 2 09:25:28 2001 @@ -226,7 +226,7 @@ { struct AddrRangeDesc *desc = (struct AddrRangeDesc *) addr; - if (desc->Type == MB_ARD_MEMORY + if (desc->Type == MB_ARD_MEMORY && desc->Length > 0 && desc->BaseAddr + desc->Length > max_addr) max_addr = desc->BaseAddr + desc->Length; }