Red Hat Bugzilla – Bug 462572
RHEL 5.1 show error msg of "PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved" during boot
Last modified: 2012-03-27 08:57:00 EDT
Description of problem:
On our system with RHEL 5.1 (X86_64 XEN), the following 2 error messages displayed during boot:
PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved
PCI: Not using MMCONFIG.
How could we fix this issue ?
ps. The steps to reproduce:
1. Install RHEL5U1-x86_64 XEN
2. Boot into OS
3. During tje process of booting , the error message was found
Created attachment 316929 [details]
console screen of "PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved"
This seems like a BIOS bug, so you might want to check with your hardware vendor about updated BIOS. In any case, we are going to need a lot more information than this; we need to know what type of hardware it is, what version of the kernel you are running, we need a complete dmesg and xm dmesg output, and we need to know exactly what the problem that the message is causing you.
Although the system displayes error messages of "PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved", it works normally. According to Debian bug report http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480513 , this bug is fixed in version 2.6.25-1. After verifying with new Linux kernel linux-22.214.171.124.tar.bz2, the above dummy error messages do not appear again.
In my case the dmesg shows:
Linux version 2.6.18-121.el5xen (firstname.lastname@example.org) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)) #1 SMP Mon Oct 27 22:03:03 EDT 2008
BIOS-provided physical RAM map:
Xen: 0000000000000000 - 00000000f146d000 (usable)
No dock devices found.
ACPI: bus type pci registered
PCI: BIOS Bug: MCFG area at e0000000 is not E820-reserved <-----------
PCI: Not using MMCONFIG.
PCI: Using configuration type 1
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
but if you check /proc/iomem it shows as reserved:
# cat /proc/iomem
7f78e000-7f78ffff : reserved
7f790000-7f79dfff : ACPI Tables
7f79e000-7f7cffff : ACPI Non-volatile Storage
7f7d0000-7f7dffff : reserved
7f7ec000-7fffffff : reserved
e0000000-efffffff : reserved <---------
and on xen dmesg it shows as reserved too:
(XEN) Disc information:
(XEN) Found 0 MBR signatures
(XEN) Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN) 0000000000000000 - 000000000009a800 (usable)
(XEN) 000000000009a800 - 00000000000a0000 (reserved)
(XEN) 00000000000e0000 - 0000000000100000 (reserved)
(XEN) 0000000000100000 - 000000007f780000 (usable)
(XEN) 000000007f78e000 - 000000007f790000 type 9
(XEN) 000000007f790000 - 000000007f79e000 (ACPI data)
(XEN) 000000007f79e000 - 000000007f7d0000 (ACPI NVS)
(XEN) 000000007f7d0000 - 000000007f7e0000 (reserved)
(XEN) 000000007f7ec000 - 0000000080000000 (reserved)
(XEN) 00000000e0000000 - 00000000f0000000 (reserved) <---------
(XEN) 00000000fee00000 - 00000000fee01000 (reserved)
(XEN) 00000000ffb00000 - 0000000100000000 (reserved)
(XEN) 0000000100000000 - 0000000380000000 (usable)
(XEN) System RAM: 12279MB (12573800kB)
(XEN) Xen heap: 14MB (14592kB)
The upstream code changed a bit on this commit:
Can you say if that message "PCI: BIOS Bug: MCFG area at e0000000 is
not E820-reserved" is just a bogus message or a bug?
Right, I see. Yes, I see it on all of my boxes as well. I should have looked closer at the original report. It's basically a bogus warning. What's going on is that the e820 map that the hypervisor is exposing to dom0 looks like a completely continuous set of RAM, with no reserved areas, so MCFG area message is just bogus. When you do "cat /proc/iomem", you are actually seeing the "real" map of the system, as the hypervisor sees it, which is why you see it reserved. It's not really a problem; if it's causing a lot of problems with customers, we could consider just putting those messages under a #ifdef CONFIG_XEN. What do you think?
Created attachment 333659 [details]
Patch to silence mmconfig under Xen
Simple patch to silence MMCONFIG warnings under linux, since the map passed to the dom0 or domU will always be missing the MCFG area.
In your comment #5 you have suggested putting BIOS Bug messages under "#ifdef CONFIG_XEN". But the attachment you have included in comment #8 shows the inclusion of "#ifndef CONFIG_XEN". Does this mean "PCI: BIOS bug" message will be displayed when system is booted with vanilla kernel and not xen kernel?
Yes, I slightly mis-spoke. The thing is, under a bare-metal, non-xen, kernel, we *do* want to display this message; it actually indicates a problem with the BIOS. However, for a Xen kernel, it makes no sense since that area will never be reserved (because the e820 map provided by Xen to the dom0 never has reserved regions in it). Since the Xen and non-Xen kernel share the mmconfig code, this means we need to wrap the message in a #ifndef CONFIG_XEN.
Thanks Chris for the explanation. But, could you tell what changes are expected from the BIOS for this problem to go away...since there are so many different BIOSes available today...and so many different motherboards.
I don't understand your question. Are you asking about the Xen kernel, or the bare-metal kernel? And what "changes" are you expecting in the BIOS?
re: comment #11, I think there is a big misunderstanding here. The bug report is about the Xen kernel producing a message that occurs due to the environment provided to it by the hypervisor. The fix addresses that. It prevents a meaningless message in that environment.
The message should still be printed out when NOT running on top of a hypervisor as it indicates a problem with the memory map provided by the hardware bios. If you see the message in that case you need to get an updated bios or file a separate bug.
~~ Attention - RHEL 5.4 Beta Released! ~~
RHEL 5.4 Beta has been released! There should be a fix present in the Beta release that addresses this particular request. Please test and report back results here, at your earliest convenience. RHEL 5.4 General Availability release is just around the corner!
If you encounter any issues while testing Beta, please describe the issues you have encountered and set the bug into NEED_INFO. If you encounter new issues, please clone this bug to open a new issue and request it be reviewed for inclusion in RHEL 5.4 or a later update, if it is not of urgent severity.
Please do not flip the bug status to VERIFIED. Only post your verification results, and if available, update Verified field with the appropriate value.
Questions can be posted to this bug or your customer or partner representative.
Created attachment 351511 [details]
dmesg and /proc/iomem output from RHEL5.4 setup (32/64-bit) running bare-metal, pae and xen kernels.
Verified the bug with RHEL 5.4 Beta (snapshot-1) images. "PCI BIOS Bug" message is no longer seen with xen kernel on both 32-bit/64-bit.
*** Bug 514647 has been marked as a duplicate of this bug. ***
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.