linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/8] PCI/TSM: Finalize "Link" TSM infrastructure
@ 2025-11-13  2:14 Dan Williams
  2025-11-13  2:14 ` [PATCH v2 1/8] drivers/virt: Drop VIRT_DRIVERS build dependency Dan Williams
                   ` (7 more replies)
  0 siblings, 8 replies; 22+ messages in thread
From: Dan Williams @ 2025-11-13  2:14 UTC (permalink / raw)
  To: linux-pci; +Cc: linux-coco, Jonathan.Cameron

Changes since v1 [1]:
- Fix build error reported for the commits in linux-next (lkp@intel.com)
- Clarify how TSM drivers can accept / modify default the @mem_assoc and
  @pref_assoc settings (Jonathan)
- Drop the pci_tsm_doe_transfer() stub (Yilun)
- Simple cleanups of reserve_stream_idx() and reserve_stream_id()
  (Jonathan)
- Rename alloc_stream_id() to request_stream_id() (Jonathan)
- Simplify conditional in pci_tsm_bind() (Jonathan)
- Reflow whitespace and spelling fixes (Jonathan)

[1]: http://lore.kernel.org/20251105040055.2832866-1-dan.j.williams@intel.com

Now that the base series has settled [2], here is a collection of topics
to finish off the "Link" side of the PCI/TSM core. Recall that "Link"
refers to all the physical device security aspects of TEE Device
Interface Security Protocol (TDISP) managed by the host kernel / VMM.

[2]: http://lore.kernel.org/20251031212902.2256310-1-dan.j.williams@intel.com

Add support for Address Association registers that helps root port
hardware pick the Selective IDE Stream to use for a downstream memory
transaction.

Add support for devices that expect to have all Stream IDs on the device
configured to unique values even if the given stream is not in use.

Add an operation for requesting a device enter the LOCKED TDISP state
(pci_tsm_bind())). This has no user outside of test code in the staging
tree [3] for now, but examples exist in the SEV-TIO and ARM CCA RFC
branches.

Add an operation for marshaling TDISP collateral and TDISP state change
requests from confidential guests to the platform TSM
(pci_tsm_guest_req()). This too has no consumer in the staging branch
outside of the samples/devsec/ test module, but is used in the vendor
RFC branches that will soon be incorporated into the staging branch.

These patches have previously appeared in the tsm.git#staging branch [4]
for integration testing.

[3]: https://git.kernel.org/pub/scm/linux/kernel/git/devsec/tsm.git/tree/samples/devsec/link_tsm.c?h=staging#n306
[4]: https://git.kernel.org/pub/scm/linux/kernel/git/devsec/tsm.git/log/?h=staging

Dan Williams (7):
  drivers/virt: Drop VIRT_DRIVERS build dependency
  PCI/TSM: Drop stub for pci_tsm_doe_transfer()
  resource: Introduce resource_assigned() for discerning active
    resources
  PCI/IDE: Initialize an ID for all IDE streams
  PCI/TSM: Add pci_tsm_bind() helper for instantiating TDIs
  PCI/TSM: Add pci_tsm_guest_req() for managing TDIs
  PCI/TSM: Add 'dsm' and 'bound' attributes for dependent functions

Xu Yilun (1):
  PCI/IDE: Add Address Association Register setup for downstream MMIO

 drivers/Makefile                        |   2 +-
 Documentation/ABI/testing/sysfs-bus-pci |  30 +++
 drivers/pci/pci.h                       |   2 +
 include/linux/ioport.h                  |   9 +
 include/linux/pci-ide.h                 |  38 +++
 include/linux/pci-tsm.h                 |  92 +++++++-
 include/linux/pci.h                     |   6 +
 drivers/pci/ide.c                       | 244 ++++++++++++++++++-
 drivers/pci/remove.c                    |   1 +
 drivers/pci/tsm.c                       | 299 ++++++++++++++++++++++--
 10 files changed, 689 insertions(+), 34 deletions(-)


base-commit: a4438f06b1db15ce3d831ce82b8767665638aa2a
-- 
2.51.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2025-11-17 15:13 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-13  2:14 [PATCH v2 0/8] PCI/TSM: Finalize "Link" TSM infrastructure Dan Williams
2025-11-13  2:14 ` [PATCH v2 1/8] drivers/virt: Drop VIRT_DRIVERS build dependency Dan Williams
2025-11-13 11:28   ` Jonathan Cameron
2025-11-13  2:14 ` [PATCH v2 2/8] PCI/TSM: Drop stub for pci_tsm_doe_transfer() Dan Williams
2025-11-13 11:29   ` Jonathan Cameron
2025-11-13  2:14 ` [PATCH v2 3/8] resource: Introduce resource_assigned() for discerning active resources Dan Williams
2025-11-13 11:36   ` Jonathan Cameron
2025-11-13  2:14 ` [PATCH v2 4/8] PCI/IDE: Add Address Association Register setup for downstream MMIO Dan Williams
2025-11-13 11:48   ` Jonathan Cameron
2025-11-14  1:02   ` [PATCH v3 " Dan Williams
2025-11-13  2:14 ` [PATCH v2 5/8] PCI/IDE: Initialize an ID for all IDE streams Dan Williams
2025-11-13 11:52   ` Jonathan Cameron
2025-11-17 11:11   ` Xu Yilun
2025-11-13  2:14 ` [PATCH v2 6/8] PCI/TSM: Add pci_tsm_bind() helper for instantiating TDIs Dan Williams
2025-11-13 12:01   ` Jonathan Cameron
2025-11-13 20:41     ` dan.j.williams
2025-11-17 11:30   ` Xu Yilun
2025-11-13  2:14 ` [PATCH v2 7/8] PCI/TSM: Add pci_tsm_guest_req() for managing TDIs Dan Williams
2025-11-13 12:04   ` Jonathan Cameron
2025-11-17 11:57   ` Xu Yilun
2025-11-13  2:14 ` [PATCH v2 8/8] PCI/TSM: Add 'dsm' and 'bound' attributes for dependent functions Dan Williams
2025-11-17 14:58   ` Xu Yilun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).