hw/riscv: virt: Exit if the user provided -bios in combination with KVM
The -bios option is silently ignored if used in combination with -enable-kvm. The reason is that the machine starts in S-Mode, and the bios typically runs in M-Mode. Better exit in that case to not confuse the user. Signed-off-by: Ralf Ramsauer <ralf.ramsauer@oth-regensburg.de> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Anup Patel <anup@brainfault.org> Message-Id: <20220401121842.2791796-1-ralf.ramsauer@oth-regensburg.de> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
ac684717c3
commit
8f013700eb
@ -1308,13 +1308,19 @@ static void virt_machine_init(MachineState *machine)
|
||||
|
||||
/*
|
||||
* Only direct boot kernel is currently supported for KVM VM,
|
||||
* so the "-bios" parameter is ignored and treated like "-bios none"
|
||||
* when KVM is enabled.
|
||||
* so the "-bios" parameter is not supported when KVM is enabled.
|
||||
*/
|
||||
if (kvm_enabled()) {
|
||||
g_free(machine->firmware);
|
||||
if (machine->firmware) {
|
||||
if (strcmp(machine->firmware, "none")) {
|
||||
error_report("Machine mode firmware is not supported in "
|
||||
"combination with KVM.");
|
||||
exit(1);
|
||||
}
|
||||
} else {
|
||||
machine->firmware = g_strdup("none");
|
||||
}
|
||||
}
|
||||
|
||||
if (riscv_is_32bit(&s->soc[0])) {
|
||||
firmware_end_addr = riscv_find_and_load_firmware(machine,
|
||||
|
Loading…
Reference in New Issue
Block a user