diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2024-02-14 10:39:32 +0100 |
---|---|---|
committer | Lean Sheng Tan <sheng.tan@9elements.com> | 2024-02-18 07:51:00 +0000 |
commit | eba383c20ce8f6f98981afbc40137571519a8571 (patch) | |
tree | 6f15bbc4c276c87e6bd3b5871a1dc032f00c05f3 /src/soc/intel | |
parent | 7d4155e6e6751ccd1f0b39051462d6842b435fe2 (diff) |
soc/intel/xeon_sp/uncore: Don't print uninitialized memory
The struct map_entry has two zero'd entries due to the ifdef
being used. Do not read those entries and do not print those
entries.
Fixes a NULL string being printed along as the vendor and device
ID of the PCI device.
Change-Id: Id87ced76af552c0d064538f8140d1b78724fb833
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80546
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/soc/intel')
-rw-r--r-- | src/soc/intel/xeon_sp/uncore.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/soc/intel/xeon_sp/uncore.c b/src/soc/intel/xeon_sp/uncore.c index ddc6e8206f..de2d17500e 100644 --- a/src/soc/intel/xeon_sp/uncore.c +++ b/src/soc/intel/xeon_sp/uncore.c @@ -72,6 +72,11 @@ static void read_map_entry(struct device *dev, struct map_entry *entry, uint64_t value; uint64_t mask; + if (!entry->reg) { + *result = 0; + return; + } + /* All registers are on a 1MiB granularity. */ mask = ((1ULL << entry->mask_bits) - 1); mask = ~mask; @@ -103,6 +108,9 @@ static void mc_report_map_entries(struct device *dev, uint64_t *values) { int i; for (i = 0; i < NUM_MAP_ENTRIES; i++) { + if (!memory_map[i].description) + continue; + printk(BIOS_DEBUG, "MC MAP: %s: 0x%llx\n", memory_map[i].description, values[i]); } |