[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3] hw/riscv: virt: Exit if the user provided -bios in combin
From: |
Anup Patel |
Subject: |
Re: [PATCH v3] hw/riscv: virt: Exit if the user provided -bios in combination with KVM |
Date: |
Tue, 12 Apr 2022 08:31:39 +0530 |
On Fri, Apr 1, 2022 at 5:48 PM Ralf Ramsauer
<ralf.ramsauer@oth-regensburg.de> wrote:
>
> 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>
Looks good to me.
Reviewed-by: Anup Patel <anup@brainfault.org>
Regards,
Anup
> ---
> hw/riscv/virt.c | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
> index da50cbed43..09609c96e8 100644
> --- a/hw/riscv/virt.c
> +++ b/hw/riscv/virt.c
> @@ -1308,12 +1308,18 @@ 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);
> - machine->firmware = g_strdup("none");
> + 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])) {
> --
> 2.32.0
>