// API Parameter +0x34\r
// API return address +0x30\r
//\r
-// push offset exit +0x2C\r
+// push FspInfoHeader +0x2C\r
// pushfd +0x28\r
// cli\r
// pushad +0x24\r
UINT32 Ecx;\r
UINT32 Eax;\r
UINT16 Flags[2];\r
- UINT32 ExitOff;\r
+ UINT32 FspInfoHeader;\r
UINT32 ApiRet;\r
UINT32 ApiParam;\r
} CONTEXT_STACK;\r
return GetFspGlobalDataPointer()->FspInfoHeader;\r
}\r
\r
+/**\r
+ This function gets the FSP info header pointer using the API stack context.\r
+\r
+ @retval FspInfoHeader FSP info header pointer using the API stack context\r
+**/\r
+FSP_INFO_HEADER *\r
+EFIAPI\r
+GetFspInfoHeaderFromApiContext (\r
+ VOID\r
+ )\r
+{\r
+ FSP_GLOBAL_DATA *FspData;\r
+\r
+ FspData = GetFspGlobalDataPointer ();\r
+ return (FSP_INFO_HEADER *)(*(UINT32 *)(UINTN)(FspData->CoreStack + CONTEXT_STACK_OFFSET(FspInfoHeader)));\r
+}\r
+\r
/**\r
This function gets the VPD data pointer.\r
\r