correct target_ulong definition
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 24 Jan 2004 15:26:06 +0000 (15:26 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 24 Jan 2004 15:26:06 +0000 (15:26 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@582 c046a42c-6fe2-441c-8c8c-71466251a162

cpu-defs.h
exec-all.h
thunk.h

index 84b5e28..013076b 100644 (file)
 #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 */
index fa407e9..9c7e5ed 100644 (file)
 #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 (file)
--- a/thunk.h
+++ b/thunk.h
@@ -21,7 +21,7 @@
 #define THUNK_H
 
 #include <inttypes.h>
-#include "config.h"
+#include "cpu.h"
 
 #include "bswap.h"
 
 #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 {