Add multiprocessor wakeup support using MADT ACPI table for x86 platforms. It uses mailbox based mechanism to wake up the APs. You can get more details about the ACPI table and mailbox protocol in Guest-Host-Communication Interface (GHCI) for Intel Trust Domain Extensions (Intel TDX) specification document (sec 4.1) https://software.intel.com/content/dam/develop/external/us/en/documents/intel-tdx-guest-hypervisor-communication-interface.pdf Changes since v2: * Moved acpi_wake_cpu_handler_update() definition to arch/x86/kernel/apic/apic.c * Added comments for WRITE_ONCE() usage. * Added error handling support to prevent re-trigger of acpi_wakeup_cpu() and to detect the failure case. Changes since v1: * Removed signoff from Rob and Erik. Kuppuswamy Sathyanarayanan (3): ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Mailbox Structure ACPI/table: Print MADT Wake table information x86/acpi, x86/boot: Add multiprocessor wake-up support arch/x86/include/asm/apic.h | 3 ++ arch/x86/kernel/acpi/boot.c | 79 +++++++++++++++++++++++++++++++++++++ arch/x86/kernel/apic/apic.c | 8 ++++ drivers/acpi/tables.c | 11 ++++++ include/acpi/actbl2.h | 14 +++++++ 5 files changed, 115 insertions(+) -- 2.25.1