From: bellard Date: Sat, 24 Jan 2004 15:26:06 +0000 (+0000) Subject: correct target_ulong definition X-Git-Tag: 0.10.0-0maemo1~5753 X-Git-Url: http://git.maemo.org/git/?a=commitdiff_plain;h=35b66fc4f9dd2c4c3fb8e26c5c1480965b81bbd4;p=qemu correct target_ulong definition git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@582 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/cpu-defs.h b/cpu-defs.h index 84b5e28..013076b 100644 --- a/cpu-defs.h +++ b/cpu-defs.h @@ -23,6 +23,22 @@ #include "config.h" #include +#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 */ diff --git a/exec-all.h b/exec-all.h index fa407e9..9c7e5ed 100644 --- a/exec-all.h +++ b/exec-all.h @@ -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 diff --git a/thunk.h b/thunk.h index 6b4c2c3..b281319 100644 --- a/thunk.h +++ b/thunk.h @@ -21,7 +21,7 @@ #define THUNK_H #include -#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 {