[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1648664666.git.sathyanarayanan.kuppuswamy@intel.com>
Date: Wed, 30 Mar 2022 15:17:59 -0700
From: Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@...ux.intel.com>
To: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
Hans de Goede <hdegoede@...hat.com>,
Mark Gross <mgross@...ux.intel.com>
Cc: "H . Peter Anvin" <hpa@...or.com>,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@...ux.intel.com>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
Tony Luck <tony.luck@...el.com>,
Andi Kleen <ak@...ux.intel.com>, linux-kernel@...r.kernel.org,
platform-driver-x86@...r.kernel.org
Subject: [PATCH v2 0/6] Add TDX Guest Attestation support
From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@...el.com>
Hi All,
Intel's Trust Domain Extensions (TDX) protect guest VMs from malicious
hosts and some physical attacks. VM guest with TDX support is called
as TD Guest.
In TD Guest, the attestation process is used to verify the
trustworthiness of TD guest to the 3rd party servers. Such attestation
process is required by 3rd party servers before sending sensitive
information to TD guests. One usage example is to get encryption keys
from the key server for mounting the encrypted rootfs or secondary drive.
Following patches add the attestation support to TDX guest which
includes attestation user interface driver, user agent example, and
related hypercall support.
Patch titled "platform/x86: intel_tdx_attest: Add TDX Guest attestation
interface driver" adds the attestation driver support. This is supposed
to be reviewed by platform-x86 maintainers.
Rest of the patches including the patch titled "tools/tdx: Add a sample
attestation user app" are intended for x86 maintainers review.
Dependencies:
--------------
This feature has dependency on TDX guest core patch set series.
https://lore.kernel.org/all/20220218161718.67148-1-kirill.shutemov@linux.intel.com/T/
History:
----------
Previously this patch set was sent under title "Add TDX Guest
Support (Attestation support)". In the previous version, only the
attestation driver patch was reviewed and got acked. Rest of the
patches need to be reviewed freshly.
https://lore.kernel.org/bpf/20210806000946.2951441-1-sathyanarayanan.kuppuswamy@linux.intel.com/
Changes since v1:
* Moved test driver from "tools/tdx/attest/tdx-attest-test.c" to
"tools/arch/x86/tdx/attest/tdx-attest-test.c" as per Hans review
suggestion.
* Minor commit log and comment fixes in patches titled
"x86/tdx: Add tdx_mcall_tdreport() API support" and "x86/tdx:
Add tdx_hcall_get_quote() API support"
* Extended tdx_hcall_get_quote() API to accept GPA length as argument
to accomodate latest TDQUOTE TDVMCALL related specification update.
* Added support for tdx_setup_ev_notify_handler() and
tdx_remove_ev_notify_handler() in patch titled "x86/tdx: Add TDX
Guest event notify interrupt vector support"
Changes since previous submission:
* Updated commit log and error handling in TDREPORT, GetQuote and
SetupEventNotifyInterrupt support patches.
* Added locking support in attestation driver.
Kuppuswamy Sathyanarayanan (6):
x86/tdx: Add tdx_mcall_tdreport() API support
x86/tdx: Add tdx_hcall_get_quote() API support
x86/tdx: Add SetupEventNotifyInterrupt TDX hypercall support
x86/tdx: Add TDX Guest event notify interrupt vector support
platform/x86: intel_tdx_attest: Add TDX Guest attestation interface
driver
tools/tdx: Add a sample attestation user app
arch/x86/coco/tdx/tdx.c | 180 ++++++++++++
arch/x86/include/asm/hardirq.h | 4 +
arch/x86/include/asm/idtentry.h | 4 +
arch/x86/include/asm/irq_vectors.h | 7 +-
arch/x86/include/asm/tdx.h | 8 +
arch/x86/kernel/irq.c | 7 +
drivers/platform/x86/intel/Kconfig | 1 +
drivers/platform/x86/intel/Makefile | 1 +
drivers/platform/x86/intel/tdx/Kconfig | 13 +
drivers/platform/x86/intel/tdx/Makefile | 3 +
.../platform/x86/intel/tdx/intel_tdx_attest.c | 230 +++++++++++++++
include/uapi/misc/tdx.h | 42 +++
tools/Makefile | 16 +-
tools/arch/x86/tdx/Makefile | 19 ++
tools/arch/x86/tdx/attest/.gitignore | 2 +
tools/arch/x86/tdx/attest/Makefile | 24 ++
tools/arch/x86/tdx/attest/tdx-attest-test.c | 263 ++++++++++++++++++
17 files changed, 820 insertions(+), 4 deletions(-)
create mode 100644 drivers/platform/x86/intel/tdx/Kconfig
create mode 100644 drivers/platform/x86/intel/tdx/Makefile
create mode 100644 drivers/platform/x86/intel/tdx/intel_tdx_attest.c
create mode 100644 include/uapi/misc/tdx.h
create mode 100644 tools/arch/x86/tdx/Makefile
create mode 100644 tools/arch/x86/tdx/attest/.gitignore
create mode 100644 tools/arch/x86/tdx/attest/Makefile
create mode 100644 tools/arch/x86/tdx/attest/tdx-attest-test.c
--
2.25.1
Powered by blists - more mailing lists