All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: jsnow@redhat.com, berrange@redhat.com, ehabkost@redhat.com,
	imammedo@redhat.com
Subject: [PATCH 17/22] vl: load plugins as late as possible
Date: Wed, 21 Oct 2020 16:57:11 -0400	[thread overview]
Message-ID: <20201021205716.2359430-18-pbonzini@redhat.com> (raw)
In-Reply-To: <20201021205716.2359430-1-pbonzini@redhat.com>

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 */
+
     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"),
-- 
2.26.2




  parent reply	other threads:[~2020-10-21 21:05 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-21 20:56 [RFC PATCH 00/22] cleanup qemu_init and make sense of command line processing Paolo Bonzini
2020-10-21 20:56 ` [PATCH 01/22] semihosting: fix order of initialization functions Paolo Bonzini
2020-10-27 11:18   ` Alex Bennée
2020-10-27 13:32     ` Paolo Bonzini
2020-10-21 20:56 ` [PATCH 02/22] machine: remove deprecated -machine enforce-config-section option Paolo Bonzini
2020-10-22  5:09   ` Thomas Huth
2020-10-22  6:54     ` Paolo Bonzini
2020-10-21 20:56 ` [PATCH 03/22] machine: move UP defaults to class_base_init Paolo Bonzini
2020-10-22  5:11   ` Thomas Huth
2020-10-21 20:56 ` [PATCH 04/22] machine: move SMP initialization from vl.c Paolo Bonzini
2020-10-22  7:16   ` Philippe Mathieu-Daudé
2020-10-21 20:56 ` [PATCH 05/22] vl: extract validation of -smp to machine.c Paolo Bonzini
2020-10-21 20:57 ` [PATCH 06/22] vl: remove bogus check Paolo Bonzini
2020-10-21 20:57 ` [PATCH 07/22] trace: remove argument from trace_init_file Paolo Bonzini
2020-10-21 20:57 ` [PATCH 08/22] vl: split various early command line options to a separate function Paolo Bonzini
2020-10-21 20:57 ` [PATCH 09/22] vl: move various initialization routines out of qemu_init Paolo Bonzini
2020-10-21 20:57 ` [PATCH 10/22] vl: extract qemu_init_subsystems Paolo Bonzini
2020-10-21 20:57 ` [PATCH 11/22] vl: move prelaunch part of qemu_init to a new function Paolo Bonzini
2020-10-21 20:57 ` [PATCH 12/22] vl: move bios_name out of softmmu/vl.c Paolo Bonzini
2020-10-22  7:22   ` Philippe Mathieu-Daudé
2020-10-21 20:57 ` [PATCH 13/22] vl: extract various command line validation snippets to a new function Paolo Bonzini
2020-10-21 20:57 ` [PATCH 14/22] vl: preconfig and loadvm are mutually exclusive Paolo Bonzini
2020-10-21 20:57 ` [PATCH 15/22] vl: extract various command line desugaring snippets to a new function Paolo Bonzini
2020-10-21 20:57 ` [PATCH 16/22] vl: create "-net nic -net user" default earlier Paolo Bonzini
2020-10-21 20:57 ` Paolo Bonzini [this message]
2020-10-22  7:28   ` [PATCH 17/22] vl: load plugins as late as possible Philippe Mathieu-Daudé
2020-10-21 20:57 ` [PATCH 18/22] vl: move semihosting command line fallback to qemu_finish_machine_init Paolo Bonzini
2020-10-21 20:57 ` [PATCH 19/22] vl: extract default devices to separate functions Paolo Bonzini
2020-10-21 20:57 ` [PATCH 20/22] vl: move CHECKPOINT_INIT after preconfig Paolo Bonzini
2020-10-22  7:29   ` Philippe Mathieu-Daudé
2020-10-21 20:57 ` [PATCH 21/22] vl: separate qemu_create_early_backends Paolo Bonzini
2020-10-21 20:57 ` [PATCH 22/22] vl: separate qemu_create_late_backends Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201021205716.2359430-18-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=berrange@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.