Re: [PATCH 3/4] x86: Unify local_{32|64}.h

From: Harvey Harrison
Date: Sun Dec 16 2007 - 14:45:13 EST


On Sun, 2007-12-16 at 10:18 -0800, H. Peter Anvin wrote:
> Harvey Harrison wrote:
> > Introduce macros to deal with X86_32 using longs and X86_64
> > using quads. Small comment fixes to make files match.
> >
> > #define local_read(l) atomic_long_read(&(l)->a)
> > #define local_set(l,i) atomic_long_set(&(l)->a, (i))
> > +/*
> > + * X86_32 uses longs
> > + * X86_64 uses quads
> > + */
> > +#ifdef CONFIG_X86_32
> > +# define ASM_INC incl
> > +# define ASM_DEC decl
> > +# define ASM_ADD addl
> > +# define ASM_SUB subl
> > +# define ASM_XADD xaddl
> > +#else
> > +# define ASM_INC incq
> > +# define ASM_DEC decq
> > +# define ASM_ADD addq
> > +# define ASM_SUB subq
> > +# define ASM_XADD xaddq
> > +#endif
> >
>
> Please put these in <asm/asm.h> using the _ASM_* namespace and include
> the quotation marks.

Will revise.

>
> > #ifdef CONFIG_X86_32
> > # include "local_32.h"
> > diff --git a/include/asm-x86/local_32.h b/include/asm-x86/local_32.h
> > index f3bc4d9..ff6d1d2 100644
> > --- a/include/asm-x86/local_32.h
> > +++ b/include/asm-x86/local_32.h
> > @@ -4,21 +4,21 @@
> > static inline void local_inc(local_t *l)
> > {
> > __asm__ __volatile__(
> > - "incl %0"
> > + "ASM_INC %0"
> > :"+m" (l->a.counter));
>
> You're substituting a macro *inside* a string here.
>

*ahem*, oops. Will fix.

Harvey

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/