From bff24b8f99c0bead0350adb0e97f1e5bfec17a49 Mon Sep 17 00:00:00 2001 From: Aravind P R Date: Mon, 27 Jan 2025 10:36:57 +0530 Subject: [PATCH] IntelFsp2Pkg: Correct Assumption of FspInfoheader It is assumed that the address of FspInfoheader is present in rsi while reading ImageAttribute. Reading and retrieving the FspInfoheader address to correct this. Signed-off-by: Aravind P R --- IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryT.nasm | 6 ++++++ IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryT.nasm b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryT.nasm index 088bd7ee7f68..be286667ed99 100644 --- a/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryT.nasm +++ b/IntelFsp2Pkg/FspSecCore/Ia32/FspApiEntryT.nasm @@ -602,6 +602,12 @@ ASM_PFX(TempRamInitApi): CALL_EBP ASM_PFX(LoadUpdPointerToECX) ; ECX for UPD param SAVE_ECX ; save UPD param to slot 3 in xmm6 + ; + ; Get FspInfoHeader address + ; + CALL_EDI ASM_PFX(AsmGetFspInfoHeaderNoStack) + mov esi, eax + mov edx, ASM_PFX(PcdGet32 (PcdTemporaryRamSize)) mov edx, DWORD [edx] ; diff --git a/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm b/IntelFsp2Pkg/FspSecCore/X64/FspApiEntryT.nasm index 3e7a6400a277..b6d7041875bb 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] ;