Aaron Durbin has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/41363 )
Change subject: device: avoid fixed resources hanging off pci domain device ......................................................................
device: avoid fixed resources hanging off pci domain device
Some chipsets are adding resources to the pci domain device. As such the previous code wasn't culling the address space correctly and the fixed resources were not visible.
Quick fix is avoid fixed resources starting from root device.
Change-Id: I4951aabd9775bc09143aef324f6b8dcf686fbe48 Signed-off-by: Aaron Durbin adurbin@chromium.org --- M src/device/device.c 1 file changed, 4 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/63/41363/1
diff --git a/src/device/device.c b/src/device/device.c index 633346e..d9aea92 100644 --- a/src/device/device.c +++ b/src/device/device.c @@ -922,8 +922,11 @@ res->gran, res->limit);
if (dev->path.type == DEVICE_PATH_DOMAIN) { + /* Some chipsets are hanging fixed resources off the domain device itself. Therefore, + * constrain the domain resources based off the root device. */ + const struct device *root = &dev_root; initialize_domain_memranges(ranges, res, type); - constrain_domain_resources(dev->link_list, ranges, type); + constrain_domain_resources(root->link_list, ranges, type); } else { initialize_bridge_memranges(ranges, res, type); }