From patchwork Mon Apr 26 02:39:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuppuswamy Sathyanarayanan X-Patchwork-Id: 12223671 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3C89C433B4 for ; Mon, 26 Apr 2021 02:39:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9036B61249 for ; Mon, 26 Apr 2021 02:39:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231700AbhDZCkc (ORCPT ); Sun, 25 Apr 2021 22:40:32 -0400 Received: from mga07.intel.com ([134.134.136.100]:49066 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231678AbhDZCkb (ORCPT ); Sun, 25 Apr 2021 22:40:31 -0400 IronPort-SDR: oheH4d976Fmt9mGxDL1t3M9e27m61A7KVAuhhf5o2mhTdSY7j8I5zHfhH9Rx98OS7L3CxRRC0S 9lTFiYnuR70Q== X-IronPort-AV: E=McAfee;i="6200,9189,9965"; a="260224232" X-IronPort-AV: E=Sophos;i="5.82,251,1613462400"; d="scan'208";a="260224232" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2021 19:39:50 -0700 IronPort-SDR: fqCevIdyEnl1vWnFmb5PF9fcyurMGUXvvqv7SPIWqBwPynyi/B0IzQzwlu4V7zMQ2bzHbjiTMJ 9qFHgVJiH38w== X-IronPort-AV: E=Sophos;i="5.82,251,1613462400"; d="scan'208";a="454081394" Received: from angelata-mobl.amr.corp.intel.com (HELO skuppusw-mobl5.amr.corp.intel.com) ([10.254.34.149]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2021 19:39:49 -0700 From: Kuppuswamy Sathyanarayanan To: Rafael J Wysocki , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Peter Zijlstra Cc: Len Brown , Robert Moore , Erik Kaneda , linux-acpi@vger.kernel.org, devel@acpica.org, linux-kernel@vger.kernel.org, x86@kernel.org, Kuppuswamy Sathyanarayanan Subject: [PATCH v3 0/3] Add multiprocessor wake-up support Date: Sun, 25 Apr 2021 19:39:38 -0700 Message-Id: <20210426023941.729334-1-sathyanarayanan.kuppuswamy@linux.intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org 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(+)