bugGNU GRUB - Bugs: bug #38597, MTRR inconsistency between BSP and...


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

bug #38597: MTRR inconsistency between BSP and APs

Submitter:  Helge Wagner <helge>
Submitted:  Tue 26 Mar 2013 01:02:26 PM UTC
Votes: 50
Category:  Booting Severity:  Major
Priority:  5 - Normal Item Group:  Software Error
Status:  None Privacy:  Public
Assigned to:  None Originator Name: 
Open/Closed:  Open Release:  other
Release:  Reproducibility:  Every Time
Planned Release:  2.03+

Wed 02 Mar 2016 02:42:22 PM UTC, comment #4: 

Check state before release

Vladimir Serbinenko <phcoder>
Group administrator
Sat 31 Jan 2015 11:50:22 PM UTC, comment #3: 

Hi. I'm hit by the same bug. This message started to appear in dmesg just after my switch to grub2.

Thomas Capricelli <orzel>
Fri 12 Apr 2013 07:31:56 AM UTC, comment #2: 

I will try it.
Can you give me some hints how to build/install the latest revision on debian or ubuntu?
Is there an easy way to write some debug messages to a serial console?

Helge Wagner <helge>
Mon 01 Apr 2013 12:23:44 AM UTC, comment #1: 

GRUB is meant to disable this mtrr entry before handing over to kernel (in get_info_and_fini / vbe_fini). Can you look why this doesn't happen?

Vladimir Serbinenko <phcoder>
Group administrator
Tue 26 Mar 2013 01:02:26 PM UTC, original submission:  

As a BIOS/UEFI Firmware engineer I was looking through the boot log of an OpenSuSE 12.3 system to search for error messages which might indicate failures in our UEFI Firmware.
On our VIA based system I found this one:
"mtrr: your CPUs had inconsistent variable MTRR settings"

Further researching I found that this is caused by grub2 (the grub2 used by OpenSuSE12.3; I am not sure which release that is): If I boot-up my OpenSuSE through PXELINUX (just loaded kernel and initrd through tftp, the rest of the system still on local hard disk), then the error message is gone.
Looking into the source code of grub2 I found the root cause of the problem:

"grub-core/video/i386/pc/vbe.c" has a function "grub_vbe_enable_mtrr()" which sets a WC MTRR if the framebuffer is not already covered by a MTRR.
It does this on BSP CPU only. So after this code is run, the MTRRs between BSP and APs are inconsistent.

Helge Wagner <helge>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by orzel (Voted in favor of this item)
  • -email is unavailable- added by orzel (Posted a comment)
  • -email is unavailable- added by phcoder (Posted a comment)
  • -email is unavailable- added by helge (Submitted the item)

    There are 50 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.


    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-03-05 phcoder Planned Release2.02 2.03+
    2016-03-02 phcoder Planned ReleaseNone 2.02
    2015-01-31 orzel Carbon-Copy- Added orzel

    Back to the top

    Powered by Savane 3.13-9c15.
    Corresponding source code