[edk2-devel] [PATCH] OvmfPkg: TdxDxe: Fix AsmRelocateApMailBoxLoop
Min Xu
min.m.xu at intel.com
Tue May 24 09:14:28 UTC 2022
On May 24, 2022 3:54 PM, Yamahata, Isaku wrote:
>
> 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 at intel.com>
> Signed-off-by: Isaku Yamahata <isaku.yamahata at intel.com>
> ---
> OvmfPkg/TdxDxe/X64/ApRunLoop.nasm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm
> b/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm
> index 49bd04415c..a859375fb8 100644
> --- a/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm
> +++ b/OvmfPkg/TdxDxe/X64/ApRunLoop.nasm
> @@ -69,7 +69,7 @@ MailBoxWakeUp:
> mov rax, [rbx + WakeupVectorOffset] ; OS sends a wakeup command
> for a given APIC ID, firmware is supposed to reset ; the command field back
> to zero as acknowledgement.- mov qword [rbx + WakeupVectorOffset],
> 0+ mov qword [rbx + CommandOffset], 0 jmp rax MailBoxSleep:
> jmp $--
> 2.25.1
Thanks Isaku.
Reviewed-by: Min Xu <min.m.xu at intel.com>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89981): https://edk2.groups.io/g/devel/message/89981
Mute This Topic: https://groups.io/mt/91307432/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list