audk/OvmfPkg/TdxDxe
Ceping Sun c1eb477e06 OvmfPkg/TdxDxe: Clear GPR Mask for RBX
Refer to intel-tdx-module-api spec section 5.5.21, GPR mask
(TDVMCALL_EXPOSE_REGS_MASK) is a bitmap that controls which
part of the guest TD GPR and XMM state is passed as-is to
the VMM and back.
- A bit value of 0 indicates that the corresponding register
   is saved by the Intel TDX module and not passed as-is to
   Host VMM.
- A bit value of 1 indicates that the corresponding register
   is passed as-is to the host VMM.

Currently, RBX is used as the mailbox address in ApRunLoop.nasm,
the corresponding bit value of RBX in MASK(Bit 3) is set as 1 which
means the value is passed to Host VMM as-is and it can be changed by
Host VMM.

So the bitmask shall be set as 0 to avoid this situation.

Reference:
[TDX-API]: intel-tdx-module-abi-spec
https://cdrdv2.intel.com/v1/dl/getContent/733579

Cc: Erdem Aktas <erdemaktas@google.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Hunter Adrian <adrian.hunter@intel.com>
Signed-off-by: Ceping Sun <cepingx.sun@intel.com>
2024-12-13 13:29:27 +00:00
..
X64 OvmfPkg/TdxDxe: Clear GPR Mask for RBX 2024-12-13 13:29:27 +00:00
TdxAcpiTable.c OvmfPkg/TdxDxe: Change MadtMpWk->MailBoxVersion from 1 to 0 2023-09-13 02:29:52 +00:00
TdxAcpiTable.h OvmfPkg: Add TdxDxe driver 2022-04-02 08:15:12 +00:00
TdxDxe.c OvmfPkg: Realize EdkiiMemoryAcceptProtocol in TdxDxe 2022-11-01 10:08:10 +00:00
TdxDxe.inf OvmfPkg: Realize EdkiiMemoryAcceptProtocol in TdxDxe 2022-11-01 10:08:10 +00:00