OvmfPkg: Make an Ia32/X64 hybrid build work with SEV
The BaseMemEncryptSevLib functionality was updated to rely on the use of
the OVMF/SEV workarea to check for SEV guests. However, this area is only
updated when running the X64 OVMF build, not the hybrid Ia32/X64 build.
Base SEV support is allowed under the Ia32/X64 build, but it now fails
to boot as a result of the change.
Update the ResetVector code to check for SEV features when built for
32-bit mode, not just 64-bit mode (requiring updates to both the Ia32
and Ia32X64 fdf files).
Fixes: f1d1c337e7
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Michael Roth <michael.roth@amd.com>
Cc: Min Xu <min.m.xu@intel.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
committed by
mergify[bot]
parent
a72d552f19
commit
a21a3438f7
@@ -150,6 +150,8 @@ BITS 32
|
||||
SevEsUnexpectedRespTerminate:
|
||||
TerminateVmgExit TERM_UNEXPECTED_RESP_CODE
|
||||
|
||||
%ifdef ARCH_X64
|
||||
|
||||
; If SEV-ES is enabled then initialize and make the GHCB page shared
|
||||
SevClearPageEncMaskForGhcbPage:
|
||||
; Check if SEV is enabled
|
||||
@@ -209,6 +211,8 @@ GetSevCBitMaskAbove31:
|
||||
GetSevCBitMaskAbove31Exit:
|
||||
OneTimeCallRet GetSevCBitMaskAbove31
|
||||
|
||||
%endif
|
||||
|
||||
; Check if Secure Encrypted Virtualization (SEV) features are enabled.
|
||||
;
|
||||
; Register usage is tight in this routine, so multiple calls for the
|
||||
|
Reference in New Issue
Block a user