Messages in this thread |  | | | Date | Sat, 12 Jun 2010 14:45:22 -0700 | | From | Josh Triplett <> | | Subject | Re: Bug#584846: Detects only 64MB and fails to boot on Intel Green City board if e820 hooked by GRUB2 |
| |
On Sat, Jun 12, 2010 at 01:41:38PM -0700, H. Peter Anvin wrote: > On 06/12/2010 11:55 AM, Josh Triplett wrote: > >> > >> It's kind of hard to know what is involved, since clearly it relates to > >> Grub2, which -- how do I say this politely -- seems to excel at doing > >> things in the most inferior way possible. This is a great example of that. > >> > >> The most likely reason it fails is because Grub2 uses ACPI 3-style reads > >> of the board memory map, gets wrong results for the same reasons the > >> kernel do, and then pass then downstream to the kernel. As such, there > >> is absolutely nothing the kernel can do about it. > > > > grub2 doesn't do ACPI 3 reads; it always asks for 20 bytes, not 24. > > > > Also, note that it works with older Linux kernels (before the commit in > > question) and fails with newer ones. That doesn't rule out the > > possibility of a grub bug instead of a Linux bug, but since older Linux > > somehow coped with the situation, it seems like a regression that newer > > Linux cannot cope. > > > > It's a regression of sorts, sure; but the new Linux code also boots on > real hardware which it didn't boot before. Since this requires Grub2 > plus specific hardware, it is hard for me to track down what the problem > might be, but a good step on the way might be to use the Grub2 boot > procedure (with the drive remapping) to chainboot Syslinux, and run > meminfo.c32 which is a memory report debugging tool; it might be able to > give some answers at least.
Will do.
- Josh Triplett
|  |