diff options
author | bmilekic <bmilekic@FreeBSD.org> | 2002-02-28 06:17:05 +0000 |
---|---|---|
committer | bmilekic <bmilekic@FreeBSD.org> | 2002-02-28 06:17:05 +0000 |
commit | a3cf10660c5fb5fe135e59dc9e4a31342a05e77b (patch) | |
tree | 352ab401e12f9ba2f156ebfbd818547d14aa62e3 | |
parent | e793101d12bd318506950dec86d2f89ed0c8ccab (diff) | |
download | FreeBSD-src-a3cf10660c5fb5fe135e59dc9e4a31342a05e77b.zip FreeBSD-src-a3cf10660c5fb5fe135e59dc9e4a31342a05e77b.tar.gz |
Make MPLOCKED work again in asm files and stringify it explicitly
where necessary.
Reviewed by: jake
-rw-r--r-- | sys/amd64/include/atomic.h | 8 | ||||
-rw-r--r-- | sys/amd64/include/mutex.h | 12 | ||||
-rw-r--r-- | sys/i386/include/atomic.h | 8 | ||||
-rw-r--r-- | sys/i386/include/mutex.h | 12 |
4 files changed, 20 insertions, 20 deletions
diff --git a/sys/amd64/include/atomic.h b/sys/amd64/include/atomic.h index 157f857..42b3f3e 100644 --- a/sys/amd64/include/atomic.h +++ b/sys/amd64/include/atomic.h @@ -80,7 +80,7 @@ void atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v); * the binaries will run on both types of systems. */ #if defined(SMP) || !defined(_KERNEL) -#define MPLOCKED "lock ; " +#define MPLOCKED lock ; #else #define MPLOCKED #endif @@ -93,7 +93,7 @@ void atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v); static __inline void \ atomic_##NAME##_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\ { \ - __asm __volatile(MPLOCKED OP \ + __asm __volatile(__XSTRING(MPLOCKED) OP \ : "+m" (*p) \ : CONS (V)); \ } @@ -137,7 +137,7 @@ atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src) int res = exp; __asm __volatile ( - " " MPLOCKED " " + " " __XSTRING(MPLOCKED) " " " cmpxchgl %1,%2 ; " " setz %%al ; " " movzbl %%al,%0 ; " @@ -180,7 +180,7 @@ atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ { \ u_##TYPE res; \ \ - __asm __volatile(MPLOCKED LOP \ + __asm __volatile(__XSTRING(MPLOCKED) LOP \ : "=a" (res), /* 0 (result) */\ "+m" (*p) /* 1 */ \ : : "memory"); \ diff --git a/sys/amd64/include/mutex.h b/sys/amd64/include/mutex.h index e68bce7..3ed4daf 100644 --- a/sys/amd64/include/mutex.h +++ b/sys/amd64/include/mutex.h @@ -57,7 +57,7 @@ extern struct mtx clock_lock; int _res = MTX_UNOWNED; \ \ __asm __volatile ( \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %3,%1;" /* Try */ \ " jz 1f;" /* Got it */ \ " andl $" _V(MTX_FLAGMASK) ",%0;" /* turn off spec bits */ \ @@ -69,7 +69,7 @@ extern struct mtx clock_lock; " addl $8,%%esp;" \ " jmp 1f;" \ "2:" \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " orl $" _V(MTX_RECURSE) ",%1;" \ " incl %2;" \ "1:" \ @@ -90,7 +90,7 @@ extern struct mtx clock_lock; __asm __volatile ( \ " pushfl;" \ " cli;" \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %3,%1;" /* Try */ \ " jz 2f;" /* got it */ \ " pushl %4;" \ @@ -118,7 +118,7 @@ extern struct mtx clock_lock; int _res = MTX_UNOWNED; \ \ __asm __volatile ( \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %2,%1;" /* Try */ \ " jz 1f;" /* got it */ \ " pushl %3;" \ @@ -143,7 +143,7 @@ extern struct mtx clock_lock; int _tid = (int)(tid); \ \ __asm __volatile ( \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %4,%0;" /* try easy rel */ \ " jz 1f;" /* released! */ \ " pushl %2;" \ @@ -168,7 +168,7 @@ extern struct mtx clock_lock; int _tid = (int)(tid); \ \ __asm __volatile ( \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %5,%0;" /* try easy rel */ \ " jz 1f;" /* released! */ \ " testl $" _V(MTX_RECURSE) ",%%eax;" /* recursed? */ \ diff --git a/sys/i386/include/atomic.h b/sys/i386/include/atomic.h index 157f857..42b3f3e 100644 --- a/sys/i386/include/atomic.h +++ b/sys/i386/include/atomic.h @@ -80,7 +80,7 @@ void atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v); * the binaries will run on both types of systems. */ #if defined(SMP) || !defined(_KERNEL) -#define MPLOCKED "lock ; " +#define MPLOCKED lock ; #else #define MPLOCKED #endif @@ -93,7 +93,7 @@ void atomic_store_rel_##TYPE(volatile u_##TYPE *p, u_##TYPE v); static __inline void \ atomic_##NAME##_##TYPE(volatile u_##TYPE *p, u_##TYPE v)\ { \ - __asm __volatile(MPLOCKED OP \ + __asm __volatile(__XSTRING(MPLOCKED) OP \ : "+m" (*p) \ : CONS (V)); \ } @@ -137,7 +137,7 @@ atomic_cmpset_int(volatile u_int *dst, u_int exp, u_int src) int res = exp; __asm __volatile ( - " " MPLOCKED " " + " " __XSTRING(MPLOCKED) " " " cmpxchgl %1,%2 ; " " setz %%al ; " " movzbl %%al,%0 ; " @@ -180,7 +180,7 @@ atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ { \ u_##TYPE res; \ \ - __asm __volatile(MPLOCKED LOP \ + __asm __volatile(__XSTRING(MPLOCKED) LOP \ : "=a" (res), /* 0 (result) */\ "+m" (*p) /* 1 */ \ : : "memory"); \ diff --git a/sys/i386/include/mutex.h b/sys/i386/include/mutex.h index e68bce7..3ed4daf 100644 --- a/sys/i386/include/mutex.h +++ b/sys/i386/include/mutex.h @@ -57,7 +57,7 @@ extern struct mtx clock_lock; int _res = MTX_UNOWNED; \ \ __asm __volatile ( \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %3,%1;" /* Try */ \ " jz 1f;" /* Got it */ \ " andl $" _V(MTX_FLAGMASK) ",%0;" /* turn off spec bits */ \ @@ -69,7 +69,7 @@ extern struct mtx clock_lock; " addl $8,%%esp;" \ " jmp 1f;" \ "2:" \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " orl $" _V(MTX_RECURSE) ",%1;" \ " incl %2;" \ "1:" \ @@ -90,7 +90,7 @@ extern struct mtx clock_lock; __asm __volatile ( \ " pushfl;" \ " cli;" \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %3,%1;" /* Try */ \ " jz 2f;" /* got it */ \ " pushl %4;" \ @@ -118,7 +118,7 @@ extern struct mtx clock_lock; int _res = MTX_UNOWNED; \ \ __asm __volatile ( \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %2,%1;" /* Try */ \ " jz 1f;" /* got it */ \ " pushl %3;" \ @@ -143,7 +143,7 @@ extern struct mtx clock_lock; int _tid = (int)(tid); \ \ __asm __volatile ( \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %4,%0;" /* try easy rel */ \ " jz 1f;" /* released! */ \ " pushl %2;" \ @@ -168,7 +168,7 @@ extern struct mtx clock_lock; int _tid = (int)(tid); \ \ __asm __volatile ( \ -" " MPLOCKED "" \ +" " __XSTRING(MPLOCKED) "" \ " cmpxchgl %5,%0;" /* try easy rel */ \ " jz 1f;" /* released! */ \ " testl $" _V(MTX_RECURSE) ",%%eax;" /* recursed? */ \ |