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]]
-=-=-=-=-=-=-=-=-=-=-=-