diff options
author | Guo Ren <ren_guo@c-sky.com> | 2019-04-01 14:06:09 +0300 |
---|---|---|
committer | Guo Ren <ren_guo@c-sky.com> | 2019-04-22 08:44:57 +0300 |
commit | bf241682936293291dcf40fd93cdd0f5e6222902 (patch) | |
tree | 075f2dfe3861e15cc615bcc39990a744e5f6d1a2 /arch/csky/abiv2 | |
parent | f4625ee0e40a5c724bb3f3eb7fd89e491bfd7646 (diff) | |
download | linux-bf241682936293291dcf40fd93cdd0f5e6222902.tar.xz |
csky: Reconstruct signal processing
Linux kernel has provided some apis for arch signal's implementation.
For example:
restore_saved_sigmask()
set_current_blocked()
restore_altstack()
But in last version of csky signal.c didn't use them and some codes are
confusing, so reconstruct signal.c with reference to riscv's code.
Now csky signal.c implementation are very close to riscv and we can
get the following benefits:
- Clear code structure
- The signal code of riscv and csky can be reviewed together
- Promoting the unification of arch's signal implementation
Also modified the related code in entry.S
Signed-off-by: Guo Ren <ren_guo@c-sky.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/csky/abiv2')
-rw-r--r-- | arch/csky/abiv2/inc/abi/entry.h | 7 | ||||
-rw-r--r-- | arch/csky/abiv2/inc/abi/regdef.h | 2 |
2 files changed, 2 insertions, 7 deletions
diff --git a/arch/csky/abiv2/inc/abi/entry.h b/arch/csky/abiv2/inc/abi/entry.h index ea376ed716c4..6a0df655182c 100644 --- a/arch/csky/abiv2/inc/abi/entry.h +++ b/arch/csky/abiv2/inc/abi/entry.h @@ -14,18 +14,11 @@ #define LSAVE_A2 32 #define LSAVE_A3 36 -#define EPC_INCREASE 4 -#define EPC_KEEP 0 - #define KSPTOUSP #define USPTOKSP #define usp cr<14, 1> -.macro INCTRAP rx - addi \rx, EPC_INCREASE -.endm - .macro SAVE_ALL epc_inc subi sp, 152 stw tls, (sp, 0) diff --git a/arch/csky/abiv2/inc/abi/regdef.h b/arch/csky/abiv2/inc/abi/regdef.h index 652f5ce4c3dd..77cb1788b04c 100644 --- a/arch/csky/abiv2/inc/abi/regdef.h +++ b/arch/csky/abiv2/inc/abi/regdef.h @@ -21,4 +21,6 @@ #define SYSTRACE_SAVENUM 5 +#define TRAP0_SIZE 4 + #endif /* __ASM_CSKY_REGDEF_H */ |