Grub don't get the right size of memory on some sytems. So if you are using XEN you are not able to address the real physical memory size. BUGREPORT from Robert A. Klahn: Description of problem: Sometimes, grub does not recognize the entire e820 memory map, when the map is not provided by the BIOS in the multiboot information data structure. Ultimately, this appears to be an over-optimization by the compiler when building grub, in combination with buggy BIOS. The result is that some downstream kernels (in my particular case, the Xen kernel) does not recognize all the memory available on a system. Version-Release number of selected component (if applicable): grub-0.97-13 How reproducible: From the lack of discussion on the Fedora and Xen mailing lists, I presume this problem is rare in the real world, and may be hard to reproduce. The machine this happens on for me is has two Dual-Core AMD Opteron 2210 w/16GB of memory, using an American Megatrends BIOS. Upon boot on an unpatched grub, Xen only recognizes slightly less than 4GB. The Multiboot information data structure has flag for the mem_lower/mem_upper fields set (and Xen memory detection matches the values in these fields), and does not have the flag for memory map set. Patch to fix problem: --- grub-0.97/stage2/common.c.e820 2007-07-30 11:36:19.000000000 -0800 +++ grub-0.97/stage2/common.c 2007-07-30 11:36:55.000000000 -0800 @@ -142,6 +142,7 @@ init_bios_info (void) { #ifndef STAGE1_5 - unsigned long cont, memtmp, addr; + unsigned long memtmp, addr; + volatile unsigned long cont; int drive; #endif Reproducible: Always It is importan for XEN to work
Looks like Bug 99897
In -r5, please test it from package.mask.