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>
This commit is contained in:
Marc Jones 2020-11-02 21:26:41 -07:00 committed by Patrick Georgi
parent 5851f9dae5
commit 662ac546fc
1 changed files with 4 additions and 0 deletions

View File

@ -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. */