123456789101112131415161718192021222324252627282930313233343536 |
- ;; @file
- ; Provide FSP helper function.
- ;
- ; Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
- ; SPDX-License-Identifier: BSD-2-Clause-Patent
- ;;
- DEFAULT REL
- SECTION .text
- FSP_HEADER_IMGBASE_OFFSET EQU 1Ch
- global ASM_PFX(AsmGetFspBaseAddress)
- ASM_PFX(AsmGetFspBaseAddress):
- call ASM_PFX(AsmGetFspInfoHeader)
- add rax, FSP_HEADER_IMGBASE_OFFSET
- mov eax, [rax]
- ret
- global ASM_PFX(AsmGetFspInfoHeader)
- ASM_PFX(AsmGetFspInfoHeader):
- lea rax, [ASM_PFX(AsmGetFspInfoHeader)]
- DB 0x48, 0x2d ; sub rax, 0x????????
- global ASM_PFX(FspInfoHeaderRelativeOff)
- ASM_PFX(FspInfoHeaderRelativeOff):
- DD 0x12345678 ; This value must be patched by the build script
- and rax, 0xffffffff
- ret
- global ASM_PFX(AsmGetFspInfoHeaderNoStack)
- ASM_PFX(AsmGetFspInfoHeaderNoStack):
- lea rax, [ASM_PFX(AsmGetFspInfoHeader)]
- lea rcx, [ASM_PFX(FspInfoHeaderRelativeOff)]
- mov ecx, [rcx]
- sub rax, rcx
- and rax, 0xffffffff
- jmp rdi
|