Hello everyone,
I am trying to build an Intel platform's customized UEFI.
I have extracted the microcode and FSP binaries from the vendors UEFI image successfully. I also changed the PlatformPkg and FspFlashOffset FDF files. Execution goes on fine up until the last line of this subroutine:
FspHeaderFound: ; Get the fsp TempRamInit Api address
mov eax, dword [edi + FSP_HEADER_IMAGEBASE_OFFSET]
add eax, dword [edi + FSP_HEADER_TEMPRAMINIT_OFFSET]
; Setup the hardcode stack
mov esp, TempRamInitStack
; Call the fsp TempRamInit Api
jmp eax
I have checked the address of TempRamInit Entry which matched the address inside the FSP header.
but somehow it doesn't return to the TempRamInitDone subroutine. I have no idea why this happens. I also changed the UPD parameters to match the signature of the target platform.
Any thoughts on this?