From 90fadfc00ad773441aeb97718cd9c2e3dc7d2f71 Mon Sep 17 00:00:00 2001 From: "Yarlagadda, Satya P" Date: Thu, 18 Aug 2016 13:20:31 +0800 Subject: [PATCH] IntelFsp2Pkg: Add function to get FspInfoHeader before stack is ready we need to locate the FSP Info Header before the stack is initialized to access the cfg region for any UPD. Hence adding the AsmGetFspInfoHeaderNoStack function to support it. Note: This function is there in IntelFspPkg but got removed in IntelFsp2Pkg Cc: Maurice Ma Cc: Jiewen Yao Cc: Giri P Mudusuru Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Satya Yarlagadda Reviewed-by: Jiewen Yao Reviewed-by: Giri P Mudusuru --- IntelFsp2Pkg/FspSecCore/Ia32/FspHelper.nasm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/IntelFsp2Pkg/FspSecCore/Ia32/FspHelper.nasm b/IntelFsp2Pkg/FspSecCore/Ia32/FspHelper.nasm index 43eac973a2..a848dcbc02 100644 --- a/IntelFsp2Pkg/FspSecCore/Ia32/FspHelper.nasm +++ b/IntelFsp2Pkg/FspSecCore/Ia32/FspHelper.nasm @@ -14,6 +14,8 @@ SECTION .text global ASM_PFX(FspInfoHeaderRelativeOff) +ASM_PFX(FspInfoHeaderRelativeOff): + DD 0x12345678 ; This value must be patched by the build script global ASM_PFX(AsmGetFspBaseAddress) ASM_PFX(AsmGetFspBaseAddress): @@ -29,6 +31,11 @@ ASM_PFX(NextInstruction): pop eax sub eax, ASM_PFX(NextInstruction) add eax, ASM_PFX(AsmGetFspInfoHeader) - DB 02Dh ; opcode of sub eax, imm32 -ASM_PFX(FspInfoHeaderRelativeOff): DD 0x12345678 ; sub eax, FspInfoHeaderRelativeOff + sub eax, dword [ASM_PFX(FspInfoHeaderRelativeOff)] ret + +global ASM_PFX(AsmGetFspInfoHeaderNoStack) +ASM_PFX(AsmGetFspInfoHeaderNoStack): + mov eax, ASM_PFX(AsmGetFspInfoHeader) + sub eax, dword [ASM_PFX(FspInfoHeaderRelativeOff)] + jmp edi -- 2.39.2