[coreboot] r3699 - in trunk/coreboot-v2/src: config devices
svn at coreboot.org
svn at coreboot.org
Wed Oct 29 04:15:42 CET 2008
Author: stepan
Date: 2008-10-29 04:15:42 +0100 (Wed, 29 Oct 2008)
New Revision: 3699
Modified:
trunk/coreboot-v2/src/config/Options.lb
trunk/coreboot-v2/src/devices/device.c
trunk/coreboot-v2/src/devices/pci_device.c
Log:
Changes required to the device allocator:
- leave a hole for mmapped PCIe config space if CONFIG_PCIE_CONFIGSPACE_HOLE
is set.
- Mask moving bits to 32bit when resources are not supposed above 4G. Linux
does not like this, even though the resource is disabled.
Signed-off-by: Stefan Reinauer <stepan at coresystems.de>
Acked-by: Myles Watson <mylesgw at gmail.com>
Modified: trunk/coreboot-v2/src/config/Options.lb
===================================================================
--- trunk/coreboot-v2/src/config/Options.lb 2008-10-28 22:13:38 UTC (rev 3698)
+++ trunk/coreboot-v2/src/config/Options.lb 2008-10-29 03:15:42 UTC (rev 3699)
@@ -1115,6 +1115,12 @@
# 4 for 1280x1024
end
+define CONFIG_PCIE_CONFIGSPACE_HOLE
+ default 0
+ export always
+ comment "Leave a hole for PCIe config space in the device allocator"
+end
+
###############################################
# Board specific options
###############################################
Modified: trunk/coreboot-v2/src/devices/device.c
===================================================================
--- trunk/coreboot-v2/src/devices/device.c 2008-10-28 22:13:38 UTC (rev 3698)
+++ trunk/coreboot-v2/src/devices/device.c 2008-10-29 03:15:42 UTC (rev 3699)
@@ -366,6 +366,12 @@
(resource->flags & IORESOURCE_IO)? "io":
(resource->flags & IORESOURCE_PREFETCH)? "prefmem": "mem");
}
+#if CONFIG_PCIE_CONFIGSPACE_HOLE
+#warning Handle PCIe hole differently...
+ if (base >= 0xf0000000 && base < 0xf4000000) {
+ base = 0xf4000000;
+ }
+#endif
}
/* A pci bridge resource does not need to be a power
* of two size, but it does have a minimum granularity.
Modified: trunk/coreboot-v2/src/devices/pci_device.c
===================================================================
--- trunk/coreboot-v2/src/devices/pci_device.c 2008-10-28 22:13:38 UTC (rev 3698)
+++ trunk/coreboot-v2/src/devices/pci_device.c 2008-10-29 03:15:42 UTC (rev 3699)
@@ -377,7 +377,11 @@
* clear it and forget it.
*/
if (resource->size == 0) {
+#if CONFIG_PCI_64BIT_PREF_MEM == 1
resource->base = moving;
+#else
+ resource->base = moving & 0xffffffff;
+#endif
resource->flags |= IORESOURCE_ASSIGNED;
resource->flags &= ~IORESOURCE_STORED;
pci_set_resource(dev, resource);
More information about the coreboot
mailing list