Anton Johansson
9067113cdf
target-info: Add target_riscv64()
...
Adds a helper function to tell if the binary is targeting riscv64 or
not.
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Signed-off-by: Anton Johansson <anjo@rev.ng >
Reviewed-by: Chao Liu <chao.liu.zevorn@gmail.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Message-Id: <20260520-hw-riscv-cpu-int-v3-7-d1123ea63d9c@rev.ng >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
2026-05-27 08:50:37 +02:00
Philippe Mathieu-Daudé
2dc8c9cf72
qemu/target_info: Add target_s390x() helper
...
Add a helper to distinct whether the binary is targetting
S390x or not.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20260213175032.32121-3-philmd@linaro.org >
2026-02-26 00:02:14 +01:00
Richard Henderson
e934c624f3
target-info: Statically initialize target_arch
...
Use TARGET_ARCH and token pasting to initialize
target_arch from SYS_EMU_TARGET_*.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-ID: <20260205030617.266625-4-richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
2026-02-09 20:51:52 +01:00
Pierrick Bouvier
f2ac221cc5
target-info: add target_base_ppc, target_ppc and target_ppc64
...
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20260131020100.1115203-2-pierrick.bouvier@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
2026-02-03 14:57:33 +01:00
Philippe Mathieu-Daudé
43cc9efdc3
qemu/target_info: Add target_base_arm() helper
...
Add a helper to check whether the target base architecture
is ARM (either 32-bit or 64-bit).
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Acked-by: Peter Maydell <peter.maydell@linaro.org >
Message-Id: <20251021210144.58108-3-philmd@linaro.org >
2025-10-30 14:48:26 +01:00
Philippe Mathieu-Daudé
4306fc0f83
qemu/target_info: Add target_aarch64() helper
...
Add a helper to distinct whether the binary is targetting
Aarch64 or not.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Acked-by: Peter Maydell <peter.maydell@linaro.org >
Message-Id: <20251021210144.58108-2-philmd@linaro.org >
2025-10-30 14:48:26 +01:00
Philippe Mathieu-Daudé
cc08d4d1c3
qemu/target_info: Add target_arm() helper
...
Add a helper to distinct whether the binary is targetting
ARM (32-bit only) or not.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Acked-by: Peter Maydell <peter.maydell@linaro.org >
Message-Id: <20251021210144.58108-1-philmd@linaro.org >
2025-10-30 14:48:26 +01:00
Philippe Mathieu-Daudé
749c21cf6d
qemu: Convert target_words_bigendian() to TargetInfo API
...
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20250708215320.70426-6-philmd@linaro.org >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Signed-off-by: Michael S. Tsirkin <mst@redhat.com >
2025-07-15 02:56:39 -04:00
Philippe Mathieu-Daudé
a37aec2e7d
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 >
2025-07-15 02:56:39 -04:00
Philippe Mathieu-Daudé
536613be40
qemu/target-info: Add %target_arch field to TargetInfo
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20250708215320.70426-4-philmd@linaro.org >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Signed-off-by: Michael S. Tsirkin <mst@redhat.com >
2025-07-15 02:56:39 -04:00
Philippe Mathieu-Daudé
0af00042a9
qemu/target-info: Factor target_arch() out
...
To keep "qemu/target-info.h" self-contained to native
types, declare target_arch() -- which returns a QAPI
type -- in "qemu/target-info-qapi.h".
No logical change.
Keeping native types in "qemu/target-info.h" is necessary
to keep building tests such tests/tcg/plugins/mem.c, as
per the comment added in commit ecbcc9ead2 ("tests/tcg:
add a system test to check memory instrumentation"):
/*
* plugins should not include anything from QEMU aside from the
* API header. However as this is a test plugin to exercise the
* internals of QEMU and we want to avoid needless code duplication we
* do so here. bswap.h is pretty self-contained although it needs a
* few things provided by compiler.h.
*/
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20250708215320.70426-3-philmd@linaro.org >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Signed-off-by: Michael S. Tsirkin <mst@redhat.com >
2025-07-15 02:56:39 -04:00
Philippe Mathieu-Daudé
c1be135ad5
qemu: Introduce target_long_bits()
...
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
2025-04-30 12:51:51 -07:00
Philippe Mathieu-Daudé
b113dfa081
qemu/target_info: Add %target_cpu_type field to TargetInfo
...
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
2025-04-30 12:51:51 -07:00
Philippe Mathieu-Daudé
28502121be
system/vl: Filter machine list available for a particular target binary
...
Binaries can register a QOM type to filter their machines
by filling their TargetInfo::machine_typename field.
This can be used by example by main() -> machine_help_func()
to filter the machines list.
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 >
2025-04-30 12:51:51 -07:00
Philippe Mathieu-Daudé
3d881164d4
qemu: Convert target_name() to TargetInfo API
...
Have target_name() be a target-agnostic method, dispatching
to a per-target TargetInfo singleton structure.
By default a stub singleton is used. No logical change
expected.
Inspired-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
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: <20250424222112.36194-3-philmd@linaro.org >
2025-04-25 17:09:58 +02:00