See patch
--
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: [EMAIL PROTECTED] • http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866Changes 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 <[EMAIL PROTECTED]>
Index: src/config/Options.lb
===================================================================
--- src/config/Options.lb (revision 3698)
+++ src/config/Options.lb (working copy)
@@ -1115,6 +1120,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
###############################################
Index: src/devices/device.c
===================================================================
--- src/devices/device.c (revision 3698)
+++ src/devices/device.c (working copy)
@@ -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.
Index: src/devices/pci_device.c
===================================================================
--- src/devices/pci_device.c (revision 3698)
+++ src/devices/pci_device.c (working copy)
@@ -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);
signature.asc
Description: OpenPGP digital signature
-- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

