Skip to content

RFC Add TEE interface support to AMD Secure Processor driver

Rijo Thomas linux-crypto lkml 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 RFC Latest6 patches 12 repliesIn review
  2. v2 RFC6 patches 2 repliesSuperseded
  3. v1 RFC5 patches 6 repliesSuperseded

Changes in v3 from the cover letter

* Rebased the patches onto cryptodev-2.6 tree with base commit 4ee812f6143d (crypto: vmx - Avoid weird build failures)

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6crypto: ccp - rename psp-dev files to sev-devdrivers/crypto/ccp/Makefile drivers/crypto/ccp/sev-dev.c drivers/crypto/ccp/sev-dev.h +1 more+9 -92 replies
2/6crypto: ccp - create a generic psp-dev filedrivers/crypto/ccp/Makefile drivers/crypto/ccp/psp-dev.c drivers/crypto/ccp/psp-dev.h +3 more+367 -1931 reply
3/6crypto: ccp - move SEV vdata to a dedicated data structuredrivers/crypto/ccp/sev-dev.c drivers/crypto/ccp/sev-dev.h drivers/crypto/ccp/sp-dev.h +1 more+31 -101 reply
4/6crypto: ccp - check whether PSP supports SEV or TEE before initializationdrivers/crypto/ccp/psp-dev.c+41 -51 reply
5/6crypto: ccp - add TEE support for Raven Ridgedrivers/crypto/ccp/Makefile drivers/crypto/ccp/psp-dev.c drivers/crypto/ccp/psp-dev.h +4 more+431 -41 reply
6/6crypto: ccp - provide in-kernel API to submit TEE commandsdrivers/crypto/ccp/tee-dev.c drivers/crypto/ccp/tee-dev.h include/linux/psp-tee.h+200 -01 reply

Reviews trailers per patch

All 6 patches have a Reviewed-by or Acked-by.

PatchGary R Hook
1/6A-b
2/6A-b
3/6A-b
4/6A-b
5/6A-b
6/6A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [RFC PATCH v3 0/6] Add TEE interface support to AMD Secure Processor driver

The goal of this patch series is to introduce TEE (Trusted Execution Environment) interface support to AMD Secure Processor driver. The TEE is a secure area of a processor which ensures that sensitive data is stored, processed and protected in an isolated and trusted environment. The Platform Security Processor (PSP) is a dedicated processor which provides TEE to enable HW platform security. It offers protection against software attacks generated in Rich Operating System (Rich OS) such as Linux running on x86.

Based on the platform feature support, the PSP is capable of supporting either SEV (Secure Encrypted Virtualization) and/or TEE. The first three patches in this series is about moving SEV specific functions and data structures from PSP device driver file to a dedicated SEV interface driver file. The last two patches add TEE interface support to AMD Secure Processor driver. This TEE interface will be used by AMD-TEE driver to submit command buffers for processing in PSP Trusted Execution Environment.

v3:
* Rebased the patches onto cryptodev-2.6 tree with base commit 4ee812f6143d (crypto: vmx - Avoid weird build failures)

v2:
* Rebased the patches on cryptodev-2.6 tree with base commit d158367682cd (crypto: atmel - Fix selection of CRYPTO_AUTHENC)
* Regenerated patch with correct diff-stat to show file rename
* Used Co-developed-by: tag to give proper credit to co-author

Rijo Thomas (6):
crypto: ccp - rename psp-dev files to sev-dev
crypto: ccp - create a generic psp-dev file
crypto: ccp - move SEV vdata to a dedicated data structure
crypto: ccp - check whether PSP supports SEV or TEE before
initialization
crypto: ccp - add TEE support for Raven Ridge
crypto: ccp - provide in-kernel API to submit TEE commands

 drivers/crypto/ccp/Makefile  |    4 +-
 drivers/crypto/ccp/psp-dev.c | 1033 ++++------------------------------------
 drivers/crypto/ccp/psp-dev.h |   51 +-
 drivers/crypto/ccp/sev-dev.c | 1068 ++++++++++++++++++++++++++++++++++++++++++
 drivers/crypto/ccp/sev-dev.h |   63 +++
 drivers/crypto/ccp/sp-dev.h  |   17 +-
 drivers/crypto/ccp/sp-pci.c  |   43 +-
 drivers/crypto/ccp/tee-dev.c |  364 ++++++++++++++
 drivers/crypto/ccp/tee-dev.h |  110 +++++
 include/linux/psp-tee.h      |   73 +++
 10 files changed, 1842 insertions(+), 984 deletions(-)
 create mode 100644 drivers/crypto/ccp/sev-dev.c
 create mode 100644 drivers/crypto/ccp/sev-dev.h
 create mode 100644 drivers/crypto/ccp/tee-dev.c
 create mode 100644 drivers/crypto/ccp/tee-dev.h
 create mode 100644 include/linux/psp-tee.h

--
1.9.1