This allows us to prepare next commits, which will introduce qom registration for system mode.
Reviewed-by: Marc-André Lureau <[email protected]> Signed-off-by: Pierrick Bouvier <[email protected]> --- configs/targets/aarch64-softmmu.c | 6 ++---- configs/targets/arm-softmmu.c | 6 ++---- include/qemu/target-info-init.h | 21 +++++++++++++++++++++ target-info-stub.c | 6 ++---- 4 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 include/qemu/target-info-init.h diff --git a/configs/targets/aarch64-softmmu.c b/configs/targets/aarch64-softmmu.c index 82ccb575759..75d95b0e743 100644 --- a/configs/targets/aarch64-softmmu.c +++ b/configs/targets/aarch64-softmmu.c @@ -8,6 +8,7 @@ #include "qemu/osdep.h" #include "qemu/target-info-impl.h" +#include "qemu/target-info-init.h" #include "hw/arm/machines-qom.h" #include "target/arm/cpu-qom.h" #include "target/arm/cpu-param.h" @@ -23,7 +24,4 @@ static const TargetInfo target_info_aarch64_system = { .page_bits_init = TARGET_PAGE_BITS_LEGACY, }; -const TargetInfo *target_info(void) -{ - return &target_info_aarch64_system; -} +target_info_init(target_info_aarch64_system) diff --git a/configs/targets/arm-softmmu.c b/configs/targets/arm-softmmu.c index 18940e51e55..73546fa5737 100644 --- a/configs/targets/arm-softmmu.c +++ b/configs/targets/arm-softmmu.c @@ -8,6 +8,7 @@ #include "qemu/osdep.h" #include "qemu/target-info-impl.h" +#include "qemu/target-info-init.h" #include "hw/arm/machines-qom.h" #include "target/arm/cpu-qom.h" #include "target/arm/cpu-param.h" @@ -23,7 +24,4 @@ static const TargetInfo target_info_arm_system = { .page_bits_init = TARGET_PAGE_BITS_LEGACY, }; -const TargetInfo *target_info(void) -{ - return &target_info_arm_system; -} +target_info_init(target_info_arm_system) diff --git a/include/qemu/target-info-init.h b/include/qemu/target-info-init.h new file mode 100644 index 00000000000..c781cfc0590 --- /dev/null +++ b/include/qemu/target-info-init.h @@ -0,0 +1,21 @@ +/* + * QEMU target info initialization + * + * Copyright (c) Qualcomm + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * This file is included by each file defining a TargetInfo structure and is + * responsible for registering it. + */ + +#ifndef TARGET_INFO_DEF_H +#define TARGET_INFO_DEF_H + +#define target_info_init(ti_var) \ +const TargetInfo *target_info(void) \ +{ \ + return &ti_var; \ +} + +#endif /* TARGET_INFO_DEF_H */ diff --git a/target-info-stub.c b/target-info-stub.c index f5896a72621..af7cdc5e67a 100644 --- a/target-info-stub.c +++ b/target-info-stub.c @@ -9,6 +9,7 @@ #include "qemu/osdep.h" #include "qemu/target-info.h" #include "qemu/target-info-impl.h" +#include "qemu/target-info-init.h" #include "hw/core/boards.h" #include "cpu.h" #include "exec/page-vary.h" @@ -40,7 +41,4 @@ static const TargetInfo target_info_stub = { #endif }; -const TargetInfo *target_info(void) -{ - return &target_info_stub; -} +target_info_init(target_info_stub) -- 2.43.0
