STRUCT PCI_TSM(9)
β¨ NAME β¨
struct pci_tsm β the core TSM context for a given PCIe endpoint. This is the struct pci_tsm(9) page from the Kernel API Manual, and bestie, it's literally the vibe check for one endpoint's TSM world. Slay. π
π¦ SYNOPSIS π¦
Here's the whole struct, copied exactly so you can trust it fr fr:
struct pci_tsm {
struct pci_dev *pdev;
struct pci_dev *dsm_dev;
struct tsm_dev *tsm_dev;
struct pci_tdi *tdi;
};
π§© Members π§©
pdevβ back ref to the device function; it distinguishes the type ofpci_tsmcontext. πdsm_devβ the PCI Device Security Manager for link operations onpdev. πtsm_devβ the PCI TEE Security Manager device for Link Confidentiality or Device Function Security operations. π₯tdiβ the TDI context established by the bind link operation. π¦
π Description π
Okay so this structure is wrapped by low level TSM driver data and returned by probe/lock; it is freed by the corresponding remove/unlock. Periodt. π«Ά
For link operations, it serves to cache the association between a Device Security Manager (DSM) and the functions that manager can assign to a TVM. That can be "self", for assigning function0 of a TEE I/O device, a sub-function (SR-IOV virtual function, or non-function0 multifunction-device), or a downstream endpoint (PCIe upstream switch-port as DSM). No cap, that's the whole link-up lore. π
π SEE ALSO π
- Kernel file
./include/linux/pci-tsm.h struct pci_tdi(9)struct pci_tsm_pf0(9)enum pci_tsm_req_scope(9)
Source/version: ./include/linux Β· Date: October 2026 Β· page: struct pci_tsm(9) π xoxo, bestie.
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms