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>
This commit is contained in:
Patrick Rudolph 2024-02-14 10:39:32 +01:00 committed by Lean Sheng Tan
parent 7d4155e6e6
commit eba383c20c
1 changed files with 8 additions and 0 deletions

View File

@ -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]);
}