Hi, On 7/19/21 9:25 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> Reviewed-by: Andi Kleen<ak@xxxxxxxxxxxxxxx> Reviewed-by: Rafael J. Wysocki<rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Kuppuswamy Sathyanarayanan<sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> --- Changes since v6: * Rebased on top of v5.14-rc1. Changes since v5: * None ( CCed ACPI list) Changes since v4: * Used smp_store_release() in place of WRITE_ONCE(). * Addressed some checkpatch warnings. 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.
Gentle ping! Any comments on this patch? -- Sathyanarayanan Kuppuswamy Linux Kernel Developer