diff mbox series

[12/36] vl: load plugins as late as possible

Message ID 20201123141435.2726558-13-pbonzini@redhat.com
State New
Headers show
Series cleanup qemu_init and make sense of command line processing | expand

Commit Message

Paolo Bonzini Nov. 23, 2020, 2:14 p.m. UTC
There is no need to load plugins in the middle of default device processing,
move -plugin handling just before preconfig is entered.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 softmmu/vl.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Igor Mammedov Nov. 26, 2020, 4:54 p.m. UTC | #1
On Mon, 23 Nov 2020 09:14:11 -0500
Paolo Bonzini <pbonzini@redhat.com> wrote:

> There is no need to load plugins in the middle of default device processing,
> move -plugin handling just before preconfig is entered.
> 
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

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

> ---
>  softmmu/vl.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 87c10f625c..ab08a0290c 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -125,6 +125,7 @@ static const char *boot_order;
>  static const char *boot_once;
>  static const char *incoming;
>  static const char *loadvm;
> +static QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list);
>  enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
>  static int mem_prealloc; /* force preallocation of physical target memory */
>  int display_opengl;
> @@ -3074,6 +3075,11 @@ static void qemu_init_board(void)
>          create_default_memdev(current_machine, mem_path);
>      }
>  
> +    /* process plugin before CPUs are created, but once -smp has been parsed */
> +    if (qemu_plugin_load_list(&plugin_list)) {
> +        exit(1);
> +    }
> +
>      machine_run_board_init(current_machine);
>  
>      /*
> @@ -3208,7 +3214,6 @@ void qemu_init(int argc, char **argv, char **envp)
>      Error *err = NULL;
>      bool have_custom_ram_size;
>      BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
> -    QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list);
>  
>      qemu_add_opts(&qemu_drive_opts);
>      qemu_add_drive_opts(&qemu_legacy_drive_opts);
> @@ -4178,11 +4183,6 @@ void qemu_init(int argc, char **argv, char **envp)
>                                 machine_class->default_machine_opts, 0);
>      }
>  
> -    /* process plugin before CPUs are created, but once -smp has been parsed */
> -    if (qemu_plugin_load_list(&plugin_list)) {
> -        exit(1);
> -    }
> -
>      qemu_opts_foreach(qemu_find_opts("device"),
>                        default_driver_check, NULL, NULL);
>      qemu_opts_foreach(qemu_find_opts("global"),
diff mbox series

Patch

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 87c10f625c..ab08a0290c 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -125,6 +125,7 @@  static const char *boot_order;
 static const char *boot_once;
 static const char *incoming;
 static const char *loadvm;
+static QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list);
 enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
 static int mem_prealloc; /* force preallocation of physical target memory */
 int display_opengl;
@@ -3074,6 +3075,11 @@  static void qemu_init_board(void)
         create_default_memdev(current_machine, mem_path);
     }
 
+    /* process plugin before CPUs are created, but once -smp has been parsed */
+    if (qemu_plugin_load_list(&plugin_list)) {
+        exit(1);
+    }
+
     machine_run_board_init(current_machine);
 
     /*
@@ -3208,7 +3214,6 @@  void qemu_init(int argc, char **argv, char **envp)
     Error *err = NULL;
     bool have_custom_ram_size;
     BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
-    QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list);
 
     qemu_add_opts(&qemu_drive_opts);
     qemu_add_drive_opts(&qemu_legacy_drive_opts);
@@ -4178,11 +4183,6 @@  void qemu_init(int argc, char **argv, char **envp)
                                machine_class->default_machine_opts, 0);
     }
 
-    /* process plugin before CPUs are created, but once -smp has been parsed */
-    if (qemu_plugin_load_list(&plugin_list)) {
-        exit(1);
-    }
-
     qemu_opts_foreach(qemu_find_opts("device"),
                       default_driver_check, NULL, NULL);
     qemu_opts_foreach(qemu_find_opts("global"),