[PATCH 00/13] qemu: NVRAM template handling fixes and support for block device backed NVRAM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch fixes a few quirks regarding block device use for NVRAM
backing and introduces support for populating the block device from
template.

Peter Krempa (13):
  qemuPrepareNVRAM: Don't attempt to create NVRAM on block device
  qemuFirmwareEnsureNVRAM: Don't try to setup non-local nvram
  qemu: Install backing store terminators for 'pflash' blockdevs
  conf: domain: Clarify nvram/loader format logic
  docs: formatdomain: Clarify that NVRAM template is also being
    autoselected
  firmware: Add 'templateFormat' XML attribute and plumb it in
  conf: domain: Output 'format' attribute of '<nvram>' also for' raw
    images
  conf: Always format firmware image format
  qemuPrepareNVRAM: Refuse conversion of NVRAM backing file format
  qemuFirmwareMatchDomain: Don't base firmware selection on nvram image
    format
  conf: Remove nonsensical requirement of nvram format matching firmware
    format
  qemu: process: Extract setup of file-backed nvram from template
  qemu: process: Introduce setup of block-device backed NVRAM

 docs/formatdomain.rst                         |  22 +--
 src/conf/domain_conf.c                        |  62 +++++----
 src/conf/domain_conf.h                        |   1 +
 src/conf/schemas/domaincommon.rng             |  17 ++-
 src/qemu/qemu_domain.c                        |   2 +
 src/qemu/qemu_firmware.c                      |  47 ++++---
 src/qemu/qemu_process.c                       | 127 +++++++++++++++---
 .../aarch64-virt-graphics.aarch64-latest.xml  |   4 +-
 ...ch64-virt-headless-mmio.aarch64-latest.xml |   4 +-
 .../aarch64-virt-headless.aarch64-latest.xml  |   4 +-
 ...ware-auto-bios-stateless.x86_64-latest.xml |   2 +-
 .../firmware-auto-bios.x86_64-latest.xml      |   2 +-
 ...efi-aarch64.aarch64-latest.abi-update.args |   4 +-
 ...-efi-aarch64.aarch64-latest.abi-update.xml |   2 +-
 ...rmware-auto-efi-aarch64.aarch64-latest.xml |   4 +-
 ...e-auto-efi-enrolled-keys.x86_64-latest.xml |   4 +-
 ...loader-qcow2-nvram-path.x86_64-latest.args |   4 +-
 ...-loader-qcow2-nvram-path.x86_64-latest.xml |   2 +-
 ...efi-format-loader-qcow2.x86_64-latest.args |   4 +-
 ...-efi-format-loader-qcow2.x86_64-latest.xml |   2 +-
 ...t-loader-raw.aarch64-latest.abi-update.xml |   4 +-
 ...o-efi-format-loader-raw.aarch64-latest.xml |   4 +-
 ...uto-efi-format-mismatch.x86_64-latest.args |  37 +++++
 ...auto-efi-format-mismatch.x86_64-latest.err |   1 -
 ...auto-efi-format-mismatch.x86_64-latest.xml |  41 ++++++
 .../firmware-auto-efi-format-mismatch.xml     |   4 +-
 ...nvram-qcow2-network-nbd.x86_64-latest.args |   6 +-
 ...-nvram-qcow2-network-nbd.x86_64-latest.xml |   2 +-
 ...uto-efi-format-nvram-qcow2-network-nbd.xml |   2 +-
 ...format-nvram-qcow2-path.x86_64-latest.args |   4 +-
 ...-format-nvram-qcow2-path.x86_64-latest.xml |   2 +-
 ...-efi-format-nvram-qcow2.x86_64-latest.args |   4 +-
 ...o-efi-format-nvram-qcow2.x86_64-latest.xml |   2 +-
 ...auto-efi-loader-insecure.x86_64-latest.xml |   4 +-
 ...-loader-path-nonstandard.x86_64-latest.xml |   2 +-
 ...are-auto-efi-loader-path.x86_64-latest.xml |   4 +-
 ...oader-secure.x86_64-latest.abi-update.args |   4 +-
 ...loader-secure.x86_64-latest.abi-update.xml |   2 +-
 ...e-auto-efi-loader-secure.x86_64-latest.xml |   4 +-
 ...ngarch64.loongarch64-latest.abi-update.xml |   4 +-
 ...uto-efi-loongarch64.loongarch64-latest.xml |   4 +-
 ...uto-efi-no-enrolled-keys.x86_64-latest.xml |   4 +-
 ...ware-auto-efi-no-secboot.x86_64-latest.xml |   4 +-
 ...ware-auto-efi-nvram-file.x86_64-latest.xml |   4 +-
 ...-efi-nvram-network-iscsi.x86_64-latest.xml |   4 +-
 ...to-efi-nvram-network-nbd.x86_64-latest.xml |   4 +-
 ...ware-auto-efi-nvram-path.x86_64-latest.xml |   4 +-
 ...ram-template-nonstandard.x86_64-latest.xml |   2 +-
 ...-auto-efi-nvram-template.x86_64-latest.xml |   4 +-
 ...efi-riscv64.riscv64-latest.abi-update.args |   4 +-
 ...-efi-riscv64.riscv64-latest.abi-update.xml |   2 +-
 ...mware-auto-efi-rw-pflash.x86_64-latest.xml |   2 +-
 .../firmware-auto-efi-rw.x86_64-latest.xml    |   2 +-
 ...irmware-auto-efi-secboot.x86_64-latest.xml |   4 +-
 ...irmware-auto-efi-smm-off.x86_64-latest.xml |   4 +-
 ...mware-auto-efi-stateless.x86_64-latest.xml |   2 +-
 ...are-auto-efi.x86_64-latest.abi-update.args |   4 +-
 ...ware-auto-efi.x86_64-latest.abi-update.xml |   2 +-
 .../firmware-auto-efi.x86_64-latest.xml       |   4 +-
 ...re-manual-bios-stateless.x86_64-latest.xml |   2 +-
 .../firmware-manual-bios.x86_64-latest.xml    |   2 +-
 ...fi-aarch64-legacy-paths.aarch64-latest.xml |   4 +-
 ...manual-efi-acpi-aarch64.aarch64-latest.xml |   4 +-
 ...ware-manual-efi-acpi-q35.x86_64-latest.xml |   4 +-
 ...ware-manual-efi-features.x86_64-latest.xml |   4 +-
 ...-loader-path-nonstandard.x86_64-latest.xml |   4 +-
 ...manual-efi-loader-secure.x86_64-latest.xml |   4 +-
 ...rolled-keys-legacy-paths.x86_64-latest.xml |   4 +-
 ...ual-efi-no-enrolled-keys.x86_64-latest.xml |   4 +-
 ...-no-secboot-legacy-paths.x86_64-latest.xml |   4 +-
 ...re-manual-efi-no-secboot.x86_64-latest.xml |   4 +-
 ...nual-efi-noacpi-aarch64.aarch64-latest.xml |   4 +-
 ...re-manual-efi-nvram-file.x86_64-latest.xml |   4 +-
 ...-efi-nvram-network-iscsi.x86_64-latest.xml |   4 +-
 ...al-efi-nvram-network-nbd.x86_64-latest.xml |   4 +-
 ...ram-template-nonstandard.x86_64-latest.xml |   4 +-
 ...anual-efi-nvram-template.x86_64-latest.xml |   4 +-
 ...e-manual-efi-rw-implicit.x86_64-latest.xml |   2 +-
 ...nual-efi-rw-legacy-paths.x86_64-latest.xml |   2 +-
 ...nual-efi-rw-modern-paths.x86_64-latest.xml |   2 +-
 .../firmware-manual-efi-rw.x86_64-latest.xml  |   2 +-
 ...efi-secboot-legacy-paths.x86_64-latest.xml |   4 +-
 ...mware-manual-efi-secboot.x86_64-latest.xml |   4 +-
 ...are-manual-efi-stateless.x86_64-latest.xml |   2 +-
 .../firmware-manual-efi.x86_64-latest.xml     |   4 +-
 ...f-aarch64-virt-headless.aarch64-latest.xml |   4 +-
 .../hvf-x86_64-q35-headless.x86_64-latest.xml |   4 +-
 .../pvpanic-pci-aarch64.aarch64-latest.xml    |   4 +-
 ...-pci-no-address-aarch64.aarch64-latest.xml |   4 +-
 .../virtio-iommu-aarch64.aarch64-latest.xml   |   4 +-
 tests/qemuxmlconftest.c                       |   2 +-
 .../test-disk-positional-parms-full.xml       |   2 +-
 .../test-disk-positional-parms-partial.xml    |   2 +-
 tests/xlconfigdata/test-disk-qed.xml          |   2 +-
 .../xlconfigdata/test-fullvirt-acpi-slic.xml  |   2 +-
 tests/xlconfigdata/test-fullvirt-cpuid.xml    |   2 +-
 ...ullvirt-direct-kernel-boot-bogus-extra.xml |   2 +-
 ...test-fullvirt-direct-kernel-boot-extra.xml |   2 +-
 .../test-fullvirt-direct-kernel-boot.xml      |   2 +-
 .../xlconfigdata/test-fullvirt-hpet-timer.xml |   2 +-
 .../test-fullvirt-hypervisor-features.xml     |   2 +-
 .../test-fullvirt-multi-timer.xml             |   2 +-
 .../test-fullvirt-multiserial.xml             |   2 +-
 tests/xlconfigdata/test-fullvirt-multiusb.xml |   2 +-
 .../test-fullvirt-nestedhvm-disabled.xml      |   2 +-
 .../xlconfigdata/test-fullvirt-nestedhvm.xml  |   2 +-
 tests/xlconfigdata/test-fullvirt-nohap.xml    |   2 +-
 tests/xlconfigdata/test-fullvirt-ovmf.xml     |   2 +-
 .../test-fullvirt-ovswitch-tagged.xml         |   2 +-
 .../test-fullvirt-ovswitch-trunked.xml        |   2 +-
 tests/xlconfigdata/test-fullvirt-pci.xml      |   2 +-
 .../xlconfigdata/test-fullvirt-tsc-timer.xml  |   2 +-
 tests/xlconfigdata/test-fullvirt-type.xml     |   2 +-
 tests/xlconfigdata/test-fullvirt-vnuma.xml    |   2 +-
 tests/xlconfigdata/test-net-fakemodel.xml     |   2 +-
 tests/xlconfigdata/test-new-disk.xml          |   2 +-
 tests/xlconfigdata/test-qemu-passthrough.xml  |   2 +-
 .../test-rbd-multihost-noauth.xml             |   2 +-
 tests/xlconfigdata/test-spice-features.xml    |   2 +-
 tests/xlconfigdata/test-spice.xml             |   2 +-
 tests/xlconfigdata/test-vif-multi-ip.xml      |   2 +-
 tests/xlconfigdata/test-vif-rate.xml          |   2 +-
 tests/xlconfigdata/test-vif-typename.xml      |   2 +-
 tests/xmconfigdata/test-escape-paths.xml      |   2 +-
 .../test-fullvirt-default-feature.xml         |   2 +-
 .../xmconfigdata/test-fullvirt-force-hpet.xml |   2 +-
 .../test-fullvirt-force-nohpet.xml            |   2 +-
 .../xmconfigdata/test-fullvirt-localtime.xml  |   2 +-
 .../test-fullvirt-net-netfront.xml            |   2 +-
 .../xmconfigdata/test-fullvirt-new-cdrom.xml  |   2 +-
 tests/xmconfigdata/test-fullvirt-nohap.xml    |   2 +-
 .../test-fullvirt-parallel-tcp.xml            |   2 +-
 .../test-fullvirt-serial-file.xml             |   2 +-
 .../test-fullvirt-serial-null.xml             |   2 +-
 .../test-fullvirt-serial-pipe.xml             |   2 +-
 .../xmconfigdata/test-fullvirt-serial-pty.xml |   2 +-
 .../test-fullvirt-serial-stdio.xml            |   2 +-
 .../test-fullvirt-serial-tcp-telnet.xml       |   2 +-
 .../xmconfigdata/test-fullvirt-serial-tcp.xml |   2 +-
 .../xmconfigdata/test-fullvirt-serial-udp.xml |   2 +-
 .../test-fullvirt-serial-unix.xml             |   2 +-
 tests/xmconfigdata/test-fullvirt-sound.xml    |   2 +-
 tests/xmconfigdata/test-fullvirt-usbmouse.xml |   2 +-
 .../xmconfigdata/test-fullvirt-usbtablet.xml  |   2 +-
 tests/xmconfigdata/test-fullvirt-utc.xml      |   2 +-
 tests/xmconfigdata/test-no-source-cdrom.xml   |   2 +-
 tests/xmconfigdata/test-pci-dev-syntax.xml    |   2 +-
 tests/xmconfigdata/test-pci-devs.xml          |   2 +-
 148 files changed, 481 insertions(+), 266 deletions(-)
 create mode 100644 tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch.x86_64-latest.args
 delete mode 100644 tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch.x86_64-latest.err
 create mode 100644 tests/qemuxmlconfdata/firmware-auto-efi-format-mismatch.x86_64-latest.xml

-- 
2.47.0




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux