[PATCH 0/5] Support for launchSecurity type papr-pef

Daniel Henrique Barboza posted 5 patches 2 years, 11 months ago
Failed in applying to current master (apply log)
docs/formatdomain.rst                         |     4 +
docs/schemas/domaincommon.rng                 |     1 +
src/conf/domain_conf.c                        |     3 +
src/conf/domain_conf.h                        |     1 +
src/qemu/qemu_capabilities.c                  |     2 +
src/qemu/qemu_capabilities.h                  |     1 +
src/qemu/qemu_command.c                       |    26 +
src/qemu/qemu_namespace.c                     |     1 +
src/qemu/qemu_process.c                       |     1 +
src/qemu/qemu_validate.c                      |     8 +
tests/domaincapsdata/qemu_6.1.0.ppc64.xml     |   133 +
.../launch-security-papr-pef.xml              |    22 +
tests/genericxml2xmltest.c                    |     1 +
.../caps_6.1.0.ppc64.replies                  | 30368 ++++++++++++++++
.../qemucapabilitiesdata/caps_6.1.0.ppc64.xml |  1175 +
...default-video-type-ppc64.ppc64-latest.args |     5 +-
...y-papr-pef-ignore-policy.ppc64-latest.args |    30 +
...launch-security-papr-pef-ignore-policy.xml |    19 +
...launch-security-papr-pef.ppc64-latest.args |    30 +
.../launch-security-papr-pef.xml              |    16 +
...ault-cpu-kvm-pseries-2.7.ppc64-latest.args |     5 +-
...ault-cpu-kvm-pseries-3.1.ppc64-latest.args |     5 +-
...ault-cpu-kvm-pseries-4.2.ppc64-latest.args |     5 +-
...ault-cpu-tcg-pseries-2.7.ppc64-latest.args |     5 +-
...ault-cpu-tcg-pseries-3.1.ppc64-latest.args |     5 +-
...ault-cpu-tcg-pseries-4.2.ppc64-latest.args |     5 +-
.../ppc64-pseries-graphics.ppc64-latest.args  |     7 +-
.../ppc64-pseries-headless.ppc64-latest.args  |     7 +-
.../ppc64-tpmproxy-single.ppc64-latest.args   |     5 +-
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args |     5 +-
.../tpm-emulator-spapr.ppc64-latest.args      |     5 +-
tests/qemuxml2argvtest.c                      |     3 +
32 files changed, 31871 insertions(+), 38 deletions(-)
create mode 100644 tests/domaincapsdata/qemu_6.1.0.ppc64.xml
create mode 100644 tests/genericxml2xmlindata/launch-security-papr-pef.xml
create mode 100644 tests/qemucapabilitiesdata/caps_6.1.0.ppc64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_6.1.0.ppc64.xml
create mode 100644 tests/qemuxml2argvdata/launch-security-papr-pef-ignore-policy.ppc64-latest.args
create mode 100644 tests/qemuxml2argvdata/launch-security-papr-pef-ignore-policy.xml
create mode 100644 tests/qemuxml2argvdata/launch-security-papr-pef.ppc64-latest.args
create mode 100644 tests/qemuxml2argvdata/launch-security-papr-pef.xml
[PATCH 0/5] Support for launchSecurity type papr-pef
Posted by Daniel Henrique Barboza 2 years, 11 months ago
Hi,

This is the implementation of ppc64 secure guest execution, known
as PAPR-PEF. This implementation is based on the new
confidential-guest-support machine option that is available in
QEMU 6.0.0.

The patches were done on top of Boris s390-pv patches that were
sent by review [1] given that Boris provided a common base for
new security launches there.

The series is also available in gitlab:
https://gitlab.com/danielhb/libvirt/-/tree/papr_pef_v1



Note: If someone wishes to give this series a try, considering that you
have a host with proper PowerPC PEF hardware, be aware that there is
a QEMU bug in which launching a PAPR-PEF guest will trigger an early
assert [2]. The fix is not merged upstream at the moment of this
posting, so you'll need to apply the patch yourself or build
QEMU using David Gibson's ppc-for-6.1 tree [3].

