From: Josh Triplett <josh@joshtriplett.org>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ben Hutchings <ben@decadent.org.uk>,
x86@kernel.org, 584846@bugs.debian.org,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: Bug#584846: Detects only 64MB and fails to boot on Intel Green City board if e820 hooked by GRUB2
Date: Sat, 12 Jun 2010 11:55:39 -0700 [thread overview]
Message-ID: <20100612185538.GA4511@feather> (raw)
In-Reply-To: <4C13D1E7.7060604@zytor.com>
On Sat, Jun 12, 2010 at 11:28:55AM -0700, H. Peter Anvin wrote:
> On 06/12/2010 06:58 AM, Ben Hutchings wrote:
> > Josh Triplett reported this problem with memory sizing:
> >
> >>
> >> A kernel built from c549e71d073a6e9a4847497344db28a784061455 finds <64MB
> >> of RAM; a kernel built from c549e71d073a6e9a4847497344db28a784061455^
> >> successfully finds all 4GB of RAM.
> >>
> >> Also note that newer upstream kernels, including v2.6.35-rc3, fail as
> >> well. Since later kernels revert part of the above commit, the issue
> >> must lie with the parts of the commit not reverted.
> >>
> >> And, again, I can reproduce this using the stock upstream GRUB2 1.98
> >> release built from source, by booting it from a USB key, and then
> >> booting the disk MBR via:
> >>
> >> set root=(hd1)
> >> drivemap (hd1) (hd0)
> >> chainloader +1
> >> boot
> >>
> >> Nothing special about drivemap here; anything that uses grub's mmap
> >> module to reserve memory via e820 (GRUB_MACHINE_MEMORY_RESERVED) will
> >> cause grub to hook e820 and trigger this bug. However, in stock grub,
> >> only drivemap does this.
> >>
>
> 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.
- Josh Triplett
next prev parent reply other threads:[~2010-06-12 18:59 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20100612060322.29053.94187.reportbug@feather>
2010-06-12 13:58 ` Bug#584846: Detects only 64MB and fails to boot on Intel Green City board if e820 hooked by GRUB2 Ben Hutchings
2010-06-12 18:28 ` H. Peter Anvin
2010-06-12 18:55 ` Josh Triplett [this message]
2010-06-12 20:41 ` H. Peter Anvin
2010-06-12 21:45 ` Josh Triplett
[not found] ` <20100612222634.GA1785@feather>
2010-06-12 23:01 ` H. Peter Anvin
2010-06-12 23:02 ` H. Peter Anvin
2010-06-13 0:07 ` Josh Triplett
2010-06-13 0:16 ` H. Peter Anvin
[not found] ` <20100622052236.GA9130@feather>
2010-06-22 6:07 ` H. Peter Anvin
2010-06-22 16:07 ` Josh Triplett
2010-06-24 7:27 ` Josh Triplett
2010-06-24 14:18 ` H. Peter Anvin
2010-06-24 19:01 ` Josh Triplett
2010-06-24 20:58 ` H. Peter Anvin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100612185538.GA4511@feather \
--to=josh@joshtriplett.org \
--cc=584846@bugs.debian.org \
--cc=ben@decadent.org.uk \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox