Re: [patch 04/28] Add cmpxchg64 and cmpxchg64_local to mips

Ralf Baechle
2007-10-31T12:49:24Z

On Tue, Oct 30, 2007 at 03:16:01PM -0400, Mathieu Desnoyers wrote:

> Index: linux-2.6-lttng/include/asm-mips/cmpxchg.h
> ===================================================================
> --- linux-2.6-lttng.orig/include/asm-mips/cmpxchg.h 2007-10-12 12:05:06.000000000 -0400
> +++ linux-2.6-lttng/include/asm-mips/cmpxchg.h 2007-10-12 12:08:56.000000000 -0400
> @@ -104,4 +104,13 @@ extern void __cmpxchg_called_with_bad_po
> #define cmpxchg(ptr, old, new) __cmpxchg(ptr, old, new, smp_llsc_mb())
> #define cmpxchg_local(ptr, old, new) __cmpxchg(ptr, old, new, )
>
> +#define cmpxchg64 cmpxchg
> +
> +#ifdef CONFIG_64BIT
> +#define cmpxchg64_local cmpxchg_local

This implementation means cmpxchg64_local will also silently take 32-bit
arguments without making noises at compile time. I think it should.

Ralf