Hi, Fedora Rawhide for RISC-V requires '-bios none' to properly boot because its kernel is overwriting the default OpenSBI binary QEMU uses, causing the following error: $ sudo ./run tools/virsh start --console riscv-fedora error: Failed to start domain 'riscv-fedora' error: internal error: process exited while connecting to monitor: 2023-03-20T17:31:02.650862Z qemu-system-riscv64: Some ROM regions are overlapping These ROM regions might have been loaded by direct user request or by default. They could be BIOS/firmware images, a guest kernel, initrd or some other file loaded into guest memory. Check whether you intended to load all this guest code, and whether it has been built to load to the correct addresses. Other archs, such as PPC64 pseries, also requires "-bios none" if the user wants QEMU to not load any default firmware. At this moment libvirt doesn't support this option in the official API, meaning we need to go to the <qemu:commandline> route to allow the domain to boot, tainting it. And with a chance of weird interactions with firmware autoselect. These patches add official XML support for '-bios none' for QEMU domains using a XML as follows: <os> <loader type='none'/> (...) </os> The pre-conditions of this format are (1) no loader->path and (2) only manual autoselect. Everything else is already covered by libvirt as corner cases of existing firmware features. Daniel Henrique Barboza (4): conf: add loader type 'none' qemu: handle bios 'none' case in qemuFirmwareFillDomain() qemu, tests: add -bios none command line docs: Document loader 'none' attribute docs/formatdomain.rst | 7 +++++ src/conf/domain_conf.c | 5 +-- src/conf/domain_validate.c | 2 +- src/conf/schemas/domaincommon.rng | 1 + src/qemu/qemu_command.c | 6 ++++ src/qemu/qemu_firmware.c | 10 ++++++ .../firmware-bios-none.riscv64-latest.args | 31 +++++++++++++++++++ tests/qemuxml2argvdata/firmware-bios-none.xml | 18 +++++++++++ tests/qemuxml2argvtest.c | 2 ++ 9 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 tests/qemuxml2argvdata/firmware-bios-none.riscv64-latest.args create mode 100644 tests/qemuxml2argvdata/firmware-bios-none.xml -- 2.39.2