aboutsummaryrefslogtreecommitdiff
path: root/src/devices/pci_device.c
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2008-10-29 03:15:42 +0000
committerStefan Reinauer <stepan@openbios.org>2008-10-29 03:15:42 +0000
commit532fd2dc3d3dcf9bf1f2e2c8df539d07d0f214a0 (patch)
treec247f23f4243df98a4f43a7b90718a9b894a6fec /src/devices/pci_device.c
parentb64aa60f1fd5e6c84ec8ff6ad0baa7afee0d810a (diff)
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@coresystems.de> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3699 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/devices/pci_device.c')
-rw-r--r--src/devices/pci_device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c
index 7fb86933be..fcf9730981 100644
--- a/src/devices/pci_device.c
+++ b/src/devices/pci_device.c
@@ -377,7 +377,11 @@ static void pci_record_bridge_resource(
* 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);