qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 20/29] vl: separate qemu_apply_machine_options


From: Igor Mammedov
Subject: Re: [PATCH 20/29] vl: separate qemu_apply_machine_options
Date: Wed, 18 Nov 2020 17:57:17 +0100

On Tue, 27 Oct 2020 14:21:35 -0400
Paolo Bonzini <pbonzini@redhat.com> wrote:

> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Reviewed-by: Igor Mammedov <imammedo@redhat.com>

> ---
>  softmmu/vl.c | 66 +++++++++++++++++++++++++++++-----------------------
>  1 file changed, 37 insertions(+), 29 deletions(-)
> 
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 38ad3cc895..9a3c92387e 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -2700,6 +2700,41 @@ static bool object_create_early(const char *type, 
> QemuOpts *opts)
>      return true;
>  }
>  
> +static void qemu_apply_machine_options(void)
> +{
> +    MachineClass *machine_class = MACHINE_GET_CLASS(current_machine);
> +    QemuOpts *machine_opts = qemu_get_machine_opts();
> +    QemuOpts *opts;
> +
> +    qemu_opt_foreach(machine_opts, machine_set_property, current_machine,
> +                     &error_fatal);
> +    current_machine->ram_size = ram_size;
> +    current_machine->maxram_size = maxram_size;
> +    current_machine->ram_slots = ram_slots;
> +
> +    opts = qemu_opts_find(qemu_find_opts("boot-opts"), NULL);
> +    if (opts) {
> +        boot_order = qemu_opt_get(opts, "order");
> +        if (boot_order) {
> +            validate_bootdevices(boot_order, &error_fatal);
> +        }
> +
> +        boot_once = qemu_opt_get(opts, "once");
> +        if (boot_once) {
> +            validate_bootdevices(boot_once, &error_fatal);
> +        }
> +
> +        boot_menu = qemu_opt_get_bool(opts, "menu", boot_menu);
> +        boot_strict = qemu_opt_get_bool(opts, "strict", false);
> +    }
> +
> +    if (!boot_order) {
> +        boot_order = machine_class->default_boot_order;
> +    }
> +
> +    current_machine->boot_order = boot_order;
> +}
> +
>  static void qemu_create_early_backends(void)
>  {
>      MachineClass *machine_class = MACHINE_GET_CLASS(current_machine);
> @@ -3455,7 +3490,7 @@ static void qemu_machine_creation_done(void)
>  
>  void qemu_init(int argc, char **argv, char **envp)
>  {
> -    QemuOpts *opts, *machine_opts;
> +    QemuOpts *opts;
>      QemuOpts *icount_opts = NULL, *accel_opts = NULL;
>      QemuOptsList *olist;
>      int optind;
> @@ -4397,12 +4432,7 @@ void qemu_init(int argc, char **argv, char **envp)
>      qemu_create_default_devices();
>      qemu_create_early_backends();
>  
> -    machine_opts = qemu_get_machine_opts();
> -    qemu_opt_foreach(machine_opts, machine_set_property, current_machine,
> -                     &error_fatal);
> -    current_machine->ram_size = ram_size;
> -    current_machine->maxram_size = maxram_size;
> -    current_machine->ram_slots = ram_slots;
> +    qemu_apply_machine_options();
>  
>      /*
>       * Note: uses machine properties such as kernel-irqchip, must run
> @@ -4438,30 +4468,8 @@ void qemu_init(int argc, char **argv, char **envp)
>       */
>      migration_object_init();
>  
> -    opts = qemu_opts_find(qemu_find_opts("boot-opts"), NULL);
> -    if (opts) {
> -        boot_order = qemu_opt_get(opts, "order");
> -        if (boot_order) {
> -            validate_bootdevices(boot_order, &error_fatal);
> -        }
> -
> -        boot_once = qemu_opt_get(opts, "once");
> -        if (boot_once) {
> -            validate_bootdevices(boot_once, &error_fatal);
> -        }
> -
> -        boot_menu = qemu_opt_get_bool(opts, "menu", boot_menu);
> -        boot_strict = qemu_opt_get_bool(opts, "strict", false);
> -    }
> -
> -    if (!boot_order) {
> -        boot_order = machine_class->default_boot_order;
> -    }
> -
>      qemu_create_late_backends();
>  
> -    current_machine->boot_order = boot_order;
> -
>      /* parse features once if machine provides default cpu_type */
>      current_machine->cpu_type = machine_class->default_cpu_type;
>      if (cpu_option) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]