This untangles QemuOpts from machine_init(), which is to be dropped. Signed-off-by: Andreas Färber <afaer...@suse.de> --- fsdev/qemu-fsdev-opts.c | 2 +- hw/acpi/core.c | 2 +- hw/smbios/smbios.c | 2 +- include/qemu/module.h | 2 ++ ui/spice-core.c | 2 +- ui/vnc.c | 2 +- vl.c | 2 ++ 7 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/fsdev/qemu-fsdev-opts.c b/fsdev/qemu-fsdev-opts.c index 6311c7a..d53ef97 100644 --- a/fsdev/qemu-fsdev-opts.c +++ b/fsdev/qemu-fsdev-opts.c @@ -82,4 +82,4 @@ static void fsdev_register_config(void) qemu_add_opts(&qemu_fsdev_opts); qemu_add_opts(&qemu_virtfs_opts); } -machine_init(fsdev_register_config); +config_init(fsdev_register_config) diff --git a/hw/acpi/core.c b/hw/acpi/core.c index fe6215a..aef9c7f 100644 --- a/hw/acpi/core.c +++ b/hw/acpi/core.c @@ -67,7 +67,7 @@ static void acpi_register_config(void) qemu_add_opts(&qemu_acpi_opts); } -machine_init(acpi_register_config); +config_init(acpi_register_config) static int acpi_checksum(const uint8_t *data, int len) { diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c index b81a1d3..ea64171 100644 --- a/hw/smbios/smbios.c +++ b/hw/smbios/smbios.c @@ -319,7 +319,7 @@ static void smbios_register_config(void) qemu_add_opts(&qemu_smbios_opts); } -machine_init(smbios_register_config); +config_init(smbios_register_config) static void smbios_validate_table(void) { diff --git a/include/qemu/module.h b/include/qemu/module.h index 72d9498..d03f800 100644 --- a/include/qemu/module.h +++ b/include/qemu/module.h @@ -42,6 +42,7 @@ static void __attribute__((constructor)) do_qemu_init_ ## function(void) \ typedef enum { MODULE_INIT_BLOCK, + MODULE_INIT_CONFIG, MODULE_INIT_MACHINE, MODULE_INIT_QAPI, MODULE_INIT_QOM, @@ -49,6 +50,7 @@ typedef enum { } module_init_type; #define block_init(function) module_init(function, MODULE_INIT_BLOCK) +#define config_init(function) module_init(function, MODULE_INIT_CONFIG) #define machine_init(function) module_init(function, MODULE_INIT_MACHINE) #define qapi_init(function) module_init(function, MODULE_INIT_QAPI) #define type_init(function) module_init(function, MODULE_INIT_QOM) diff --git a/ui/spice-core.c b/ui/spice-core.c index bf4fd07..db5ff33 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -927,4 +927,4 @@ static void spice_register_config(void) { qemu_add_opts(&qemu_spice_opts); } -machine_init(spice_register_config); +config_init(spice_register_config) diff --git a/ui/vnc.c b/ui/vnc.c index d73966a..8c31fe5 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -3883,4 +3883,4 @@ static void vnc_register_config(void) { qemu_add_opts(&qemu_vnc_opts); } -machine_init(vnc_register_config); +config_init(vnc_register_config) diff --git a/vl.c b/vl.c index e211f6a..dcf0800 100644 --- a/vl.c +++ b/vl.c @@ -2996,6 +2996,8 @@ int main(int argc, char **argv, char **envp) qemu_add_opts(&qemu_semihosting_config_opts); qemu_add_opts(&qemu_fw_cfg_opts); + module_call_init(MODULE_INIT_CONFIG); + runstate_init(); if (qcrypto_init(&err) < 0) { -- 2.1.4