]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFsp2Pkg/FspSecCore/Ia32/FspHelper.nasm
IntelFsp2Pkg: Add function to get FspInfoHeader before stack is ready
[mirror_edk2.git] / IntelFsp2Pkg / FspSecCore / Ia32 / FspHelper.nasm
index 43eac973a25f6bce83d8dc8ecd0da3b0a72b352b..a848dcbc0298ac059363b517e1ba9edf056be796 100644 (file)
@@ -14,6 +14,8 @@
     SECTION .text\r
 \r
 global ASM_PFX(FspInfoHeaderRelativeOff)\r
+ASM_PFX(FspInfoHeaderRelativeOff):\r
+   DD    0x12345678               ; This value must be patched by the build script\r
 \r
 global ASM_PFX(AsmGetFspBaseAddress)\r
 ASM_PFX(AsmGetFspBaseAddress):\r
@@ -29,6 +31,11 @@ ASM_PFX(NextInstruction):
    pop   eax\r
    sub   eax, ASM_PFX(NextInstruction)\r
    add   eax, ASM_PFX(AsmGetFspInfoHeader)\r
-   DB    02Dh                                               ; opcode of sub eax, imm32\r
-ASM_PFX(FspInfoHeaderRelativeOff):    DD    0x12345678      ; sub eax, FspInfoHeaderRelativeOff\r
+   sub   eax, dword [ASM_PFX(FspInfoHeaderRelativeOff)]\r
    ret\r
+\r
+global ASM_PFX(AsmGetFspInfoHeaderNoStack)\r
+ASM_PFX(AsmGetFspInfoHeaderNoStack):\r
+   mov   eax, ASM_PFX(AsmGetFspInfoHeader)\r
+   sub   eax, dword [ASM_PFX(FspInfoHeaderRelativeOff)]\r
+   jmp   edi\r