xeon_sp/cpx: Fix get_system_memory_map to return the correct address
Similar to commit b45ed65
, the HOB structure is actually a 8 byte
address pointing to the HOB data.
Tested=Verified the values of the hob fields are the same printed by
soc_display_memmap_hob().
Change-Id: I348d3cd80a56e86d22f20fcadf0316b462b86829
Signed-off-by: Johnny Lin <johnny_lin@wiwynn.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44502
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
24bb8036c9
commit
91c8ccd99e
|
@ -29,14 +29,19 @@ const struct SystemMemoryMapHob *get_system_memory_map(void)
|
||||||
{
|
{
|
||||||
size_t hob_size;
|
size_t hob_size;
|
||||||
const uint8_t mem_hob_guid[16] = FSP_SYSTEM_MEMORYMAP_HOB_GUID;
|
const uint8_t mem_hob_guid[16] = FSP_SYSTEM_MEMORYMAP_HOB_GUID;
|
||||||
|
const struct SystemMemoryMapHob **memmap_addr;
|
||||||
|
|
||||||
const void *memmap_addr = fsp_find_extension_hob_by_guid(mem_hob_guid, &hob_size);
|
memmap_addr = (const struct SystemMemoryMapHob **)
|
||||||
|
fsp_find_extension_hob_by_guid(mem_hob_guid, &hob_size);
|
||||||
|
/* hob_size is the size of the 8-byte address not the hob data */
|
||||||
assert(memmap_addr != NULL && hob_size != 0);
|
assert(memmap_addr != NULL && hob_size != 0);
|
||||||
printk(BIOS_DEBUG, "FSP_SYSTEM_MEMORYMAP_HOB_GUID hob_size: %ld\n", hob_size);
|
/* assert the pointer to the hob is not NULL */
|
||||||
|
assert(*memmap_addr != NULL);
|
||||||
|
|
||||||
return (const struct SystemMemoryMapHob *) memmap_addr;
|
return *memmap_addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void get_cpu_info_from_apicid(uint32_t apicid, uint32_t core_bits, uint32_t thread_bits,
|
void get_cpu_info_from_apicid(uint32_t apicid, uint32_t core_bits, uint32_t thread_bits,
|
||||||
uint8_t *package, uint8_t *core, uint8_t *thread)
|
uint8_t *package, uint8_t *core, uint8_t *thread)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue