qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/3] Initial support for SPDM Responders
@ 2024-06-14  1:28 Alistair Francis
  2024-06-14  1:28 ` [PATCH v7 1/3] hw/pci: Add all Data Object Types defined in PCIe r6.0 Alistair Francis
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Alistair Francis @ 2024-06-14  1:28 UTC (permalink / raw)
  To: wilfred.mallawa, marcel.apfelbaum, lukas, qemu-devel, mst,
	Jonathan.Cameron, kbusch, hchkuo, cbrowy, its, jiewen.yao
  Cc: Alistair Francis, qemu-block, Paolo Bonzini, alistair23,
	Jesper Devantier

The Security Protocol and Data Model (SPDM) Specification defines
messages, data objects, and sequences for performing message exchanges
over a variety of transport and physical media.
 - https://www.dmtf.org/sites/default/files/standards/documents/DSP0274_1.3.0.pdf

SPDM currently supports PCIe DOE and MCTP transports, but it can be
extended to support others in the future. This series adds
support to QEMU to connect to an external SPDM instance.

SPDM support can be added to any QEMU device by exposing a
TCP socket to a SPDM server. The server can then implement the SPDM
decoding/encoding support, generally using libspdm [1].

This is similar to how the current TPM implementation works and means
that the heavy lifting of setting up certificate chains, capabilities,
measurements and complex crypto can be done outside QEMU by a well
supported and tested library.

This series implements socket support and exposes SPDM for a NVMe device.

1: https://github.com/DMTF/libspdm

v7:
 - Fixup checkpatch failures
 - Fixup test failures
 - Rename port name to be clearer
v6:
 - Add documentation to public functions
 - Rename socket variable to spdm_socket
 - Don't override errp
 - Correctly return false from nvme_init_pci() on error
v5:
 - Update MAINTAINERS
v4:
 - Rebase
v3:
 - Spelling fixes
 - Support for SPDM-Utils
v2:
 - Add cover letter
 - A few code fixes based on comments
 - Document SPDM-Utils
 - A few tweaks and clarifications to the documentation

Alistair Francis (1):
  hw/pci: Add all Data Object Types defined in PCIe r6.0

Huai-Cheng Kuo (1):
  backends: Initial support for SPDM socket support

Wilfred Mallawa (1):
  hw/nvme: Add SPDM over DOE support

 MAINTAINERS                  |   6 +
 docs/specs/index.rst         |   1 +
 docs/specs/spdm.rst          | 134 ++++++++++++++++++++++
 include/hw/pci/pci_device.h  |   7 ++
 include/hw/pci/pcie_doe.h    |   5 +
 include/sysemu/spdm-socket.h |  74 ++++++++++++
 backends/spdm-socket.c       | 216 +++++++++++++++++++++++++++++++++++
 hw/nvme/ctrl.c               |  60 ++++++++++
 backends/Kconfig             |   4 +
 backends/meson.build         |   2 +
 10 files changed, 509 insertions(+)
 create mode 100644 docs/specs/spdm.rst
 create mode 100644 include/sysemu/spdm-socket.h
 create mode 100644 backends/spdm-socket.c

-- 
2.45.2



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

end of thread, other threads:[~2024-07-02 13:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-14  1:28 [PATCH v7 0/3] Initial support for SPDM Responders Alistair Francis
2024-06-14  1:28 ` [PATCH v7 1/3] hw/pci: Add all Data Object Types defined in PCIe r6.0 Alistair Francis
2024-06-14  1:52   ` Wilfred Mallawa
2024-06-14  1:28 ` [PATCH v7 2/3] backends: Initial support for SPDM socket support Alistair Francis
2024-06-14  1:28 ` [PATCH v7 3/3] hw/nvme: Add SPDM over DOE support Alistair Francis
2024-06-14  1:56   ` Wilfred Mallawa
2024-07-02 13:27   ` Michael S. Tsirkin

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).