Browse Source

softmmu: Add qemu_init_arch_modules()

module_allow_arch() is the single target-specific call in the
whole vl.c file. Move the module initialization out to arch_init.c,
that way we'll be able to build vl.o once for all targets (the
next commit).

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20220207075426.81934-21-f4bug@amsat.org>
pull/208/head
Philippe Mathieu-Daudé 4 years ago
parent
commit
c80cafa0c7
  1. 2
      include/sysemu/arch_init.h
  2. 9
      softmmu/arch_init.c
  3. 5
      softmmu/vl.c

2
include/sysemu/arch_init.h

@ -28,4 +28,6 @@ enum {
extern const uint32_t arch_type;
void qemu_init_arch_modules(void);
#endif

9
softmmu/arch_init.c

@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
#include "qemu/osdep.h"
#include "qemu/module.h"
#include "sysemu/arch_init.h"
#ifdef TARGET_SPARC
@ -39,3 +40,11 @@ int graphic_depth = 32;
#endif
const uint32_t arch_type = QEMU_ARCH;
void qemu_init_arch_modules(void)
{
#ifdef CONFIG_MODULES
module_init_info(qemu_modinfo);
module_allow_arch(TARGET_NAME);
#endif
}

5
softmmu/vl.c

@ -2815,10 +2815,7 @@ void qemu_init(int argc, char **argv, char **envp)
error_init(argv[0]);
qemu_init_exec_dir(argv[0]);
#ifdef CONFIG_MODULES
module_init_info(qemu_modinfo);
module_allow_arch(TARGET_NAME);
#endif
qemu_init_arch_modules();
qemu_init_subsystems();

Loading…
Cancel
Save