diff --git a/IntelFspPkg/FspSecCore/Ia32/FspApiEntry.asm b/IntelFspPkg/FspSecCore/Ia32/FspApiEntry.asm index a01b3c2d49..a0c9b1ed73 100644 --- a/IntelFspPkg/FspSecCore/Ia32/FspApiEntry.asm +++ b/IntelFspPkg/FspSecCore/Ia32/FspApiEntry.asm @@ -489,8 +489,8 @@ FspApiCommon PROC C PUBLIC ; Verify the calling condition ; pushad - push [esp + 4 * 8 + 4] - push eax + push [esp + 4 * 8 + 4] ; push ApiParam + push eax ; push ApiIdx call FspApiCallingCheck add esp, 8 cmp eax, 0 diff --git a/IntelFspPkg/FspSecCore/Ia32/FspApiEntry.s b/IntelFspPkg/FspSecCore/Ia32/FspApiEntry.s index e7b82d5e93..8f4093ca19 100644 --- a/IntelFspPkg/FspSecCore/Ia32/FspApiEntry.s +++ b/IntelFspPkg/FspSecCore/Ia32/FspApiEntry.s @@ -703,9 +703,10 @@ FspApiCommonL0: # Verify the calling condition # pushal - pushl %eax + pushl 36(%esp) #push ApiParam [esp + 4 * 8 + 4] + pushl %eax #push ApiIdx call ASM_PFX(FspApiCallingCheck) - addl $0x04, %esp + addl $0x08, %esp cmpl $0x00, %eax jz FspApiCommonL1 movl %eax, 0x1C(%esp) # mov dword ptr [esp + 4 * 7], eax