]> git.baikalelectronics.ru Git - kernel.git/commit
x86: use regparm(3) for passed-in pt_regs pointer
authorBrian Gerst <brgerst@gmail.com>
Wed, 11 Feb 2009 21:43:58 +0000 (16:43 -0500)
committerH. Peter Anvin <hpa@linux.intel.com>
Wed, 11 Feb 2009 22:00:56 +0000 (14:00 -0800)
commit851b03f451a32789dd6286b1a9b6861f0f352993
treee41f325f01614f7cf2eb78350fbd7440afe39cf8
parent6750b87686a3baa040a8958d2a7a6a87e608a5a4
x86: use regparm(3) for passed-in pt_regs pointer

Some syscalls need to access the pt_regs structure, either to copy
user register state or to modifiy it.  This patch adds stubs to load
the address of the pt_regs struct into the %eax register, and changes
the syscalls to take the pointer as an argument instead of relying on
the assumption that the pt_regs structure overlaps the function
arguments.

Drop the use of regparm(1) due to concern about gcc bugs, and to move
in the direction of the eventual removal of regparm(0) for asmlinkage.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/include/asm/linkage.h
arch/x86/include/asm/syscalls.h
arch/x86/kernel/ioport.c
arch/x86/kernel/process_32.c
arch/x86/kernel/signal.c
arch/x86/kernel/vm86_32.c