On Fri, Apr 1, 2022 at 5:48 PM Ralf Ramsauer
<ralf.ramsa...@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.ramsa...@oth-regensburg.de>

Looks good to me.

Reviewed-by: Anup Patel <a...@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
>

Reply via email to