Changes in v2:
In this second spin, instead of adding a new Libvirt device,
the pSeries TPM Proxy device is at its core a regular TPM
passthrough device. What makes it different is that it has
its own domain pointer called 'tpmproxy' and it has its own
restriction of 'only one TPM Proxy per domain'. This means
that the combination of TPM Proxy and another TPM model/type
is supported. No changes to the existing non-proxy TPM
support was made. This change of design affected all patches
but patch 02.
Other changes:
- even more unit tests added to make sure we're not messing
with things we shouldn't
- more descriptive commit messages to make it clearer the
intention/use case of the TPM Proxy device and how it interacts with
the existing TPM models.
v1 link: https://www.redhat.com/archives/libvir-list/2020-May/msg00351.html
Daniel Henrique Barboza (8):
docs: documentation and schema for the new TPM Proxy model
qemu: Extend QEMU capabilities with 'spapr-tpm-proxy'
conf, qemu: adding 'tpmproxy' in domain definition
domain_conf.c: XML parsing for VIR_DOMAIN_TPM_MODEL_SPAPR_PROXY
tests: add XML schema tests for the TPM Proxy device
qemu: build command line for the TPM Proxy device
tests/qemuxml2argvtest.c: add TPM Proxy command line tests
docs/news.xml: update for the new TPM Proxy device
docs/formatdomain.html.in | 16 ++++-
docs/news.xml | 15 +++++
docs/schemas/domaincommon.rng | 1 +
src/conf/domain_audit.c | 3 +
src/conf/domain_conf.c | 65 +++++++++++++++++--
src/conf/domain_conf.h | 2 +
src/qemu/qemu_alias.c | 16 +++++
src/qemu/qemu_capabilities.c | 4 ++
src/qemu/qemu_capabilities.h | 3 +
src/qemu/qemu_cgroup.c | 12 +++-
src/qemu/qemu_command.c | 21 ++++++
src/qemu/qemu_domain.c | 9 +--
src/qemu/qemu_validate.c | 12 ++++
src/security/security_dac.c | 14 ++++
src/security/security_selinux.c | 11 ++++
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 +
tests/qemuxml2argvdata/ppc64-tpm-double.xml | 34 ++++++++++
.../ppc64-tpmproxy-double.xml | 38 +++++++++++
.../ppc64-tpmproxy-single.ppc64-latest.args | 34 ++++++++++
.../ppc64-tpmproxy-single.xml | 33 ++++++++++
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args | 37 +++++++++++
.../ppc64-tpmproxy-with-tpm.xml | 36 ++++++++++
tests/qemuxml2argvtest.c | 15 +++++
.../ppc64-tpmproxy-single.ppc64-latest.xml | 42 ++++++++++++
.../ppc64-tpmproxy-with-tpm.ppc64-latest.xml | 46 +++++++++++++
tests/qemuxml2xmltest.c | 2 +
27 files changed, 511 insertions(+), 12 deletions(-)
create mode 100644 tests/qemuxml2argvdata/ppc64-tpm-double.xml
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-double.xml
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-single.ppc64-latest.args
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-single.xml
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.ppc64-latest.args
create mode 100644 tests/qemuxml2argvdata/ppc64-tpmproxy-with-tpm.xml
create mode 100644 tests/qemuxml2xmloutdata/ppc64-tpmproxy-single.ppc64-latest.xml
create mode 100644 tests/qemuxml2xmloutdata/ppc64-tpmproxy-with-tpm.ppc64-latest.xml
--
2.26.2