summaryrefslogtreecommitdiff
path: root/src/soc/intel
diff options
context:
space:
mode:
authorMarc Jones <marcjones@sysproconsulting.com>2020-11-02 21:26:41 -0700
committerPatrick Georgi <pgeorgi@google.com>2020-11-09 10:17:25 +0000
commit662ac546fc386c10d6302f404c77ac7f01f31628 (patch)
treedeb0ee0b80f98580606f175abaa8d82f2dbd525e /src/soc/intel
parent5851f9dae5e94cfae9e027da8302f80c65e5b647 (diff)
downloadcoreboot-662ac546fc386c10d6302f404c77ac7f01f31628.tar.xz
soc/intel/xeon_sp: Don't add memory resource twice
The resource function is called for each device VID/DID. Only add the memory resource map from the boot CPU (bus 0) and not for each socket/CPU. This is a NUMA architecture and has a shared memory map. All the resources must match across the sockets/CPUs, so they should only be added to the map once. Change-Id: Ia336f604441ae8d30b8418300da7c34ab9907cae Signed-off-by: Marc Jones <marcjones@sysproconsulting.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/47173 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Jay Talbott <JayTalbott@sysproconsulting.com> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/soc/intel')
-rw-r--r--src/soc/intel/xeon_sp/uncore.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/soc/intel/xeon_sp/uncore.c b/src/soc/intel/xeon_sp/uncore.c
index 332b9a44a3..15a9f0ff17 100644
--- a/src/soc/intel/xeon_sp/uncore.c
+++ b/src/soc/intel/xeon_sp/uncore.c
@@ -155,6 +155,10 @@ static void mc_add_dram_resources(struct device *dev, int *res_count)
struct resource *resource;
int index = *res_count;
+ /* Only add dram resources once. */
+ if (dev->bus->secondary != 0)
+ return;
+
fsp_find_reserved_memory(&fsp_mem);
/* Read in the MAP registers and report their values. */