mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Implement the SEV-TIO (Trusted I/O) firmware interface for PCIe TDISP (Trust Domain In-Socket Protocol). This enables secure communication between trusted domains and PCIe devices through the PSP (Platform Security Processor). The implementation includes: - Device Security Manager (DSM) operations for establishing secure links - SPDM (Security Protocol and Data Model) over DOE (Data Object Exchange) - IDE (Integrity Data Encryption) stream management for secure PCIe This module bridges the SEV firmware stack with the generic PCIe TSM framework. This is phase1 as described in Documentation/driver-api/pci/tsm.rst. On AMD SEV, the AMD PSP firmware acts as TSM (manages the security/trust). The CCP driver provides the interface to it and registers in the TSM subsystem. Detect the PSP support (reported via FEATURE_INFO + SNP_PLATFORM_STATUS) and enable SEV-TIO in the SNP_INIT_EX call if the hardware supports TIO. Implement SEV TIO PSP command wrappers in sev-dev-tio.c and store the data in the SEV-TIO-specific structs. Implement TSM hooks and IDE setup in sev-dev-tsm.c. Signed-off-by: Alexey Kardashevskiy <aik@amd.com> Link: https://patch.msgid.link/692f506bb80c9_261c11004@dwillia2-mobl4.notmuch Acked-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
32 lines
1017 B
Makefile
32 lines
1017 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
obj-$(CONFIG_CRYPTO_DEV_CCP_DD) += ccp.o
|
|
ccp-objs := sp-dev.o sp-platform.o
|
|
ccp-$(CONFIG_CRYPTO_DEV_SP_CCP) += ccp-dev.o \
|
|
ccp-ops.o \
|
|
ccp-dev-v3.o \
|
|
ccp-dev-v5.o \
|
|
ccp-dmaengine.o
|
|
ccp-$(CONFIG_CRYPTO_DEV_CCP_DEBUGFS) += ccp-debugfs.o
|
|
ccp-$(CONFIG_PCI) += sp-pci.o
|
|
ccp-$(CONFIG_CRYPTO_DEV_SP_PSP) += psp-dev.o \
|
|
sev-dev.o \
|
|
tee-dev.o \
|
|
platform-access.o \
|
|
dbc.o \
|
|
hsti.o \
|
|
sfs.o
|
|
|
|
ifeq ($(CONFIG_PCI_TSM),y)
|
|
ccp-$(CONFIG_CRYPTO_DEV_SP_PSP) += sev-dev-tsm.o sev-dev-tio.o
|
|
endif
|
|
|
|
obj-$(CONFIG_CRYPTO_DEV_CCP_CRYPTO) += ccp-crypto.o
|
|
ccp-crypto-objs := ccp-crypto-main.o \
|
|
ccp-crypto-aes.o \
|
|
ccp-crypto-aes-cmac.o \
|
|
ccp-crypto-aes-xts.o \
|
|
ccp-crypto-aes-galois.o \
|
|
ccp-crypto-des3.o \
|
|
ccp-crypto-rsa.o \
|
|
ccp-crypto-sha.o
|