Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp3266338pxy; Sun, 25 Apr 2021 19:40:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz69wE+mHplZjas8L231iMAL8AwNBNHAwA76cIiA2cNK/IjeaApWdrUdck9/dirwwDvElbd X-Received: by 2002:aa7:9ad4:0:b029:275:af4c:3988 with SMTP id x20-20020aa79ad40000b0290275af4c3988mr4284204pfp.78.1619404848988; Sun, 25 Apr 2021 19:40:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619404848; cv=none; d=google.com; s=arc-20160816; b=uG2FllEo5cwG+eASIMsrWRAB5ryw3sRn0w2Y02/O/Olz0mFikMK9KAn/CNq1sdiHww 7OLB9sZihIDvyx6ex43+N+SJuZVUIvViqCq53QtgmZvQLxFepabfEPkBX2Ys09qtjGu5 TjiZoTpIc4cYrX52/85Fzct/f8fwOhVNqQlJBnyErCJAxpI1VfvbExJa8FyUDPHtoQp8 cvdvqnlx7cBaR4DdRKxu6QyTH+Us8mUBpVXZ9fzDG0p6HuEL/tAO5BGd+Nu0GgufKxgk xHWTPYTkeo2GhBxFUN7jEl853MvuL4S1hnojkU1sLdwFE7SCW8G1Zu9x9OCE8hsgWwLL 8xGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=8lMhKCCJmthsXQntTtpx3LCScSR36XY2HbZ3dEcU+z0=; b=NJWg3b8yfud2JSuk4O8RQ9gp35PzMo6AFdQNTrwVHZHHzI37MPwt4rIc8oWMtkklpl 7VoAZWH4ItYFmA799WDFqw869eL6JA3VLKZKELKwggG2/KB2N1aCOU2DpQuPAInQqpUG 6euUoUnpYQumjz9rIbGs+HFtv37LVjgrQSwCAVWI/jKi4S5nyFq54HpuxPGLCoXHXsXx H2EtyMWqp9ojtKcbJXBTdU+8XDMzFSQ5YofzKYJby/iman67JsHuJ2vsnjCmfPBdX7pI q4xFJUdmA2d3OVryQHwyJ/wXSb8mnoT9hagaWJxbOL47dlnWzUPJPJ4x6xBkYxVJcTbB QPxA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z23si7166940plo.44.2021.04.25.19.40.37; Sun, 25 Apr 2021 19:40:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231785AbhDZCkc (ORCPT + 99 others); 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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(+) -- 2.25.1