diff options
author | Paolo Bonzini | 2020-10-21 16:25:06 +0200 |
---|---|---|
committer | Paolo Bonzini | 2020-12-10 18:15:13 +0100 |
commit | 8a7459744c7ab29b92dfcc7784dd76befc9b0b43 (patch) | |
tree | 2cde2eea492145d3c7075c4b6e47ed3e8fe98750 /softmmu | |
parent | vl: create "-net nic -net user" default earlier (diff) | |
download | qemu-8a7459744c7ab29b92dfcc7784dd76befc9b0b43.tar.gz qemu-8a7459744c7ab29b92dfcc7784dd76befc9b0b43.tar.xz qemu-8a7459744c7ab29b92dfcc7784dd76befc9b0b43.zip |
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')
-rw-r--r-- | softmmu/vl.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/softmmu/vl.c b/softmmu/vl.c index a4b87ae742..cb4b870f09 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"), |