aboutsummaryrefslogtreecommitdiff
path: root/softmmu/vl.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-10-21 10:25:06 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2020-12-10 12:15:13 -0500
commit8a7459744c7ab29b92dfcc7784dd76befc9b0b43 (patch)
tree2cde2eea492145d3c7075c4b6e47ed3e8fe98750 /softmmu/vl.c
parentd8a798f62e0c0bc5f7bf4968f52ed5e9a6357465 (diff)
downloadqemu-8a7459744c7ab29b92dfcc7784dd76befc9b0b43.zip
qemu-8a7459744c7ab29b92dfcc7784dd76befc9b0b43.tar.gz
qemu-8a7459744c7ab29b92dfcc7784dd76befc9b0b43.tar.bz2
vl: load plugins as late as possible
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> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'softmmu/vl.c')
-rw-r--r--softmmu/vl.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/softmmu/vl.c b/softmmu/vl.c
index a4b87ae..cb4b870 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;
@@ -3078,6 +3079,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);
/*
@@ -3212,7 +3218,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);
@@ -4182,11 +4187,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"),