summaryrefslogtreecommitdiffstats
path: root/arch/csky/abiv1
diff options
context:
space:
mode:
authorGuo Ren2019-04-01 13:06:09 +0200
committerGuo Ren2019-04-22 07:44:57 +0200
commitbf241682936293291dcf40fd93cdd0f5e6222902 (patch)
tree075f2dfe3861e15cc615bcc39990a744e5f6d1a2 /arch/csky/abiv1
parentcsky: Use in_syscall & forget_syscall instead of r11_sig (diff)
downloadkernel-qcow2-linux-bf241682936293291dcf40fd93cdd0f5e6222902.tar.gz
kernel-qcow2-linux-bf241682936293291dcf40fd93cdd0f5e6222902.tar.xz
kernel-qcow2-linux-bf241682936293291dcf40fd93cdd0f5e6222902.zip
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/abiv1')
-rw-r--r--arch/csky/abiv1/inc/abi/entry.h7
-rw-r--r--arch/csky/abiv1/inc/abi/regdef.h2
2 files changed, 2 insertions, 7 deletions
diff --git a/arch/csky/abiv1/inc/abi/entry.h b/arch/csky/abiv1/inc/abi/entry.h
index 7dacce4c0f15..4a485b142be1 100644
--- a/arch/csky/abiv1/inc/abi/entry.h
+++ b/arch/csky/abiv1/inc/abi/entry.h
@@ -16,9 +16,6 @@
#define LSAVE_A4 40
#define LSAVE_A5 44
-#define EPC_INCREASE 2
-#define EPC_KEEP 0
-
.macro USPTOKSP
mtcr sp, ss1
mfcr sp, ss0
@@ -29,10 +26,6 @@
mfcr sp, ss1
.endm
-.macro INCTRAP rx
- addi \rx, EPC_INCREASE
-.endm
-
.macro SAVE_ALL epc_inc
mtcr r13, ss2
mfcr r13, epsr
diff --git a/arch/csky/abiv1/inc/abi/regdef.h b/arch/csky/abiv1/inc/abi/regdef.h
index 9e7e692dd271..729b1c3edcfd 100644
--- a/arch/csky/abiv1/inc/abi/regdef.h
+++ b/arch/csky/abiv1/inc/abi/regdef.h
@@ -21,4 +21,6 @@
#define SYSTRACE_SAVENUM 2
+#define TRAP0_SIZE 2
+
#endif /* __ASM_CSKY_REGDEF_H */