Re: [PATCH v2 3/3] x86/acpi, x86/boot: Add multiprocessor wake-up support
From: Rafael J. Wysocki
Date: Fri Apr 23 2021 - 14:29:31 EST
On Fri, Apr 23, 2021 at 7:58 PM Kuppuswamy, Sathyanarayanan
<sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> wrote:
>
>
>
> On 4/23/21 6:05 AM, Rafael J. Wysocki wrote:
> > Although I've looked at this patch already, I now realize that
> > according to the spec the mailbox is only suitable for the first AP
> > wakeup during system initialization.
> >
> > Shouldn't the original handler be restored then to handle subsequent wakeups?
>
> For TDX use case, since it does not support CPU hotplug/offline features, once
> the AP is turned on, it will never be off-lined and hence need not support
> subsequent wakeups.
>
> AFAIK, this MADT wake table is mainly defined for TDX use case.
>
> Please also check the TDX GHCI spec, sec 4.1.
>
> For each TD-guest, application processor, the mailbox can be used once for the
> wakeup command. After the guest-application processor takes the action according
> to the command, the intention is the mailbox will no longer be checked by the
> guest-application processor. Other guest processors can continue using the mailbox
> for the next command.
But this patch modifies generic code and the ACPI mechanism used by it
is generic. TDX is not even mentioned by the spec section pointed to
by the changelog.
IMO it should at least ensure that the AP wakeup callback will return
an error on an attempt to use it more than once on a given CPU.