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>
This commit is contained in:
parent
d8a798f62e
commit
8a7459744c
12
softmmu/vl.c
12
softmmu/vl.c
|
@ -125,6 +125,7 @@ static const char *boot_order;
|
||||||
static const char *boot_once;
|
static const char *boot_once;
|
||||||
static const char *incoming;
|
static const char *incoming;
|
||||||
static const char *loadvm;
|
static const char *loadvm;
|
||||||
|
static QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list);
|
||||||
enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
|
enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB;
|
||||||
static int mem_prealloc; /* force preallocation of physical target memory */
|
static int mem_prealloc; /* force preallocation of physical target memory */
|
||||||
int display_opengl;
|
int display_opengl;
|
||||||
|
@ -3078,6 +3079,11 @@ static void qemu_init_board(void)
|
||||||
create_default_memdev(current_machine, mem_path);
|
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);
|
machine_run_board_init(current_machine);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3212,7 +3218,6 @@ void qemu_init(int argc, char **argv, char **envp)
|
||||||
Error *err = NULL;
|
Error *err = NULL;
|
||||||
bool have_custom_ram_size;
|
bool have_custom_ram_size;
|
||||||
BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
|
BlockdevOptionsQueue bdo_queue = QSIMPLEQ_HEAD_INITIALIZER(bdo_queue);
|
||||||
QemuPluginList plugin_list = QTAILQ_HEAD_INITIALIZER(plugin_list);
|
|
||||||
|
|
||||||
qemu_add_opts(&qemu_drive_opts);
|
qemu_add_opts(&qemu_drive_opts);
|
||||||
qemu_add_drive_opts(&qemu_legacy_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);
|
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"),
|
qemu_opts_foreach(qemu_find_opts("device"),
|
||||||
default_driver_check, NULL, NULL);
|
default_driver_check, NULL, NULL);
|
||||||
qemu_opts_foreach(qemu_find_opts("global"),
|
qemu_opts_foreach(qemu_find_opts("global"),
|
||||||
|
|
Loading…
Reference in New Issue