audk/OvmfPkg/ResetVector
Tom Lendacky 30937f2f98 OvmfPkg: Use the SEV-ES work area for the SEV-ES AP reset vector
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2198

A hypervisor is not allowed to update an SEV-ES guest's register state,
so when booting an SEV-ES guest AP, the hypervisor is not allowed to
set the RIP to the guest requested value. Instead an SEV-ES AP must be
re-directed from within the guest to the actual requested staring location
as specified in the INIT-SIPI-SIPI sequence.

Use the SEV-ES work area for the reset vector code that contains support
to jump to the desired RIP location after having been started. This is
required for only the very first AP reset.

This new OVMF source file, ResetVectorVtf0.asm, is used in place of the
original file through the use of the include path order set in
OvmfPkg/ResetVector/ResetVector.inf under "[BuildOptions]".

Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
2020-08-17 02:46:39 +00:00
..
Ia16 OvmfPkg: Use the SEV-ES work area for the SEV-ES AP reset vector 2020-08-17 02:46:39 +00:00
Ia32 OvmfPkg/ResetVector: Add support for a 32-bit SEV check 2020-08-17 02:46:39 +00:00
ResetVector.inf OvmfPkg/ResetVector: Add support for a 32-bit SEV check 2020-08-17 02:46:39 +00:00
ResetVector.nasmb OvmfPkg: Use the SEV-ES work area for the SEV-ES AP reset vector 2020-08-17 02:46:39 +00:00