summaryrefslogtreecommitdiffstats
path: root/arch/openrisc/include
diff options
context:
space:
mode:
authorJonas Bonn <jonas@southpole.se>2011-07-30 16:15:42 +0200
committerJonas Bonn <jonas@southpole.se>2011-09-05 14:29:12 +0200
commitd7cb6667090511755fc8bb294982783b087baef7 (patch)
tree26a3ec9893bb31dd1945f3f3db9869d590a268e3 /arch/openrisc/include
parent93ee7a9340d64f20295aacc3fb6a22b759323280 (diff)
downloadop-kernel-dev-d7cb6667090511755fc8bb294982783b087baef7.zip
op-kernel-dev-d7cb6667090511755fc8bb294982783b087baef7.tar.gz
openrisc: don't use pt_regs in struct sigcontext
As it was decided not to export struct pt_regs to userspace, struct sigcontext shouldn't be using it either. The pt_regs struct for OpenRISC is kernel internal and the layout of the registers may change in the future. The struct user_regs_struct is what is guaranteed to remain stable, so struct sigcontext may use that instead. This patch removes the usage of struct pt_regs in struct sigcontext and makes according changes in signal.c to get the register layout right. The usp field is removed from the sigcontext structure as this information is already contained in the user_regs_struct. Signed-off-by: Jonas Bonn <jonas@southpole.se> Reviewed-by: Emilio Cota <cota@braap.org>
Diffstat (limited to 'arch/openrisc/include')
-rw-r--r--arch/openrisc/include/asm/sigcontext.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/openrisc/include/asm/sigcontext.h b/arch/openrisc/include/asm/sigcontext.h
index 54a5c50..b79c2b1 100644
--- a/arch/openrisc/include/asm/sigcontext.h
+++ b/arch/openrisc/include/asm/sigcontext.h
@@ -23,16 +23,11 @@
/* This struct is saved by setup_frame in signal.c, to keep the current
context while a signal handler is executed. It's restored by sys_sigreturn.
-
- To keep things simple, we use pt_regs here even though normally you just
- specify the list of regs to save. Then we can use copy_from_user on the
- entire regs instead of a bunch of get_user's as well...
*/
struct sigcontext {
- struct pt_regs regs; /* needs to be first */
+ struct user_regs_struct regs; /* needs to be first */
unsigned long oldmask;
- unsigned long usp; /* usp before stacking this gunk on it */
};
#endif /* __ASM_OPENRISC_SIGCONTEXT_H */
OpenPOWER on IntegriCloud