diff options
-rw-r--r-- | cpu-defs.h | 16 | ||||
-rw-r--r-- | exec-all.h | 5 | ||||
-rw-r--r-- | thunk.h | 17 |
3 files changed, 17 insertions, 21 deletions
@@ -23,6 +23,22 @@ #include "config.h" #include <setjmp.h> +#ifndef TARGET_LONG_BITS +#error TARGET_LONG_BITS must be defined before including this header +#endif + +#define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8) + +#if TARGET_LONG_SIZE == 4 +typedef int32_t target_long; +typedef uint32_t target_ulong; +#elif TARGET_LONG_SIZE == 8 +typedef int64_t target_long; +typedef uint64_t target_ulong; +#else +#error TARGET_LONG_SIZE undefined +#endif + #define EXCP_INTERRUPT 256 /* async interruption */ #define EXCP_HLT 257 /* hlt instruction reached */ #define EXCP_DEBUG 258 /* cpu stopped after a breakpoint or singlestep */ @@ -28,11 +28,6 @@ #define tostring(s) #s #endif -#ifndef THUNK_H -/* horrible */ -typedef uint32_t target_ulong; -#endif - #if GCC_MAJOR < 3 #define __builtin_expect(x, n) (x) #endif @@ -21,7 +21,7 @@ #define THUNK_H #include <inttypes.h> -#include "config.h" +#include "cpu.h" #include "bswap.h" @@ -29,11 +29,6 @@ #define BSWAP_NEEDED #endif -/* XXX: autoconf */ -#define TARGET_LONG_BITS 32 - -#define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8) - #ifdef BSWAP_NEEDED static inline uint16_t tswap16(uint16_t s) @@ -105,16 +100,6 @@ static inline void tswap64s(uint64_t *s) #define tswapls(s) tswap64s((uint64_t *)(s)) #endif -#if TARGET_LONG_SIZE == 4 -typedef int32_t target_long; -typedef uint32_t target_ulong; -#elif TARGET_LONG_SIZE == 8 -typedef int64_t target_long; -typedef uint64_t target_ulong; -#else -#error TARGET_LONG_SIZE undefined -#endif - /* types enums definitions */ typedef enum argtype { |