[libvirt PATCH 00/10] Cleanup and test more firmware handling scenarios
Michal Prívozník
mprivozn at redhat.com
Wed Feb 16 13:17:55 UTC 2022
On 2/15/22 19:54, Daniel P. Berrangé wrote:
> There are a mind bending number of possible ways to configure the
> firmware with/without NVRAM. Only a small portion are tested and
> many error scenarios are silently ignored.
>
> This series attempts to get coverage of every possible XML config
> scenario and report explicit errors in all invalid configs.
>
> There is an open question on patch 4. Essentially the use of NVRAM
> combined with writable executable feels like an accidental feature
> in libvirt that hasn't really been thought through. I'd like to
> better define expectations here but there are several possible
> strategies and I'm undecided which is best.
>
> Daniel P. Berrangé (10):
> qemu: fix bad indentation for qemuDomainNVRAMPathFormat
> tests: add explicit test case for pflash loader lacking path
> tests: add test case for NVRAM with template
> conf: validate NVRAM template usage with R/W loader binary
> tests: don't permit NVRAM path when using firmware auto-select
> qemu: inline code for filling in per-VM NVRAM path
> conf: rename struct field for NVRAM template
> conf: switch nvram parsing to use XML node / property helpers
> conf: move nvram parsing into virDomainLoaderDefParseXML
> conf: stop ignoring <loader>/<nvram> with firmware auto-select
>
> src/conf/domain_conf.c | 121 +++++++++++-------
> src/conf/domain_conf.h | 2 +-
> src/qemu/qemu_domain.c | 18 +--
> src/qemu/qemu_domain.h | 8 +-
> src/qemu/qemu_firmware.c | 13 +-
> src/qemu/qemu_process.c | 4 +-
> tests/qemuxml2argvdata/bios-nvram-no-path.err | 1 +
> tests/qemuxml2argvdata/bios-nvram-no-path.xml | 19 +++
> ...-nvram-rw-template-vars.x86_64-latest.args | 41 ++++++
> .../bios-nvram-rw-template-vars.xml | 36 ++++++
> .../bios-nvram-rw-template.err | 1 +
> .../bios-nvram-rw-template.xml | 36 ++++++
> .../bios-nvram-rw-vars.x86_64-latest.args | 41 ++++++
> tests/qemuxml2argvdata/bios-nvram-rw-vars.xml | 36 ++++++
> .../bios-nvram-template.x86_64-latest.args | 37 ++++++
> .../qemuxml2argvdata/bios-nvram-template.xml | 21 +++
> tests/qemuxml2argvdata/os-firmware-bios.xml | 1 -
> .../os-firmware-efi-bad-loader-path.err | 1 +
> .../os-firmware-efi-bad-loader-path.xml | 67 ++++++++++
> .../os-firmware-efi-bad-loader-type.err | 1 +
> .../os-firmware-efi-bad-loader-type.xml | 67 ++++++++++
> .../os-firmware-efi-bad-nvram-path.err | 1 +
> .../os-firmware-efi-bad-nvram-path.xml | 68 ++++++++++
> .../os-firmware-efi-bad-nvram-template.err | 1 +
> .../os-firmware-efi-bad-nvram-template.xml | 68 ++++++++++
> .../os-firmware-efi-secboot.xml | 1 -
> tests/qemuxml2argvdata/os-firmware-efi.xml | 1 -
> tests/qemuxml2argvtest.c | 9 ++
> .../os-firmware-bios.x86_64-latest.xml | 1 -
> .../os-firmware-efi-secboot.x86_64-latest.xml | 1 -
> .../os-firmware-efi.x86_64-latest.xml | 1 -
> 31 files changed, 647 insertions(+), 77 deletions(-)
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-no-path.err
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-no-path.xml
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template-vars.x86_64-latest.args
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template-vars.xml
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template.err
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-template.xml
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-vars.x86_64-latest.args
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-rw-vars.xml
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-template.x86_64-latest.args
> create mode 100644 tests/qemuxml2argvdata/bios-nvram-template.xml
> create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-path.err
> create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-path.xml
> create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-type.err
> create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-loader-type.xml
> create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-path.err
> create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-path.xml
> create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-template.err
> create mode 100644 tests/qemuxml2argvdata/os-firmware-efi-bad-nvram-template.xml
>
Reviewed-by: Michal Privoznik <mprivozn at redhat.com>
Michal
More information about the libvir-list
mailing list