blob: 6de2d17adbcbaf2fda2e15c60df6912faf611112 [file] [log] [blame]
From: Prarit Bhargava <>
Date: Wed, 11 May 2016 12:27:15 -0400
Subject: x86/PCI: Mark Broadwell-EP Home Agent 1 as having non-compliant BARs
commit da77b67195de1c65bef4908fa29967c4d0af2da2 upstream.
Commit b894157145e4 ("x86/PCI: Mark Broadwell-EP Home Agent & PCU as having
non-compliant BARs") marked Home Agent 0 & PCU has having non-compliant
BARs. Home Agent 1 also has non-compliant BARs.
Mark Home Agent 1 as having non-compliant BARs so the PCI core doesn't
touch them.
The problem with these devices is documented in the Xeon v4 specification
BDF2 PCI BARs in the Home Agent Will Return Non-Zero Values
During Enumeration
Problem: During system initialization the Operating System may access
the standard PCI BARs (Base Address Registers). Due to
this erratum, accesses to the Home Agent BAR registers (Bus
1; Device 18; Function 0,4; Offsets (0x14-0x24) will return
non-zero values.
Implication: The operating system may issue a warning. Intel has not
observed any functional failures due to this erratum.
Fixes: b894157145e4 ("x86/PCI: Mark Broadwell-EP Home Agent & PCU as having non-compliant BARs")
Signed-off-by: Prarit Bhargava <>
Signed-off-by: Bjorn Helgaas <>
CC: Thomas Gleixner <>
CC: Ingo Molnar <>
CC: "H. Peter Anvin" <>
CC: Andi Kleen <>
Signed-off-by: Ben Hutchings <>
arch/x86/pci/fixup.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/arch/x86/pci/fixup.c
+++ b/arch/x86/pci/fixup.c
@@ -539,9 +539,16 @@ static void __devinit twinhead_reserve_k
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x27B9, twinhead_reserve_killing_zone);
+ * Broadwell EP Home Agent BARs erroneously return non-zero values when read.
+ *
+ * See
+ * entry BDF2.
+ */
static void pci_bdwep_bar(struct pci_dev *dev)
dev->non_compliant_bars = 1;