pciexp_device: Add option to allocate prefetch memory above 4G boundary
commitdcbf6454b6d2d9b3627a14126ef20ed4b9c7d954
authorFurquan Shaikh <furquan@google.com>
Fri, 13 Mar 2020 00:58:13 +0000 (12 17:58 -0700)
committerPatrick Georgi <pgeorgi@google.com>
Tue, 12 May 2020 19:44:29 +0000 (12 19:44 +0000)
tree8f44d0d15d14d90338525fca14fb1028bad9e151
parent871baf2230dc1e0ed2becfd8526e00d5367618b3
pciexp_device: Add option to allocate prefetch memory above 4G boundary

This change adds a Kconfig option to request allocation of prefetch
memory for hotplug devices above the 4G boundary. In order to
select this option by default and still allow users to disable this if
required, another option is added to request allocation of prefetch
memory below 4G boundary which defaults to n but can be overriden
by mainboards.

Without this change, if the number of pciexp bridges supporting
hot-plug is more than 4 or if the reserved prefetch memory size for
hot-plug cases was increased, then the resource allocator would fail
to satisfy the resource requirement below 4G boundary.

BUG=b:149186922
TEST=Enabled resource allocation above 4G for prefetch memory on volteer
and verified that it gets allocated above 4G boundary.

Signed-off-by: Furquan Shaikh <furquan@google.com>
Change-Id: I061d935eef9fcda352230b03b5cf14e467924e50
Reviewed-on: https://review.coreboot.org/c/coreboot/+/39489
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
src/device/Kconfig
src/device/pciexp_device.c