]> git.proxmox.com Git - mirror_edk2.git/commit
OvmfPkg: TdxDxe: Fix AsmRelocateApMailBoxLoop
authorIsaku Yamahata <isaku.yamahata@intel.com>
Tue, 24 May 2022 07:53:46 +0000 (15:53 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 25 May 2022 12:34:46 +0000 (12:34 +0000)
commit9c733f0b90b31a7e3711f60da314f2a5cfe5fe8a
treef48fef5930519d468cbb9b131d34163fa37cd42a
parenta21a3438f795deecb24e1843c1636f95c485017c
OvmfPkg: TdxDxe: Fix AsmRelocateApMailBoxLoop

In TDX, Application Processor busy-loops on Mailbox for OS to issue
MpProtectedModeWakeupCommandWakeup command to UEFI.  As the AP acking to
it, it clears the command member according to ACPI spec 6.4, 5.2.12.19
Multiprocessor Wakeup Structure: "The application processor need clear the
command to Noop(0) as the acknowledgement that the command is received."
However, AsmRelocateApMailBoxLoop wrongly clears WakeupVector.  Correctly
clear command instead of WakeupVector.

Without this patch, TD guest kernel fails to boot APs.

Fixes: fae5c1464d ("OvmfPkg: Add TdxDxe driver")
Cc: Min Xu <min.m.xu@intel.com>
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Min Xu <min.m.xu@intel.com>
OvmfPkg/TdxDxe/X64/ApRunLoop.nasm