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:
		
				
					committed by
					
						 Lean Sheng Tan
						Lean Sheng Tan
					
				
			
			
				
	
			
			
			
						parent
						
							7d4155e6e6
						
					
				
				
					commit
					eba383c20c
				
			| @@ -72,6 +72,11 @@ static void read_map_entry(struct device *dev, struct map_entry *entry, | |||||||
| 	uint64_t value; | 	uint64_t value; | ||||||
| 	uint64_t mask; | 	uint64_t mask; | ||||||
|  |  | ||||||
|  | 	if (!entry->reg) { | ||||||
|  | 		*result = 0; | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	/* All registers are on a 1MiB granularity. */ | 	/* All registers are on a 1MiB granularity. */ | ||||||
| 	mask = ((1ULL << entry->mask_bits) - 1); | 	mask = ((1ULL << entry->mask_bits) - 1); | ||||||
| 	mask = ~mask; | 	mask = ~mask; | ||||||
| @@ -103,6 +108,9 @@ static void mc_report_map_entries(struct device *dev, uint64_t *values) | |||||||
| { | { | ||||||
| 	int i; | 	int i; | ||||||
| 	for (i = 0; i < NUM_MAP_ENTRIES; i++) { | 	for (i = 0; i < NUM_MAP_ENTRIES; i++) { | ||||||
|  | 		if (!memory_map[i].description) | ||||||
|  | 			continue; | ||||||
|  |  | ||||||
| 		printk(BIOS_DEBUG, "MC MAP: %s: 0x%llx\n", | 		printk(BIOS_DEBUG, "MC MAP: %s: 0x%llx\n", | ||||||
| 		       memory_map[i].description, values[i]); | 		       memory_map[i].description, values[i]); | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user