1*471558cbSPhilippe Mathieu-Daudé /* 2*471558cbSPhilippe Mathieu-Daudé * QEMU abi_ptr type definitions 3*471558cbSPhilippe Mathieu-Daudé * 4*471558cbSPhilippe Mathieu-Daudé * SPDX-License-Identifier: LGPL-2.1-or-later 5*471558cbSPhilippe Mathieu-Daudé */ 6*471558cbSPhilippe Mathieu-Daudé #ifndef EXEC_ABI_PTR_H 7*471558cbSPhilippe Mathieu-Daudé #define EXEC_ABI_PTR_H 8*471558cbSPhilippe Mathieu-Daudé 9*471558cbSPhilippe Mathieu-Daudé #include "cpu-param.h" 10*471558cbSPhilippe Mathieu-Daudé 11*471558cbSPhilippe Mathieu-Daudé #if defined(CONFIG_USER_ONLY) 12*471558cbSPhilippe Mathieu-Daudé /* 13*471558cbSPhilippe Mathieu-Daudé * sparc32plus has 64bit long but 32bit space address 14*471558cbSPhilippe Mathieu-Daudé * this can make bad result with g2h() and h2g() 15*471558cbSPhilippe Mathieu-Daudé */ 16*471558cbSPhilippe Mathieu-Daudé #if TARGET_VIRT_ADDR_SPACE_BITS <= 32 17*471558cbSPhilippe Mathieu-Daudé typedef uint32_t abi_ptr; 18*471558cbSPhilippe Mathieu-Daudé #define TARGET_ABI_FMT_ptr "%x" 19*471558cbSPhilippe Mathieu-Daudé #else 20*471558cbSPhilippe Mathieu-Daudé typedef uint64_t abi_ptr; 21*471558cbSPhilippe Mathieu-Daudé #define TARGET_ABI_FMT_ptr "%"PRIx64 22*471558cbSPhilippe Mathieu-Daudé #endif 23*471558cbSPhilippe Mathieu-Daudé 24*471558cbSPhilippe Mathieu-Daudé #else /* !CONFIG_USER_ONLY */ 25*471558cbSPhilippe Mathieu-Daudé 26*471558cbSPhilippe Mathieu-Daudé #include "exec/target_long.h" 27*471558cbSPhilippe Mathieu-Daudé 28*471558cbSPhilippe Mathieu-Daudé typedef target_ulong abi_ptr; 29*471558cbSPhilippe Mathieu-Daudé #define TARGET_ABI_FMT_ptr TARGET_FMT_lx 30*471558cbSPhilippe Mathieu-Daudé 31*471558cbSPhilippe Mathieu-Daudé #endif /* !CONFIG_USER_ONLY */ 32*471558cbSPhilippe Mathieu-Daudé 33*471558cbSPhilippe Mathieu-Daudé #endif 34