Re: uml and -regparm=3

From: H. Peter Anvin
Date: Wed Jan 09 2008 - 21:46:51 EST


Andi Kleen wrote:
On Wed, Jan 09, 2008 at 09:14:04PM -0500, Jeff Dike wrote:
On Wed, Jan 09, 2008 at 10:50:48PM +0100, Miklos Szeredi wrote:
FASTCALL is useless and should not make a difference. It enables
regparm on specific functions, but that should not make a difference
if it works or not.
__down_write() in include/asm-x86/rwsem.h seems to assume, that the
semaphore pointer is passed in %eax down to rwsem_down_write_failed(),
so regparm does make a difference there.
And rwsem_down_write_failed seems to think it's getting the pointer in
%eax:

That's a left over from when it was called by magic inline assembly.
I suspect it would be better to switch it just over to stack args
for consistent and then declare it asmlinkage


That seems to go in the wrong direction to me. It would make more sense to gradually shift to asmlinkage actually being regparm=3. This, of course, would require a different name (such as FASTCALL) until the conversion is complete -- even if done as a single patch series.

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