diff options
Diffstat (limited to 'OvmfPkg/ResetVector')
-rw-r--r-- | OvmfPkg/ResetVector/Ia32/IntelTdx.asm | 4 | ||||
-rw-r--r-- | OvmfPkg/ResetVector/Ia32/PageTables64.asm | 15 |
2 files changed, 10 insertions, 9 deletions
diff --git a/OvmfPkg/ResetVector/Ia32/IntelTdx.asm b/OvmfPkg/ResetVector/Ia32/IntelTdx.asm index 06794baef8..c6b86019df 100644 --- a/OvmfPkg/ResetVector/Ia32/IntelTdx.asm +++ b/OvmfPkg/ResetVector/Ia32/IntelTdx.asm @@ -197,11 +197,7 @@ NotTdx: ; Set byte[TDX_WORK_AREA_PGTBL_READY] to 1
;
TdxPostBuildPageTables:
- cmp byte[WORK_AREA_GUEST_TYPE], VM_GUEST_TDX
- jne ExitTdxPostBuildPageTables
mov byte[TDX_WORK_AREA_PGTBL_READY], 1
-
-ExitTdxPostBuildPageTables:
OneTimeCallRet TdxPostBuildPageTables
;
diff --git a/OvmfPkg/ResetVector/Ia32/PageTables64.asm b/OvmfPkg/ResetVector/Ia32/PageTables64.asm index 14cc2c33aa..166e80293c 100644 --- a/OvmfPkg/ResetVector/Ia32/PageTables64.asm +++ b/OvmfPkg/ResetVector/Ia32/PageTables64.asm @@ -112,7 +112,7 @@ SetCr3ForPageTables64: ; is set.
OneTimeCall CheckTdxFeaturesBeforeBuildPagetables
cmp eax, TDX_BSP
- je ClearOvmfPageTables
+ je TdxBspInit
cmp eax, TDX_AP
je SetCr3
@@ -124,16 +124,21 @@ SetCr3ForPageTables64: ; the page table build below.
OneTimeCall GetSevCBitMaskAbove31
-ClearOvmfPageTables:
ClearOvmfPageTables
CreatePageTables4Level edx
; Clear the C-bit from the GHCB page if the SEV-ES is enabled.
OneTimeCall SevClearPageEncMaskForGhcbPage
+ jmp SetCr3
- ; TDX will do some PostBuildPages task, such as setting
- ; byte[TDX_WORK_AREA_PGTBL_READY].
- OneTimeCall TdxPostBuildPageTables
+TdxBspInit:
+ ;
+ ; TDX BSP workflow
+ ;
+ ClearOvmfPageTables
+ CreatePageTables4Level 0
+ OneTimeCall TdxPostBuildPageTables
+ jmp SetCr3
SetCr3:
;
|