Jan Beulich
2008-Mar-14 07:54 UTC
[Xen-devel] [PATCH] linux/x86: simplify synch_test_bit()
There really is no need for a redundant implementation here, just keep the alternative name for allowing consumers to use consistent naming. As usual, written and tested on 2.6.25-rc5 and made apply to the 2.6.18 tree without further testing. Signed-off-by: Jan Beulich <jbeulich@novell.com> Index: head-2008-03-11/include/asm-i386/mach-xen/asm/synch_bitops.h ==================================================================--- head-2008-03-11.orig/include/asm-i386/mach-xen/asm/synch_bitops.h 2008-03-12 17:07:19.000000000 +0100 +++ head-2008-03-11/include/asm-i386/mach-xen/asm/synch_bitops.h 2008-03-12 17:10:21.000000000 +0100 @@ -119,26 +119,7 @@ static inline unsigned long __synch_cmpx return old; } -static __always_inline int synch_const_test_bit(int nr, - const volatile void * addr) -{ - return ((1UL << (nr & 31)) & - (((const volatile unsigned int *) addr)[nr >> 5])) != 0; -} - -static __inline__ int synch_var_test_bit(int nr, volatile void * addr) -{ - int oldbit; - __asm__ __volatile__ ( - "btl %2,%1\n\tsbbl %0,%0" - : "=r" (oldbit) : "m" (ADDR), "Ir" (nr) ); - return oldbit; -} - -#define synch_test_bit(nr,addr) \ -(__builtin_constant_p(nr) ? \ - synch_const_test_bit((nr),(addr)) : \ - synch_var_test_bit((nr),(addr))) +#define synch_test_bit test_bit #define synch_cmpxchg_subword synch_cmpxchg _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel