bugGNU GRUB - Bugs: bug #39861, Grub2 collapses unknown e820...


You are not allowed to post comments on this tracker with your current authentification level.

bug #39861: Grub2 collapses unknown e820 memory types to reserved

Submitted by:  Andrew Lutomirski <amluto>
Submitted on:  Fri Aug 23 22:56:39 2013  
Category: BootingSeverity: Major
Priority: 5 - NormalItem Group: Action Request
Status: FixedPrivacy: Public
Assigned to: NoneOriginator Name: 
Open/Closed: ClosedRelease: 
Release: otherReproducibility: Every Time
Planned Release: None

(Jump to the original submission Jump to the original submission)

Fri Oct 18 23:26:11 2013, comment #10:

Now it works:

[ 0.000000] BIOS-e820: [mem 0x0000000480000000-0x00000004ffffffff] type 12


(And thanks for the hint about configure.ac. That wasn't the problem, but it made it more obvious what was going on.)

Andrew Lutomirski <amluto>
Fri Oct 18 23:02:20 2013, comment #9:

Please repull latest trunk: there was one other place where it was sanitized.

Vladimir Serbinenko <phcoder>
Project Administrator
Fri Oct 18 21:39:41 2013, comment #8:

You can change version in configure.ac and then it will appear over the menu.

Vladimir Serbinenko <phcoder>
Project Administrator
Fri Oct 18 18:43:23 2013, comment #7:

This appears not to have worked, but that may just mean that I'm not actually running the new, fixed version. Is there an easy way to tell from the grub prompt that I'm running the correct version of grub?

Andrew Lutomirski <amluto>
Mon Oct 14 14:36:42 2013, comment #6:

Committed fix. It wasn't that easy since it had to play well with badmem and int13h hook. Please test current trunk.

Vladimir Serbinenko <phcoder>
Project Administrator
Thu Sep 19 15:20:41 2013, comment #5:

While the specs for e820 do indeed say that you should treat unknown types as reserved (in the sense of not touching the memory they refer to), that doesn't mean you should rewrite the table to change those unknown values to reserved. While for GRUB's purposes it should treat any unknown type as reserved and not touch the memory, if it has to touch the e820 values for any reason, it should preserve the original values for forward compatibility with software that might know what the types mean.

Josh Triplett <joshtriplett>
Mon Aug 26 20:24:51 2013, comment #4:

I have the spec, but it's under NDA.

I'm not asking grub to implement the spec, though -- I just don't want it getting in the way.

Andrew Lutomirski <amluto>
Mon Aug 26 19:32:29 2013, comment #3:

Do you have a link to relevant spec?

Vladimir Serbinenko <phcoder>
Project Administrator
Mon Aug 26 19:06:41 2013, comment #2:

My board has an NVDIMM, and BIOS reports the NVDIMM mapping as e820 type 12. Stock Linux kernels treat unknown e820 types the same as reserved, and an NVDIMM-enabled kernel will see type 12 memory and use the NVDIMM. Syslinux passes type 12 straight through, but grub2 changes type 12 to type 2, breaking the whole mechanism.

Andrew Lutomirski <amluto>
Sat Aug 24 11:21:40 2013, comment #1:

What do these values represent? What are they? Why do you need them? According to ACPI spec treating unknown values differently than reserved is incorrect.

Vladimir Serbinenko <phcoder>
Project Administrator
Fri Aug 23 22:56:39 2013, original submission:

I have a BIOS which reports some nonstandard e820 memory types. Grub2 changes them all to "reserved". Please preserve them so that the OS can use them intelligently.

Andrew Lutomirski <amluto>


No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by joshtriplett (Posted a comment)
  • -unavailable- added by phcoder (Posted a comment)
  • -unavailable- added by amluto (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon Oct 14 14:36:42 2013phcoderStatusNone=>Fixed

    Back to the top

    Powered by Savane 3.1-cleanup1