diff options
author | Paul Burton <paul.burton@mips.com> | 2018-08-01 13:12:42 -0700 |
---|---|---|
committer | Paul Burton <paul.burton@mips.com> | 2018-08-01 13:20:15 -0700 |
commit | 96a68b14db358c310e1c5cc5229752845192c1fa (patch) | |
tree | 2ba8dc7a1f0621597b4169ac88743bcd45028292 /arch/mips/include | |
parent | 84a7f564fa14bf4713240f614c0b9a18730418fa (diff) | |
download | linux-stable-96a68b14db358c310e1c5cc5229752845192c1fa.tar.gz linux-stable-96a68b14db358c310e1c5cc5229752845192c1fa.tar.bz2 linux-stable-96a68b14db358c310e1c5cc5229752845192c1fa.zip |
MIPS: Remove nabi_no_regargs
Our sigreturn functions make use of a macro named nabi_no_regargs to
declare 8 dummy arguments to a function, forcing the compiler to expect
a pt_regs structure on the stack rather than in argument registers. This
is an ugly hack which unnecessarily causes these sigreturn functions to
need to care about the calling convention of the ABI the kernel is built
for. Although this is abstracted via nabi_no_regargs, it's still ugly &
unnecessary.
Remove nabi_no_regargs & the struct pt_regs argument from sigreturn
functions, and instead use current_pt_regs() to find the struct pt_regs
on the stack, which works cleanly regardless of ABI.
Signed-off-by: Paul Burton <paul.burton@mips.com>
Patchwork: https://patchwork.linux-mips.org/patch/20106/
Cc: James Hogan <jhogan@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Diffstat (limited to 'arch/mips/include')
-rw-r--r-- | arch/mips/include/asm/sim.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/arch/mips/include/asm/sim.h b/arch/mips/include/asm/sim.h index 91831800c480..59f31a95facd 100644 --- a/arch/mips/include/asm/sim.h +++ b/arch/mips/include/asm/sim.h @@ -39,8 +39,6 @@ __asm__( \ ".end\t__" #symbol "\n\t" \ ".size\t__" #symbol",. - __" #symbol) -#define nabi_no_regargs - #endif /* CONFIG_32BIT */ #ifdef CONFIG_64BIT @@ -67,16 +65,6 @@ __asm__( \ ".end\t__" #symbol "\n\t" \ ".size\t__" #symbol",. - __" #symbol) -#define nabi_no_regargs \ - unsigned long __dummy0, \ - unsigned long __dummy1, \ - unsigned long __dummy2, \ - unsigned long __dummy3, \ - unsigned long __dummy4, \ - unsigned long __dummy5, \ - unsigned long __dummy6, \ - unsigned long __dummy7, - #endif /* CONFIG_64BIT */ #endif /* _ASM_SIM_H */ |