drivers/intel/fsp: Add find_saved_temp_mem()

Add a function to retrieve the location of the CAR temporary memory
that was saved by the FSP into the HOB structure.

Change-Id: I2635de5207cd699740721d333a7706425b837651
Signed-off-by: Martin Roth <gaumless@gmail.com>
Reviewed-on: http://review.coreboot.org/8194
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Tested-by: build bot (Jenkins)
This commit is contained in:
Martin Roth 2015-01-11 14:11:55 -07:00
parent 8057285119
commit 5fc32bf5e6
2 changed files with 25 additions and 0 deletions

View File

@ -177,6 +177,24 @@ volatile u8 * find_fsp ()
return (fsp_ptr);
}
/** finds the saved temporary memory information in the FSP HOB list
*
* @param hob_list_ptr pointer to the start of the hob list
* @return pointer to saved CAR MEM or NULL if not found.
*/
void * find_saved_temp_mem(void *hob_list_ptr)
{
EFI_GUID temp_hob_guid = FSP_BOOTLOADER_TEMPORARY_MEMORY_HOB_GUID;
EFI_HOB_GUID_TYPE *saved_mem_hob =
(EFI_HOB_GUID_TYPE *) find_hob_by_guid(
hob_list_ptr, &temp_hob_guid);
if (saved_mem_hob == NULL)
return NULL;
return (void *) ((char *) saved_mem_hob + sizeof(EFI_HOB_GUID_TYPE));
}
#ifndef __PRE_RAM__ /* Only parse HOB data in ramstage */
void print_fsp_info(void) {

View File

@ -37,6 +37,7 @@ void print_fsp_info(void);
void chipset_fsp_early_init(FSP_INIT_PARAMS *FspInitParams,
FSP_INFO_HEADER *fsp_ptr);
void ChipsetFspReturnPoint(EFI_STATUS Status, VOID *HobListPtr);
void * find_saved_temp_mem(void *hob_list_ptr);
/* functions in hob.c */
void print_hob_mem_attributes(void *Hobptr);
@ -124,4 +125,10 @@ extern void *FspHobListPtr;
UpdData->member?"Enabled":"Disabled"); \
break;
#ifndef FSP_BOOTLOADER_TEMPORARY_MEMORY_HOB_GUID
#define FSP_BOOTLOADER_TEMPORARY_MEMORY_HOB_GUID \
{ 0xbbcff46c, 0xc8d3, 0x4113, { 0x89, 0x85, 0xb9, 0xd4, 0xf3, 0xb3, 0xf6, 0x4e } };
#endif
#endif /* FSP_UTIL_H */