diff --git a/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryT.nasm b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryT.nasm index 088bd7ee7f68e..9012eddafdf95 100644 --- a/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryT.nasm +++ b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryT.nasm @@ -600,6 +600,7 @@ ASM_PFX(TempRamInitApi): SAVE_EDX CALL_EBP ASM_PFX(LoadUpdPointerToECX) ; ECX for UPD param + mov esi, eax ; save FspInfoHeader to esi SAVE_ECX ; save UPD param to slot 3 in xmm6 mov edx, ASM_PFX(PcdGet32 (PcdTemporaryRamSize)) diff --git a/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm b/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm index 3e7a6400a277c..b6d7041875bb1 100644 --- a/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm +++ b/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm @@ -464,6 +464,13 @@ ASM_PFX(TempRamInitApi): ParamValid: SAVE_RCX + ; + ; Get FspInfoHeader address + ; + CALL_RDI ASM_PFX(AsmGetFspInfoHeaderNoStack) + mov rsi, rax + LOAD_RCX + mov rdx, ASM_PFX(PcdGet32 (PcdTemporaryRamSize)) mov edx, DWORD [rdx] ;