Re: [RFC PATCH] x86: Unify include/asm-x86/linkage_[32|64].h

From: Adrian Bunk
Date: Tue Dec 04 2007 - 18:16:07 EST


On Tue, Dec 04, 2007 at 02:57:55PM -0800, Harvey Harrison wrote:
>
> On Tue, 2007-12-04 at 23:45 +0100, Adrian Bunk wrote:
> > On Tue, Dec 04, 2007 at 11:27:17PM +0100, Ingo Molnar wrote:
> > >
> > > * Harvey Harrison <harvey.harrison@xxxxxxxxx> wrote:
> > >
> > > > On Tue, 2007-12-04 at 22:32 +0100, Ingo Molnar wrote:
> > > > > * Harvey Harrison <harvey.harrison@xxxxxxxxx> wrote:
> > > > >
> > > > > > I'm not sure if the definition of asmlinkage and prevent_tail_call can
> > > > > > be omitted as well and let the linux/linkage.h version get picked up
> > > > > > instead.
> > > > >
> > > > > no, we cannot remove them - asmlinkage is needed for the syscall
> > > > > entry (and other entry code) to work, the and the prevent_tail_call
> > > > > works around a compiler bug. (which might or might not be fixed in
> > > > > latest gcc - but we generally dont remove workarounds unless we are
> > > > > really sure it's fine.)
> > > >
> > > > OK, but if this patch is acceptable, then there is no more places in
> > > > the tree that define the FASTCALL macro, other than the empty default
> > > > in include/linux/linkage.h. So I think a second step would be to
> > > > start to get rid of FASTCALL callers elsewhere in the tree...thoughts?
> > >
> > > the removal of FASTCALL is fine: the default (and only) compiler model
> > > for x86 (32-bit) is regparm(3), so the regparm(3) macro is equivalent to
> > > the empty one in linux/linkage.h.
> > >...
> >
> > But please ensure that they stay in assembler code also used by UML.
>
> I'm curious how UML is using FASTCALL/fastcall. Any pointers?

UML can't switch to the regparm(3) convention on i386 since it links
with userspace code, so if assembler code uses this calling convention
we need the C prototype of it annotated accordingly.

> Harvey

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

--
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/