Re: Bug#584846: Detects only 64MB and fails to boot on Intel Green City board if e820 hooked by GRUB2

Josh Triplett
2010-06-12T21:46:08Z

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