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

Submitted by:  Helge Wagner <helge>
Submitted on:  Tue 26 Mar 2013 01:02:26 PM UTC  
Votes:  50  
Category: BootingSeverity: Major
Priority: 5 - NormalItem Group: Software Error
Status: NonePrivacy: Public
Assigned to: NoneOriginator Name: 
Open/Closed: OpenRelease: 
Release: otherReproducibility: Every Time
Planned Release: 2.03+

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

Check state before release

Vladimir Serbinenko <phcoder>
Project 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>
Project 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>


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 orzel (Voted in favor of this item)
  • -unavailable- added by orzel (Posted a comment)
  • -unavailable- added by phcoder (Posted a comment)
  • -unavailable- added by helge (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 50 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 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 05 Mar 2017 10:42:37 PM UTCphcoderPlanned Release2.02=>2.03+
    Wed 02 Mar 2016 02:42:22 PM UTCphcoderPlanned ReleaseNone=>2.02
    Sat 31 Jan 2015 11:50:55 PM UTCorzelCarbon-Copy-=>Added orzel

    Back to the top

    Powered by Savane 3.1-cleanup1