Re: [PATCH v4 1/1] x86/acpi, x86/boot: Add multiprocessor wake-up support

From: Kuppuswamy, Sathyanarayanan
Date: Fri May 21 2021 - 10:18:51 EST


Hi Rafael,

On 5/13/21 2:37 PM, Kuppuswamy Sathyanarayanan wrote:
As per ACPI specification r6.4, sec 5.2.12.19, a new sub
structure – multiprocessor wake-up structure - is added to the
ACPI Multiple APIC Description Table (MADT) to describe the
information of the mailbox. If a platform firmware produces the
multiprocessor wake-up structure, then OS may use this new
mailbox-based mechanism to wake up the APs.

Add ACPI MADT wake table parsing support for x86 platform and if
MADT wake table is present, update apic->wakeup_secondary_cpu with
new API which uses MADT wake mailbox to wake-up CPU.

Co-developed-by: Sean Christopherson<sean.j.christopherson@xxxxxxxxx>
Signed-off-by: Sean Christopherson<sean.j.christopherson@xxxxxxxxx>
Signed-off-by: Kuppuswamy Sathyanarayanan<sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
Reviewed-by: Andi Kleen<ak@xxxxxxxxxxxxxxx>
---

Any comments on this patch?


Changes since v3:
* Removed acpi_mp_wake_mailbox_init() and moved init code to
acpi_wakeup_cpu().
* Removed redundant NULL pointer check for acpi_mp_wake_mailbox.
* Added comments/debug prints as per Rafael's suggestion.
* Removed MADT/SVKL ACPI patches from this patchset. It will be
merged via ACPICA submission.

arch/x86/include/asm/apic.h | 3 ++
arch/x86/kernel/acpi/boot.c | 95 +++++++++++++++++++++++++++++++++++++
arch/x86/kernel/apic/apic.c | 8 ++++
3 files changed, 106 insertions(+)

--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer