qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 17/22] vl: load plugins as late as possible


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 17/22] vl: load plugins as late as possible
Date: Thu, 22 Oct 2020 09:28:27 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1

On 10/21/20 10:57 PM, Paolo Bonzini wrote:
There is no need to load plugins in the middle of default device processing,
move -plugin handling just before preconfig is entered.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
  softmmu/vl.c | 15 ++++++++-------
  1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 8577667b8f..75e57133ad 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;
  int mem_prealloc; /* force preallocation of physical target memory */
  int display_opengl;
@@ -3064,12 +3065,18 @@ void qemu_finish_machine_init(void)
      MachineClass *machine_class = MACHINE_GET_CLASS(current_machine);
      DisplayState *ds;
+ /* from here on runstate is RUN_STATE_PRELAUNCH */
+

Please move this comment in your patch #11:
"vl: move prelaunch part of qemu_init to a new function"

Then:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

      if (machine_class->default_ram_id && current_machine->ram_size &&
          numa_uses_legacy_mem() && !current_machine->ram_memdev_id) {
          create_default_memdev(current_machine, mem_path);
      }
- /* from here on runstate is RUN_STATE_PRELAUNCH */
+    /* 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);
/*
@@ -3196,7 +3203,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);
@@ -4164,11 +4170,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"),





reply via email to

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