lkml.org 
[lkml]   [2007]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 4/4] x86: Final unification of local_{32|64}.h
From
Date
On Sun, 2007-12-16 at 14:48 -0800, H. Peter Anvin wrote:
> Ingo Molnar wrote:
> > * Harvey Harrison <harvey.harrison@gmail.com> wrote:
> >
> >> No differences except for the defintion of local_add_return on X86_64.
> >> The X86_32 version is just fine as it is protected with ifdef
> >> CONFIG_M386 so use it directly.
> >
> > thanks, i've applied your 4 patches to x86.git.
> >
> > btw., now that we have a single unified file, it might make sense to fix
> > these checkpatch complaints:
> >
> > total: 10 errors, 1 warnings, 257 lines checked
> >
> > in case you are interested ;-)
> >
>
> Please pull them pending revision, they're broken (macros don't expand
> inside strings...)
>

Do you have a stylistic preference between these two options:

Option 1) Rely on CPP string constant concatenation

// possibly include trailing space here to avoid remembering
// leading space on the register names
# define _ASM_INC "incl"

static inline void local_inc(local_t *l)
{
__asm__ __volatile__(
_ASM_INC " %0"
:"+m" (l->a.counter));
}

Option 2) Macro Expansion

# define _ASM_INC(r) \"incl\ ##r\"

static inline void local_inc(local_t *l)
{
__asm__ __volatile__(
_ASM_INC(%0);
:"+m" (l->a.counter));
}

Or some other suggestion.

Harvey





\
 
 \ /
  Last update: 2007-12-17 00:41    [W:0.146 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site