[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #38597] MTRR inconsistency between BSP and APs
From: |
Helge Wagner |
Subject: |
[bug #38597] MTRR inconsistency between BSP and APs |
Date: |
Tue, 26 Mar 2013 13:02:28 +0000 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0 |
URL:
<http://savannah.gnu.org/bugs/?38597>
Summary: MTRR inconsistency between BSP and APs
Project: GNU GRUB
Submitted by: helge
Submitted on: Di 26 Mär 2013 13:02:26 GMT
Category: Booting
Severity: Major
Priority: 5 - Normal
Item Group: Software Error
Status: None
Privacy: Public
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release:
Release: other
Reproducibility: Every Time
Planned Release: None
_______________________________________________________
Details:
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.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?38597>
_______________________________________________
Nachricht gesendet von/durch Savannah
http://savannah.gnu.org/
- [bug #38597] MTRR inconsistency between BSP and APs,
Helge Wagner <=