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 <[email protected]>
> Signed-off-by: Isaku Yamahata <[email protected]>
> ---
>  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 <[email protected]>



-=-=-=-=-=-=-=-=-=-=-=-
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/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to