xref: /openbmc/qemu/include/qemu/target-info-impl.h (revision e452053097371880910c744a5d42ae2df058a4a7)
1 /*
2  * QEMU TargetInfo structure definition
3  *
4  *  Copyright (c) Linaro
5  *
6  * SPDX-License-Identifier: GPL-2.0-or-later
7  */
8 
9 #ifndef QEMU_TARGET_INFO_IMPL_H
10 #define QEMU_TARGET_INFO_IMPL_H
11 
12 #include "qapi/qapi-types-machine.h"
13 
14 typedef struct TargetInfo {
15     /* runtime equivalent of TARGET_NAME definition */
16     const char *target_name;
17     /* related to TARGET_ARCH definition */
18     SysEmuTarget target_arch;
19     /* runtime equivalent of TARGET_LONG_BITS definition */
20     unsigned long_bits;
21     /* runtime equivalent of CPU_RESOLVING_TYPE definition */
22     const char *cpu_type;
23     /* QOM typename machines for this binary must implement */
24     const char *machine_typename;
25     /* related to TARGET_BIG_ENDIAN definition */
26     EndianMode endianness;
27 } TargetInfo;
28 
29 /**
30  * target_info:
31  *
32  * Returns: The TargetInfo structure definition for this target binary.
33  */
34 const TargetInfo *target_info(void);
35 
36 #endif
37