diff options
Diffstat (limited to 'exec-all.h')
-rw-r--r-- | exec-all.h | 39 |
1 files changed, 12 insertions, 27 deletions
diff --git a/exec-all.h b/exec-all.h index bc118c8a43..d6bbbd20b4 100644 --- a/exec-all.h +++ b/exec-all.h @@ -357,7 +357,7 @@ extern CPUWriteMemoryFunc *io_mem_write[IO_MEM_NB_ENTRIES][4]; extern CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4]; extern void *io_mem_opaque[IO_MEM_NB_ENTRIES]; -#ifdef __powerpc__ +#if defined(__powerpc__) static inline int testandset (int *p) { int ret; @@ -373,9 +373,7 @@ static inline int testandset (int *p) : "cr0", "memory"); return ret; } -#endif - -#ifdef __i386__ +#elif defined(__i386__) static inline int testandset (int *p) { long int readval = 0; @@ -386,9 +384,7 @@ static inline int testandset (int *p) : "cc"); return readval; } -#endif - -#ifdef __x86_64__ +#elif defined(__x86_64__) static inline int testandset (int *p) { long int readval = 0; @@ -399,9 +395,7 @@ static inline int testandset (int *p) : "cc"); return readval; } -#endif - -#ifdef __s390__ +#elif defined(__s390__) static inline int testandset (int *p) { int ret; @@ -413,9 +407,7 @@ static inline int testandset (int *p) : "cc", "memory" ); return ret; } -#endif - -#ifdef __alpha__ +#elif defined(__alpha__) static inline int testandset (int *p) { int ret; @@ -432,9 +424,7 @@ static inline int testandset (int *p) : "m" (*p)); return ret; } -#endif - -#ifdef __sparc__ +#elif defined(__sparc__) static inline int testandset (int *p) { int ret; @@ -446,9 +436,7 @@ static inline int testandset (int *p) return (ret ? 1 : 0); } -#endif - -#ifdef __arm__ +#elif defined(__arm__) static inline int testandset (int *spinlock) { register unsigned int ret; @@ -458,9 +446,7 @@ static inline int testandset (int *spinlock) return ret; } -#endif - -#ifdef __mc68000 +#elif defined(__mc68000) static inline int testandset (int *p) { char ret; @@ -470,18 +456,15 @@ static inline int testandset (int *p) : "cc","memory"); return ret; } -#endif +#elif defined(__ia64) -#ifdef __ia64 #include <ia64intrin.h> static inline int testandset (int *p) { return __sync_lock_test_and_set (p, 1); } -#endif - -#ifdef __mips__ +#elif defined(__mips__) static inline int testandset (int *p) { int ret; @@ -501,6 +484,8 @@ static inline int testandset (int *p) return ret; } +#else +#error unimplemented CPU support #endif typedef int spinlock_t; |