This version fixes multiple problems which I'd point out when reviewing: - virStorageSource is properly used in all places - logic for initializing NVRAM imgages from template is fixed to avoid touching network backed nvrams - documentation now states the correct version - some cleanups - dropped NEWS entry stashed in a patch with other stuff - fixed/simplified schema Rohit, please give it a try. I didn't yet have time to test this beyond unit tests. This series can also be fetched from my repo: git fetch https://gitlab.com/pipo.sk/libvirt.git network-nvram2 Peter Krempa (9): qemuDomainPrepareStorageSourceBlockdev: Add a variant for custom nodename qemuBuildPflashBlockdevCommandLine: Take virDomainObj instead of private data qemu: Use 'def->os.loader->nvram' directly instead of 'priv->pflash1' qemu: Properly setup the NVRAM virStorageSource qemuProcessReconnect: Don't re-instantiate pflash storage source qemuDomainInitializePflashStorageSource: Properly and fully initialize nvram source qemuFirmwareFillDomain: Don't fill in firmware for network backed nvram conf: Extract formatting of NVRAM out of virDomainLoaderDefFormat virDomainHugepagesFormat: Use virXMLFormatElementEmpty Rohit Kumar (4): conf: Convert def->os.loader->nvram a virStorageSource qemu: validate: Reject virStorageSource features we don't want to support with nvram conf: Add support to parse/format <source> for NVRAM Add unit tests for new specification of nvram. docs/formatdomain.rst | 37 +++++ src/conf/domain_conf.c | 136 ++++++++++++++---- src/conf/domain_conf.h | 3 +- src/conf/schemas/domaincommon.rng | 9 +- src/qemu/qemu_cgroup.c | 2 +- src/qemu/qemu_command.c | 22 +-- src/qemu/qemu_domain.c | 58 +++++--- src/qemu/qemu_domain.h | 9 +- src/qemu/qemu_driver.c | 5 +- src/qemu/qemu_firmware.c | 30 +++- src/qemu/qemu_namespace.c | 6 +- src/qemu/qemu_process.c | 11 +- src/qemu/qemu_validate.c | 115 +++++++++++---- src/security/security_dac.c | 19 +-- src/security/security_selinux.c | 21 +-- src/security/virt-aa-helper.c | 5 +- src/vbox/vbox_common.c | 3 +- .../bios-nvram-file.x86_64-latest.args | 37 +++++ tests/qemuxml2argvdata/bios-nvram-file.xml | 23 +++ .../bios-nvram-network-iscsi.x86_64-4.1.0.err | 1 + ...ios-nvram-network-iscsi.x86_64-latest.args | 38 +++++ .../bios-nvram-network-iscsi.xml | 31 ++++ .../bios-nvram-network-nbd.x86_64-latest.args | 37 +++++ .../bios-nvram-network-nbd.xml | 28 ++++ tests/qemuxml2argvtest.c | 4 + .../bios-nvram-file.x86_64-latest.xml | 39 +++++ ...bios-nvram-network-iscsi.x86_64-latest.xml | 44 ++++++ .../bios-nvram-network-nbd.x86_64-latest.xml | 41 ++++++ tests/qemuxml2xmltest.c | 3 + 29 files changed, 696 insertions(+), 121 deletions(-) create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/bios-nvram-file.xml create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.x86_64-4.1.0.err create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-iscsi.xml create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-nbd.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/bios-nvram-network-nbd.xml create mode 100644 tests/qemuxml2xmloutdata/bios-nvram-file.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/bios-nvram-network-iscsi.x86_64-latest.xml create mode 100644 tests/qemuxml2xmloutdata/bios-nvram-network-nbd.x86_64-latest.xml -- 2.35.3