]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PCI/TSM: Add pci_tsm_bind() helper for instantiating TDIs
authorDan Williams <dan.j.williams@intel.com>
Thu, 13 Nov 2025 02:14:44 +0000 (18:14 -0800)
committerDan Williams <dan.j.williams@intel.com>
Fri, 14 Nov 2025 23:06:57 +0000 (15:06 -0800)
commit50cbec192f5317e29be993e2a634bbbdfcf0230e
tree04bc891186b774c23d2911314664c9e06842a69e
parent079115370d00c78ef69b31dd15def90adf2aa579
PCI/TSM: Add pci_tsm_bind() helper for instantiating TDIs

After a PCIe device has established a secure link and session between a TEE
Security Manager (TSM) and its local Device Security Manager (DSM), the
device or its subfunctions are candidates to be bound to a private memory
context, a TVM. A PCIe device function interface assigned to a TVM is a TEE
Device Interface (TDI).

The pci_tsm_bind() requests the low-level TSM driver to associate the
device with private MMIO and private IOMMU context resources of a given TVM
represented by a @kvm argument. A device in the bound state corresponds to
the TDISP protocol LOCKED state and awaits validation by the TVM. It is a
'struct pci_tsm_link_ops' operation because, similar to IDE establishment,
it involves host side resource establishment and context setup on behalf of
the guest. It is also expected to be performed lazily to allow for
operation of the device in non-confidential "shared" context for pre-lock
configuration.

Co-developed-by: Xu Yilun <yilun.xu@linux.intel.com>
Signed-off-by: Xu Yilun <yilun.xu@linux.intel.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Link: https://patch.msgid.link/20251113021446.436830-7-dan.j.williams@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/pci/tsm.c
include/linux/pci-tsm.h