ENUM PCI_TSM_REQ_SCOPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ enum pci_tsm_req_scope(9) ✨

okay bestie, welcome to enum pci_tsm_req_scope(9) β€” literally the "what kind of request is this even" enum from the Kernel API Manual. it's the scope of guest requests that the TSM has to validate, and yes it's as niche and as iconic as it sounds πŸ’…


🌸 NAME 🌸

enum pci_tsm_req_scope β€” the scope of guest requests that get validated by the TSM, no cap 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

enum pci_tsm_req_scope {
    PCI_TSM_REQ_INFO ,
    PCI_TSM_REQ_STATE_CHANGE ,
    PCI_TSM_REQ_DEBUG_READ ,
    PCI_TSM_REQ_DEBUG_WRITE

};

(yes the spaces before the commas are literally in the source, leave them alone, they're doing their thing ✨)


πŸŽ€ Constants πŸŽ€

so there's four of them and each one has a whole personality, let's go πŸ’–

  • PCI_TSM_REQ_INFO β€” read-only, zero side effects, just your typical TDISP collateral info request, like Device Interface Reports. no device secrets are permitted, and no device state gets changed. pure vibes, zero consequences 🌈
  • PCI_TSM_REQ_STATE_CHANGE β€” a request to change the TDISP state from UNLOCKED->LOCKED, LOCKED->RUN, or other architecture specific state changes to support those transitions for a TDI. and like… nothing else. no other device / host state, configuration, or data change is permitted β€” nothing unrelated to TDISP, okay? stay in your lane πŸ™ˆ
  • PCI_TSM_REQ_DEBUG_READ β€” read-only request for debug information. it's a method to facilitate TVM information retrieval outside of typical TDISP operational requirements. no device secrets are permitted. just peeking, not touching πŸ‘€
  • PCI_TSM_REQ_DEBUG_WRITE β€” device state changes for debug purposes πŸ”₯ the request may affect the operational state of the device outside of the TDISP operational model. and if it's allowed, it requires CAP_SYS_RAW_IO, and will taint the kernel.
bestie listen to me. PCI_TSM_REQ_DEBUG_WRITE taints the kernel. that's not a cute little warning, that's a real one. it also needs CAP_SYS_RAW_IO. treat it with the respect it deserves πŸ’€

🧚 Description 🧚

okay so guest requests are basically the transport that lets a TVM talk to a TSM + DSM for a given TDI 🫢

and the TSM driver? it's the one holding it down β€” it's responsible for maintaining the kernel security model, and for limiting commands that may affect the host, or that are otherwise outside the typical TDISP operational model. main character energy but make it security πŸ™


⭐ SEE ALSO ⭐

  • Kernel file ./include/linux/pci-tsm.h
  • struct pci_tdi(9)
  • struct pci_tsm(9)
  • struct pci_tsm_pf0(9)

go read those too, iykyk πŸ’œ


and that's the whole page bestie, no notes πŸ’… this one lives in ./include/linux and it's dated October 2026 β€” so like, future iconic behavior honestly πŸ¦‹ stay safe out there and please don't taint your kernel on main πŸŽ€πŸ’–βœ¨

πŸ“¦ where this page comes from