diff options
author | Marc Jones <marcjones@sysproconsulting.com> | 2020-11-02 21:26:41 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2020-11-09 10:17:25 +0000 |
commit | 662ac546fc386c10d6302f404c77ac7f01f31628 (patch) | |
tree | deb0ee0b80f98580606f175abaa8d82f2dbd525e /src/soc | |
parent | 5851f9dae5e94cfae9e027da8302f80c65e5b647 (diff) | |
download | coreboot-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')
-rw-r--r-- | src/soc/intel/xeon_sp/uncore.c | 4 |
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. */ |