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,12 +1308,18 @@ static void virt_machine_init(MachineState *machine)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Only direct boot kernel is currently supported for KVM VM,
|
* Only direct boot kernel is currently supported for KVM VM,
|
||||||
* so the "-bios" parameter is ignored and treated like "-bios none"
|
* so the "-bios" parameter is not supported when KVM is enabled.
|
||||||
* when KVM is enabled.
|
|
||||||
*/
|
*/
|
||||||
if (kvm_enabled()) {
|
if (kvm_enabled()) {
|
||||||
g_free(machine->firmware);
|
if (machine->firmware) {
|
||||||
machine->firmware = g_strdup("none");
|
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])) {
|
if (riscv_is_32bit(&s->soc[0])) {
|
||||||
|
Loading…
Reference in New Issue
Block a user