master
c 100 lines 1.62 KB
Raw
1 /*
2 * QEMU target info helpers
3 *
4 * Copyright (c) Linaro
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
9 #include "qemu/osdep.h"
10 #include "qemu/target-info.h"
11 #include "qemu/target-info-qapi.h"
12 #include "qemu/target-info-impl.h"
13 #include "qapi/error.h"
14
15 const char *target_name(void)
16 {
17 return target_info()->target_name;
18 }
19
20 unsigned target_long_bits(void)
21 {
22 return target_info()->long_bits;
23 }
24
25 SysEmuTarget target_arch(void)
26 {
27 return target_info()->target_arch;
28 }
29
30 const char *target_cpu_type(void)
31 {
32 return target_info()->cpu_type;
33 }
34
35 const char *target_machine_typename(void)
36 {
37 return target_info()->machine_typename;
38 }
39
40 EndianMode target_endian_mode(void)
41 {
42 return target_info()->endianness;
43 }
44
45 bool target_big_endian(void)
46 {
47 return target_endian_mode() == ENDIAN_MODE_BIG;
48 }
49
50 bool target_base_arm(void)
51 {
52 switch (target_arch()) {
53 case SYS_EMU_TARGET_ARM:
54 case SYS_EMU_TARGET_AARCH64:
55 return true;
56 default:
57 return false;
58 }
59 }
60
61 bool target_arm(void)
62 {
63 return target_arch() == SYS_EMU_TARGET_ARM;
64 }
65
66 bool target_aarch64(void)
67 {
68 return target_arch() == SYS_EMU_TARGET_AARCH64;
69 }
70
71 bool target_base_ppc(void)
72 {
73 switch (target_arch()) {
74 case SYS_EMU_TARGET_PPC:
75 case SYS_EMU_TARGET_PPC64:
76 return true;
77 default:
78 return false;
79 }
80 }
81
82 bool target_ppc(void)
83 {
84 return target_arch() == SYS_EMU_TARGET_PPC;
85 }
86
87 bool target_ppc64(void)
88 {
89 return target_arch() == SYS_EMU_TARGET_PPC64;
90 }
91
92 bool target_s390x(void)
93 {
94 return target_arch() == SYS_EMU_TARGET_S390X;
95 }
96
97 bool target_riscv64(void)
98 {
99 return target_arch() == SYS_EMU_TARGET_RISCV64;
100 }