diff options
author | Jonas Bonn <jonas@southpole.se> | 2011-06-04 20:38:59 +0200 |
---|---|---|
committer | Jonas Bonn <jonas@southpole.se> | 2011-07-22 18:46:29 +0200 |
commit | ac689eb7f9d4e270d1365853b82eece669387e2c (patch) | |
tree | a162b2fe1a3211718e095bd106b2f005e1380b3f /arch/openrisc/include | |
parent | OpenRISC: Memory management (diff) | |
download | linux-ac689eb7f9d4e270d1365853b82eece669387e2c.tar.xz linux-ac689eb7f9d4e270d1365853b82eece669387e2c.zip |
OpenRISC: Signal handling
Signed-off-by: Jonas Bonn <jonas@southpole.se>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/openrisc/include')
-rw-r--r-- | arch/openrisc/include/asm/sigcontext.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/arch/openrisc/include/asm/sigcontext.h b/arch/openrisc/include/asm/sigcontext.h new file mode 100644 index 000000000000..54a5c50132e3 --- /dev/null +++ b/arch/openrisc/include/asm/sigcontext.h @@ -0,0 +1,38 @@ +/* + * OpenRISC Linux + * + * Linux architectural port borrowing liberally from similar works of + * others. All original copyrights apply as per the original source + * declaration. + * + * OpenRISC implementation: + * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com> + * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> + * et al. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#ifndef __ASM_OPENRISC_SIGCONTEXT_H +#define __ASM_OPENRISC_SIGCONTEXT_H + +#include <asm/ptrace.h> + +/* 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 */ + unsigned long oldmask; + unsigned long usp; /* usp before stacking this gunk on it */ +}; + +#endif /* __ASM_OPENRISC_SIGCONTEXT_H */ |