[Resolved] No extended PCIe config space access

Issues related to hardware problems
Post Reply
Posts: 2
Joined: 2015/08/24 21:47:06

[Resolved] No extended PCIe config space access

Post by csdelane » 2015/08/24 22:02:05

I am running CentOS 7 (3.10.0-229.11.1.el7.x86_64) on an Intel motherboard DX79SR. I have the latest and greatest BIOS installed (0650 dated 03/07/2014). When the kernel loads, it complains about the address range for extended PCIe config space not being marked as reserved by the BIOS and therefore no access is possible (i.e. I can only access PCIe config space to address 0xff). In the ACPI tables dumped during boot, the address range is indeed not marked as reserved, but I find it difficult to believe it is a BIOS bug (that, and Intel pointed me to this forum). Additionally, Windows running on the same system can access extended config space. I have tried booting with pci=nocrs, pci=noacpi, pci=realloc, and acpi=off to no avail. I've definitely used CentOS 7 with other X79 chipsets and not had this problem, so it would seem to be an issue with this mobo or this BIOS. Any thoughts as to a root cause or workaround?

Thank you!

BIOS memory map (from dmesg):

Code: Select all

[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008efff] usable
[    0.000000] BIOS-e820: [mem 0x000000000008f000-0x000000000008ffff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000000090000-0x000000000009ffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000c7faefff] usable
[    0.000000] BIOS-e820: [mem 0x00000000c7faf000-0x00000000c8091fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000c8092000-0x00000000c84b0fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000c84b1000-0x00000000c85b0fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000c85b1000-0x00000000c8dd8fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000c8dd9000-0x00000000c8e58fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000c8e59000-0x00000000cb5e8fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000cb5e9000-0x00000000cb61efff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000cb61f000-0x00000000cb63dfff] usable
[    0.000000] BIOS-e820: [mem 0x00000000cb63e000-0x00000000cb66efff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000cb66f000-0x00000000cb6b8fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000cb6b9000-0x00000000cb6befff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000cb6bf000-0x00000000cb716fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000cb717000-0x00000000cb7befff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000cb7bf000-0x00000000cb7dffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000cb7e0000-0x00000000cb7f1fff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000cb7f2000-0x00000000cb7f2fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000cb7f3000-0x00000000cb7fefff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000cb7ff000-0x00000000cb7fffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000f00f8000-0x00000000f00f8fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff983000-0x00000000ff992fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffff000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000022fffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] e820: update [mem 0xc7e99018-0xc7ea8a57] usable ==> usable
[    0.000000] e820: update [mem 0xc8fc3018-0xc8fca057] usable ==> usable
[    0.000000] e820: update [mem 0xc8eea018-0xc8eed657] usable ==> usable
Specific kernel error (from dmesg):

Code: Select all

[    0.168497] ACPI: bus type PCI registered
[    0.168499] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.168546] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf0000000-0xf3ffffff] (base 0xf0000000)
[    0.168548] PCI: not using MMCONFIG
[    0.168549] PCI: Using configuration type 1 for base access
[    0.169247] ACPI: Added _OSI(Module Device)
[    0.169247] ACPI: Added _OSI(Processor Device)
[    0.169247] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.169247] ACPI: Added _OSI(Processor Aggregator Device)
[    0.170160] ACPI: EC: Look up EC in DSDT
[    0.176780] ACPI: Interpreter enabled
[    0.176784] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20130517/hwxface-571)
[    0.176787] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20130517/hwxface-571)
[    0.176794] ACPI: (supports S0 S3 S4 S5)
[    0.176795] ACPI: Using IOAPIC for interrupt routing
[    0.176803] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf0000000-0xf3ffffff] (base 0xf0000000)
[    0.177267] [Firmware Info]: PCI: MMCONFIG at [mem 0xf0000000-0xf3ffffff] not reserved in ACPI motherboard resources
[    0.177268] PCI: not using MMCONFIG
[    0.177276] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.179534] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
[    0.179538] acpi PNP0A08:00: _OSC: OS supports [ASPM ClockPM Segments MSI]
[    0.179584] acpi PNP0A08:00: _OSC: not requesting OS control; OS requires [ExtendedConfig ASPM ClockPM MSI]
[    0.179685] acpi PNP0A08:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
Last edited by csdelane on 2015/09/23 18:08:01, edited 1 time in total.

Posts: 1
Joined: 2015/09/21 15:10:45

Re: No extended PCIe config space access on Intel DX79SR

Post by eswierk » 2015/09/21 15:17:58

Try adding memmap=64M$0xf0000000 to your kernel command line. This tells the kernel to pretend that the BIOS marked the MMCONFIG area as reserved in the E820 table.

You should then see something like PCI: MMCONFIG at [mem 0xf0000000-0xf3ffffff] reserved in E820 during boot.

Posts: 2
Joined: 2015/08/24 21:47:06

Re: [Resolved] No extended PCIe config space access

Post by csdelane » 2015/09/23 18:11:29

Thank you eswierk! This resolved my issue. I now believe that this IS a bug in the BIOS and its handling of MCFG in the ACPI memory map, but for me this is an acceptable workaround. Much appreciated!

Post Reply