We do not consider microcode not found as critical error, because Microcode might be applied later.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com>
Reviewed-by: "Ma, Maurice" <maurice.ma@intel.com>
Reviewed-by: "Rangarajan, Ravi P" <ravi.p.rangarajan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18678
6f19259b-4bc3-4df7-8a09-
765794883524
jmp *%eax\r
\r
TempRamInitDone:\r
+ cmp $0x8000000E, %eax #Check if EFI_NOT_FOUND returned. Error code for Microcode Update not found.\r
+ je CallSecFspInit #If microcode not found, don't hang, but continue.\r
+\r
cmp $0x0, %eax\r
jnz FspApiFailed\r
\r
# ECX: start of range\r
# EDX: end of range\r
+CallSecFspInit:\r
+ xorl %eax, %eax\r
movl %edx, %esp\r
+\r
+ # Align the stack at DWORD\r
+ addl $3, %esp\r
+ andl $0xFFFFFFFC, %esp\r
+\r
pushl %edx\r
pushl %ecx\r
pushl %eax # zero - no hob list yet\r
jmp eax\r
\r
TempRamInitDone:\r
- cmp eax, 0\r
+ cmp eax, 8000000Eh ;Check if EFI_NOT_FOUND returned. Error code for Microcode Update not found.\r
+ je CallSecFspInit ;If microcode not found, don't hang, but continue.\r
+\r
+ cmp eax, 0 ;Check if EFI_SUCCESS retuned.\r
jnz FspApiFailed\r
\r
; ECX: start of range\r
; EDX: end of range\r
+CallSecFspInit:\r
+ xor eax, eax\r
mov esp, edx\r
+\r
+ ; Align the stack at DWORD\r
+ add esp, 3\r
+ and esp, 0FFFFFFFCh\r
+\r
push edx\r
push ecx\r
push eax ; zero - no hob list yet\r