This series adds support for SPDM to be used over the storage transport, as defined by the DMTF DSP0286 [1] for NVMe. That is, using the admin NVMe Security Send/Receive commands, support transport for SPDM as per DSP0286 [1]. The binding specification (DSP0286) is still currently a draft specification that has an "Expected release Q4 2024" [2].
In anticipation of it's release, this series is an RFC. [1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0286_1.0.0WIP90.pdf [2] https://www.dmtf.org/content/now-available-%E2%80%93-spdm-storage-binding-specification-wip Changes V1 -> V2: - Split out the SPDM Socket API patch for separate send/recv functions - Addressed comments from Klaus Jensen - Dropped unnecessary allocation length check - Dropped unnecessary alloc_len alignment check - Fixed up `nvme_security_receive: dw10` SPSP bit-masking Wilfred Mallawa (3): spdm: add spdm storage transport virtual header hw/nvme: add NVMe Admin Security SPDM support hw/nvme: connect SPDM over NVMe Security Send/Recv docs/specs/spdm.rst | 10 +- hw/nvme/ctrl.c | 265 +++++++++++++++++++++++++++++++++-- hw/nvme/nvme.h | 5 + include/block/nvme.h | 15 ++ include/hw/pci/pci_device.h | 1 + include/system/spdm-socket.h | 12 ++ 6 files changed, 294 insertions(+), 14 deletions(-) -- 2.48.0