aboutsummaryrefslogtreecommitdiff
path: root/target-info.c
diff options
context:
space:
mode:
Diffstat (limited to 'target-info.c')
-rw-r--r--target-info.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/target-info.c b/target-info.c
index 16fdca7..3110ab3 100644
--- a/target-info.c
+++ b/target-info.c
@@ -8,7 +8,9 @@
#include "qemu/osdep.h"
#include "qemu/target-info.h"
+#include "qemu/target-info-qapi.h"
#include "qemu/target-info-impl.h"
+#include "qapi/error.h"
const char *target_name(void)
{
@@ -20,6 +22,17 @@ unsigned target_long_bits(void)
return target_info()->long_bits;
}
+SysEmuTarget target_arch(void)
+{
+ SysEmuTarget arch = target_info()->target_arch;
+
+ if (arch == SYS_EMU_TARGET__MAX) {
+ arch = qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1,
+ &error_abort);
+ }
+ return arch;
+}
+
const char *target_cpu_type(void)
{
return target_info()->cpu_type;
@@ -29,3 +42,13 @@ const char *target_machine_typename(void)
{
return target_info()->machine_typename;
}
+
+EndianMode target_endian_mode(void)
+{
+ return target_info()->endianness;
+}
+
+bool target_big_endian(void)
+{
+ return target_endian_mode() == ENDIAN_MODE_BIG;
+}