13d881164SPhilippe Mathieu-Daudé /* 23d881164SPhilippe Mathieu-Daudé * QEMU target info helpers 33d881164SPhilippe Mathieu-Daudé * 43d881164SPhilippe Mathieu-Daudé * Copyright (c) Linaro 53d881164SPhilippe Mathieu-Daudé * 63d881164SPhilippe Mathieu-Daudé * SPDX-License-Identifier: GPL-2.0-or-later 73d881164SPhilippe Mathieu-Daudé */ 83d881164SPhilippe Mathieu-Daudé 93d881164SPhilippe Mathieu-Daudé #include "qemu/osdep.h" 103d881164SPhilippe Mathieu-Daudé #include "qemu/target-info.h" 110af00042SPhilippe Mathieu-Daudé #include "qemu/target-info-qapi.h" 123d881164SPhilippe Mathieu-Daudé #include "qemu/target-info-impl.h" 130af00042SPhilippe Mathieu-Daudé #include "qapi/error.h" 143d881164SPhilippe Mathieu-Daudé target_name(void)153d881164SPhilippe Mathieu-Daudéconst char *target_name(void) 163d881164SPhilippe Mathieu-Daudé { 173d881164SPhilippe Mathieu-Daudé return target_info()->target_name; 183d881164SPhilippe Mathieu-Daudé } 1928502121SPhilippe Mathieu-Daudé target_long_bits(void)20c1be135aSPhilippe Mathieu-Daudéunsigned target_long_bits(void) 21c1be135aSPhilippe Mathieu-Daudé { 22c1be135aSPhilippe Mathieu-Daudé return target_info()->long_bits; 23c1be135aSPhilippe Mathieu-Daudé } 24c1be135aSPhilippe Mathieu-Daudé target_arch(void)250af00042SPhilippe Mathieu-DaudéSysEmuTarget target_arch(void) 260af00042SPhilippe Mathieu-Daudé { 27536613beSPhilippe Mathieu-Daudé SysEmuTarget arch = target_info()->target_arch; 28536613beSPhilippe Mathieu-Daudé 29536613beSPhilippe Mathieu-Daudé if (arch == SYS_EMU_TARGET__MAX) { 30536613beSPhilippe Mathieu-Daudé arch = qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1, 310af00042SPhilippe Mathieu-Daudé &error_abort); 320af00042SPhilippe Mathieu-Daudé } 33536613beSPhilippe Mathieu-Daudé return arch; 34536613beSPhilippe Mathieu-Daudé } 350af00042SPhilippe Mathieu-Daudé target_cpu_type(void)36b113dfa0SPhilippe Mathieu-Daudéconst char *target_cpu_type(void) 37b113dfa0SPhilippe Mathieu-Daudé { 38b113dfa0SPhilippe Mathieu-Daudé return target_info()->cpu_type; 39b113dfa0SPhilippe Mathieu-Daudé } 40b113dfa0SPhilippe Mathieu-Daudé target_machine_typename(void)4128502121SPhilippe Mathieu-Daudéconst char *target_machine_typename(void) 4228502121SPhilippe Mathieu-Daudé { 4328502121SPhilippe Mathieu-Daudé return target_info()->machine_typename; 4428502121SPhilippe Mathieu-Daudé } 45a37aec2eSPhilippe Mathieu-Daudé target_endian_mode(void)46a37aec2eSPhilippe Mathieu-DaudéEndianMode target_endian_mode(void) 47a37aec2eSPhilippe Mathieu-Daudé { 48a37aec2eSPhilippe Mathieu-Daudé return target_info()->endianness; 49a37aec2eSPhilippe Mathieu-Daudé } 50*749c21cfSPhilippe Mathieu-Daudé target_big_endian(void)51*749c21cfSPhilippe Mathieu-Daudébool target_big_endian(void) 52*749c21cfSPhilippe Mathieu-Daudé { 53*749c21cfSPhilippe Mathieu-Daudé return target_endian_mode() == ENDIAN_MODE_BIG; 54*749c21cfSPhilippe Mathieu-Daudé } 55