xref: /openbmc/qemu/target-info.c (revision e452053097371880910c744a5d42ae2df058a4a7)
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 
target_name(void)15 const char *target_name(void)
16 {
17     return target_info()->target_name;
18 }
19 
target_long_bits(void)20 unsigned target_long_bits(void)
21 {
22     return target_info()->long_bits;
23 }
24 
target_arch(void)25 SysEmuTarget target_arch(void)
26 {
27     SysEmuTarget arch = target_info()->target_arch;
28 
29     if (arch == SYS_EMU_TARGET__MAX) {
30         arch = qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1,
31                                &error_abort);
32     }
33     return arch;
34 }
35 
target_cpu_type(void)36 const char *target_cpu_type(void)
37 {
38     return target_info()->cpu_type;
39 }
40 
target_machine_typename(void)41 const char *target_machine_typename(void)
42 {
43     return target_info()->machine_typename;
44 }
45 
target_endian_mode(void)46 EndianMode target_endian_mode(void)
47 {
48     return target_info()->endianness;
49 }
50 
target_big_endian(void)51 bool target_big_endian(void)
52 {
53     return target_endian_mode() == ENDIAN_MODE_BIG;
54 }
55