[lkml]   [2017]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC PATCH 3/4] x86/asm: Make alternative macro interfaces more clear and consistent
On Thu, Sep 14, 2017 at 11:28:30AM -0700, Linus Torvalds wrote:
> On Thu, Sep 14, 2017 at 10:33 AM, Josh Poimboeuf <> wrote:
> >>
> >> a) uglifying the 15 or so relevant inline asm locations with ifdefs; or
> >
> > Actually I guess we could put the "sp" in a macro... I'll try it.
> Exactly. Do something like
> # define EXTRA_ASM_CLOBBERS "rsp"
> #else
> #endif
> and then replace the nasty
> register void *__sp asm(_ASM_SP);
> ..
> "+r" (__sp)
> games with just that EXTRA_ASM_CLOBBERS thing at the end of the clobbers.
> Yes, you'd probably have to document that the alternative_call_2()
> thing doesn't take a "input" argument, but a input_and_clobbers, but
> all users do that anyway.
> I dunno.

There's also alternative_call(), which doesn't yet have the '__rsp'
annotation, but it probably should. It has some callers which pass
clobbers and some which don't, so its conversion would be trickier.

So my plan is to keep patch 3 of this series, which clarifies those
alternative macro interfaces, and also separates the inputs from the
clobbers. That'll make it really easy to add something like

In fact I'll probably keep patches 1-3, because they're all
improvements. Then I'll replace the original patch 4 (ASM_CALL) with
the "sp" clobbers thing.


 \ /
  Last update: 2017-09-14 20:46    [W:0.028 / U:3.708 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site