boot: 0.932 device: 0.899 vnc: 0.877 kernel: 0.844 permissions: 0.799 VMM: 0.782 graphic: 0.778 risc-v: 0.754 files: 0.723 PID: 0.710 socket: 0.704 register: 0.701 ppc: 0.666 semantic: 0.661 mistranslation: 0.652 network: 0.623 debug: 0.618 virtual: 0.602 architecture: 0.576 i386: 0.571 TCG: 0.568 hypervisor: 0.552 arm: 0.525 x86: 0.450 peripherals: 0.384 performance: 0.356 KVM: 0.344 user-level: 0.257 assembly: 0.231 qemu-system-riscv32: Some ROM regions are overlapping Description of problem: Booting the image produces: ``` qemu-system-riscv32: 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. The following two regions overlap (in the memory address space): output/images/fw_jump.elf ELF program header segment 1 (addresses 0x0000000000000000 - 0x00000000000278cc) mrom.reset (addresses 0x0000000000001000 - 0x0000000000001028) ``` Steps to reproduce: 1. `make qemu_riscv32_virt_defconfig` 2. `make` 3. `qemu-system-riscv32 \ -M virt -nographic \ -bios output/images/fw_jump.elf \ -kernel output/images/Image \ -append "root=/dev/vda ro" \ -drive file=output/images/rootfs.ext2,format=raw,id=hd0 \ -device virtio-blk-device,drive=hd0 \ -netdev user,id=net0 -device virtio-net-device,netdev=net0` Additional information: Changing `-bios output/images/fw_jump.elf` to `-bios output/images/fw_jump.bin` or `-bios output/images/fw_dynamic.bin` resolves the issue. Similar issue observed elsewhere, e.g. here [https://github.com/riscv-software-src/opensbi/issues/372](https://github.com/riscv-software-src/opensbi/issues/372)