Hi,
This does not apply on current master anymore, so I'll need to rebase
it. I'll take the opportunity to move the validation of a single TPM Proxy
and a single regular TPM, that's being done inside domain_conf.c (patch 05),
to a PostParse function inside qemu_domain.c. This way domain_conf.c will
only handle the XML parsing. Only patches 05 and 06 will be affected.
Thanks,
DHB
On 5/15/20 7:24 PM, Daniel Henrique Barboza wrote:
> changes in v4:
> - patch 1: added missing <code> tags
> - comma-escaped the path string in qemu_command.c (patch 8)
> - moved validations not-XML-parsing related from domain_conf.c to qemu_validate.c
> - new patches 3 and 4: cleanups
> - patch 5 (former 3): changed the approach to use a def->tpms array instead of
> def->tpmproxy pointer
> - new patch 6: qemu_validate changes to not clog patch 5 with changes
> - added Jano's and Stefan's r-b when applicable
>
> v3 link: https://www.redhat.com/archives/libvir-list/2020-May/msg00642.html
> v2 link: https://www.redhat.com/archives/libvir-list/2020-May/msg00604.html
> v1 link: https://www.redhat.com/archives/libvir-list/2020-May/msg00604.html
>
> Daniel Henrique Barboza (10):
> docs: documentation and schema for the new TPM Proxy model
> qemu: Extend QEMU capabilities with 'spapr-tpm-proxy'
> qemu_extdevice.c: remove unneeded 'ret' variable
> qemu_tpm, security, tests: change 'switch' clauses for 'if'
> conf, qemu, security, tests: introducing 'def->tpms' array
> qemu_validate.c: add validation for TPM Proxy model
> 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 | 19 ++++-
> docs/news.xml | 17 +++++
> docs/schemas/domaincommon.rng | 1 +
> src/conf/domain_audit.c | 4 +-
> src/conf/domain_conf.c | 72 +++++++++++++-----
> src/conf/domain_conf.h | 6 +-
> src/qemu/qemu_alias.c | 9 ++-
> src/qemu/qemu_capabilities.c | 4 +
> src/qemu/qemu_capabilities.h | 3 +
> src/qemu/qemu_cgroup.c | 10 ++-
> src/qemu/qemu_command.c | 59 +++++++++++---
> src/qemu/qemu_domain.c | 31 +++++---
> src/qemu/qemu_domain_address.c | 11 ++-
> src/qemu/qemu_extdevice.c | 24 +++---
> src/qemu/qemu_tpm.c | 76 +++++++++----------
> src/qemu/qemu_validate.c | 19 +++++
> src/security/security_dac.c | 8 +-
> src/security/security_selinux.c | 44 +++++------
> src/security/virt-aa-helper.c | 14 ++--
> .../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 | 33 +++++---
> .../ppc64-tpmproxy-single.ppc64-latest.xml | 42 ++++++++++
> .../ppc64-tpmproxy-with-tpm.ppc64-latest.xml | 46 +++++++++++
> tests/qemuxml2xmltest.c | 2 +
> 31 files changed, 616 insertions(+), 152 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
>