回复: [edk2-devel] [PATCH] OvmfPkg: TdxDxe: Fix AsmRelocateApMailBoxLoop


gaoliming
 

Min, Isaku, Jiewen:
Is this patch required to catch edk2 202205 stable tag?

Thanks
Liming
-----邮件原件-----
发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Min Xu
发送时间: 2022年5月24日 17:14
收件人: Yamahata, Isaku <isaku.yamahata@...>;
devel@edk2.groups.io
主题: Re: [edk2-devel] [PATCH] OvmfPkg: TdxDxe: Fix
AsmRelocateApMailBoxLoop

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@...>
Signed-off-by: Isaku Yamahata <isaku.yamahata@...>
---
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@...>




Join devel@edk2.groups.io to automatically receive all group messages.