diff options
author | Jonas Bonn <jonas@southpole.se> | 2011-07-30 16:15:42 +0200 |
---|---|---|
committer | Jonas Bonn <jonas@southpole.se> | 2011-09-05 14:29:12 +0200 |
commit | d7cb6667090511755fc8bb294982783b087baef7 (patch) | |
tree | 26a3ec9893bb31dd1945f3f3db9869d590a268e3 /arch/openrisc/include | |
parent | 93ee7a9340d64f20295aacc3fb6a22b759323280 (diff) | |
download | blackbird-obmc-linux-d7cb6667090511755fc8bb294982783b087baef7.tar.gz blackbird-obmc-linux-d7cb6667090511755fc8bb294982783b087baef7.zip |
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.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/openrisc/include/asm/sigcontext.h b/arch/openrisc/include/asm/sigcontext.h index 54a5c50132e3..b79c2b19afbe 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 */ |