[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