[1] https://listman.redhat.com/archives/libvir-list/2021-May/msg00570.html
[2] https://lists.gnu.org/archive/html/qemu-devel/2021-05/msg08491.html
[3] https://gitlab.com/dgibson/qemu/-/tree/ppc-for-6.1

Daniel Henrique Barboza (5):
  tests: Add QEMU and domain ppc64 capapbilities for qemu 6.1
  qemu: add 'pef-guest' capability
  conf, qemu: add 'papr-pef' launch security type
  tests: add tests for 'papr-pef' support
  docs/formatdomain.rst: add 'papr-pef' launchSecurity docs

 docs/formatdomain.rst                         |     4 +
 docs/schemas/domaincommon.rng                 |     1 +
 src/conf/domain_conf.c                        |     3 +
 src/conf/domain_conf.h                        |     1 +
 src/qemu/qemu_capabilities.c                  |     2 +
 src/qemu/qemu_capabilities.h                  |     1 +
 src/qemu/qemu_command.c                       |    26 +
 src/qemu/qemu_namespace.c                     |     1 +
 src/qemu/qemu_process.c                       |     1 +
 src/qemu/qemu_validate.c                      |     8 +
 tests/domaincapsdata/qemu_6.1.0.ppc64.xml     |   133 +
 .../launch-security-papr-pef.xml              |    22 +
 tests/genericxml2xmltest.c                    |     1 +
 .../caps_6.1.0.ppc64.replies                  | 30368 ++++++++++++++++
 .../qemucapabilitiesdata/caps_6.1.0.ppc64.xml |  1175 +
 ...default-video-type-ppc64.ppc64-latest.args |     5 +-
 ...y-papr-pef-ignore-policy.ppc64-latest.args |    30 +
 ...launch-security-papr-pef-ignore-policy.xml |    19 +
 ...launch-security-papr-pef.ppc64-latest.args |    30 +
 .../launch-security-papr-pef.xml              |    16 +
 ...ault-cpu-kvm-pseries-2.7.ppc64-latest.args |     5 +-
 ...ault-cpu-kvm-pseries-3.1.ppc64-latest.args |     5 +-
 ...ault-cpu-kvm-pseries-4.2.ppc64-latest.args |     5 +-
 ...ault-cpu-tcg-pseries-2.7.ppc64-latest.args |     5 +-
 ...ault-cpu-tcg-pseries-3.1.ppc64-latest.args |     5 +-
 ...ault-cpu-tcg-pseries-4.2.ppc64-latest.args |     5 +-
 .../ppc64-pseries-graphics.ppc64-latest.args  |     7 +-
 .../ppc64-pseries-headless.ppc64-latest.args  |     7 +-
 .../ppc64-tpmproxy-single.ppc64-latest.args   |     5 +-
 .../ppc64-tpmproxy-with-tpm.ppc64-latest.args |     5 +-
 .../tpm-emulator-spapr.ppc64-latest.args      |     5 +-
 tests/qemuxml2argvtest.c                      |     3 +
 32 files changed, 31871 insertions(+), 38 deletions(-)
 create mode 100644 tests/domaincapsdata/qemu_6.1.0.ppc64.xml
 create mode 100644 tests/genericxml2xmlindata/launch-security-papr-pef.xml
 create mode 100644 tests/qemucapabilitiesdata/caps_6.1.0.ppc64.replies
 create mode 100644 tests/qemucapabilitiesdata/caps_6.1.0.ppc64.xml
 create mode 100644 tests/qemuxml2argvdata/launch-security-papr-pef-ignore-policy.ppc64-latest.args
 create mode 100644 tests/qemuxml2argvdata/launch-security-papr-pef-ignore-policy.xml
 create mode 100644 tests/qemuxml2argvdata/launch-security-papr-pef.ppc64-latest.args
 create mode 100644 tests/qemuxml2argvdata/launch-security-papr-pef.xml

-- 
2.31.1