[PATCH v1 0/8] Introducing TPM Proxy device support

Daniel Henrique Barboza danielhb413 at gmail.com
Fri May 8 12:06:49 UTC 2020


Hello,

This series implements a new device type for Libvirt called
"TPM Proxy". This device acts as a proxy for TPM requisitions
that the guest can make for an existing TPM Resource Manager
in the host. The TPM Resource Manager multiplexes TPM access
to multiple processes, allowing more than one process (guest)
to use the host TPM at the same time.

A guest using a TPM Proxy device does not have access to all
possible TPM features. In that case the guest will need to
assign a vTPM device (tpm-spapr for PPC64). There is no restrictions
of using both a vTPM and a TPM Proxy device at the same time,
but only one TPM Proxy is allowed per guest.

At this moment, this device exists only for QEMU pSeries guests.
A "model" field was added device to allow more models to be added
when/if other architectures implements it.


Daniel Henrique Barboza (8):
  docs: documentation and schema for the new TPM Proxy device
  qemu: Extend QEMU capabilities with 'spapr-tpm-proxy'
  conf, qemu: adding VIR_DOMAIN_DEVICE_TPMPROXY device
  domain_conf.c: XML parsing for VIR_DOMAIN_DEVICE_TPMPROXY
  tests: add test for domain XML with TPM Proxy device model
  qemu: build command line for the TPM Proxy device
  tests/qemuxml2argvtest.c: add TPM Proxy command line test
  docs/news.xml: update for the new TPM Proxy device

 docs/formatdomain.html.in                     |  42 +++++
 docs/news.xml                                 |  14 ++
 docs/schemas/domaincommon.rng                 |  18 ++
 src/conf/domain_capabilities.c                |   1 +
 src/conf/domain_conf.c                        | 160 ++++++++++++++++++
 src/conf/domain_conf.h                        |  18 ++
 src/conf/virconftypes.h                       |   3 +
 src/libvirt_private.syms                      |   2 +
 src/qemu/qemu_alias.c                         |  16 ++
 src/qemu/qemu_capabilities.c                  |   2 +
 src/qemu/qemu_capabilities.h                  |   1 +
 src/qemu/qemu_command.c                       |  21 +++
 src/qemu/qemu_domain.c                        |  14 ++
 src/qemu/qemu_domain_address.c                |   2 +
 src/qemu/qemu_driver.c                        |   5 +
 src/qemu/qemu_hotplug.c                       |   3 +
 src/qemu/qemu_validate.c                      |  37 ++++
 .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml |   1 +
 .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml |   1 +
 tests/qemuxml2argvdata/ppc64-tpmproxy.args    |  28 +++
 tests/qemuxml2argvdata/ppc64-tpmproxy.xml     |  31 ++++
 tests/qemuxml2argvtest.c                      |   4 +
 tests/qemuxml2xmloutdata/ppc64-tpmproxy.xml   |  37 ++++
 tests/qemuxml2xmltest.c                       |   4 +
 24 files changed, 465 insertions(+)
 create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy.args
 create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy.xml
 create mode 100644 tests/qemuxml2xmloutdata/ppc64-tpmproxy.xml

-- 
2.26.2





More information about the libvir-list mailing list