diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-07-08 23:53:15 +0200 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2025-07-15 02:56:39 -0400 |
commit | a37aec2e7d8f7191d29c700629850da5057e446b (patch) | |
tree | c1d7346327aaa49724ff217660290a735a6452c8 | |
parent | 536613be40c7005a956a52487c1fed4530d6613f (diff) | |
download | qemu-a37aec2e7d8f7191d29c700629850da5057e446b.zip qemu-a37aec2e7d8f7191d29c700629850da5057e446b.tar.gz qemu-a37aec2e7d8f7191d29c700629850da5057e446b.tar.bz2 |
qemu/target-info: Add target_endian_mode()
target_endian_mode() returns the default endianness (QAPI type)
of a target.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250708215320.70426-5-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r-- | include/qemu/target-info-impl.h | 2 | ||||
-rw-r--r-- | include/qemu/target-info-qapi.h | 8 | ||||
-rw-r--r-- | target-info-stub.c | 1 | ||||
-rw-r--r-- | target-info.c | 5 |
4 files changed, 16 insertions, 0 deletions
diff --git a/include/qemu/target-info-impl.h b/include/qemu/target-info-impl.h index a8b34d1..17887f6 100644 --- a/include/qemu/target-info-impl.h +++ b/include/qemu/target-info-impl.h @@ -22,6 +22,8 @@ typedef struct TargetInfo { const char *cpu_type; /* QOM typename machines for this binary must implement */ const char *machine_typename; + /* related to TARGET_BIG_ENDIAN definition */ + EndianMode endianness; } TargetInfo; /** diff --git a/include/qemu/target-info-qapi.h b/include/qemu/target-info-qapi.h index a337c86..d5ce052 100644 --- a/include/qemu/target-info-qapi.h +++ b/include/qemu/target-info-qapi.h @@ -9,6 +9,7 @@ #ifndef QEMU_TARGET_INFO_EXTRA_H #define QEMU_TARGET_INFO_EXTRA_H +#include "qapi/qapi-types-common.h" #include "qapi/qapi-types-machine.h" /** @@ -18,4 +19,11 @@ */ SysEmuTarget target_arch(void); +/** + * target_endian_mode: + * + * Returns: QAPI EndianMode enum (e.g. ENDIAN_MODE_LITTLE). + */ +EndianMode target_endian_mode(void); + #endif diff --git a/target-info-stub.c b/target-info-stub.c index 2e4407f..ca0caa3 100644 --- a/target-info-stub.c +++ b/target-info-stub.c @@ -18,6 +18,7 @@ static const TargetInfo target_info_stub = { .long_bits = TARGET_LONG_BITS, .cpu_type = CPU_RESOLVING_TYPE, .machine_typename = TYPE_MACHINE, + .endianness = TARGET_BIG_ENDIAN ? ENDIAN_MODE_BIG : ENDIAN_MODE_LITTLE, }; const TargetInfo *target_info(void) diff --git a/target-info.c b/target-info.c index 8e29553..a756c07 100644 --- a/target-info.c +++ b/target-info.c @@ -42,3 +42,8 @@ const char *target_machine_typename(void) { return target_info()->machine_typename; } + +EndianMode target_endian_mode(void) +{ + return target_info()->endianness; +} |