summaryrefslogtreecommitdiff
path: root/src/northbridge/intel/sandybridge/northbridge.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/northbridge/intel/sandybridge/northbridge.c')
-rw-r--r--src/northbridge/intel/sandybridge/northbridge.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/northbridge/intel/sandybridge/northbridge.c b/src/northbridge/intel/sandybridge/northbridge.c
index 09830de102..c718353b8d 100644
--- a/src/northbridge/intel/sandybridge/northbridge.c
+++ b/src/northbridge/intel/sandybridge/northbridge.c
@@ -127,6 +127,13 @@ static void add_fixed_resources(struct device *dev, int index)
/* Required for SandyBridge sighting 3715511 */
bad_ram_resource(dev, index++, 0x20000000 >> 10, 0x00200000 >> 10);
bad_ram_resource(dev, index++, 0x40000000 >> 10, 0x00200000 >> 10);
+
+ /* Reserve IOMMU BARs */
+ const u32 capid0_a = pci_read_config32(dev, 0xe4);
+ if (!(capid0_a & (1 << 23))) {
+ mmio_resource(dev, index++, IOMMU_BASE1 >> 10, 4);
+ mmio_resource(dev, index++, IOMMU_BASE2 >> 10, 4);
+ }
}
static void pci_domain_set_resources(device_t dev)