diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2017-01-08 22:45:48 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-05-03 11:36:39 -0400 |
commit | 9cbf4337a51dfc886e15a526cb47660404eb2a61 (patch) | |
tree | 864ba93a99434ad81b4ed441222f790abddc6d25 /arch | |
parent | 4684be169a6700a1c1c5647d6f83f987f45d81fa (diff) |
ARCv2: save r30 on kernel entry as gcc uses it for code-gen
commit ecd43afdbe72017aefe48080631eb625e177ef4d upstream.
This is not exposed to userspace debugers yet, which can be done
independently as a seperate patch !
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arc/include/asm/entry-arcv2.h | 2 | ||||
-rw-r--r-- | arch/arc/include/asm/ptrace.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/arc/include/asm/entry-arcv2.h b/arch/arc/include/asm/entry-arcv2.h index b5ff87e6f4b7..aee1a77934cf 100644 --- a/arch/arc/include/asm/entry-arcv2.h +++ b/arch/arc/include/asm/entry-arcv2.h | |||
@@ -16,6 +16,7 @@ | |||
16 | ; | 16 | ; |
17 | ; Now manually save: r12, sp, fp, gp, r25 | 17 | ; Now manually save: r12, sp, fp, gp, r25 |
18 | 18 | ||
19 | PUSH r30 | ||
19 | PUSH r12 | 20 | PUSH r12 |
20 | 21 | ||
21 | ; Saving pt_regs->sp correctly requires some extra work due to the way | 22 | ; Saving pt_regs->sp correctly requires some extra work due to the way |
@@ -72,6 +73,7 @@ | |||
72 | POPAX AUX_USER_SP | 73 | POPAX AUX_USER_SP |
73 | 1: | 74 | 1: |
74 | POP r12 | 75 | POP r12 |
76 | POP r30 | ||
75 | 77 | ||
76 | .endm | 78 | .endm |
77 | 79 | ||
diff --git a/arch/arc/include/asm/ptrace.h b/arch/arc/include/asm/ptrace.h index 69095da1fcfd..47111d565a95 100644 --- a/arch/arc/include/asm/ptrace.h +++ b/arch/arc/include/asm/ptrace.h | |||
@@ -84,7 +84,7 @@ struct pt_regs { | |||
84 | unsigned long fp; | 84 | unsigned long fp; |
85 | unsigned long sp; /* user/kernel sp depending on where we came from */ | 85 | unsigned long sp; /* user/kernel sp depending on where we came from */ |
86 | 86 | ||
87 | unsigned long r12; | 87 | unsigned long r12, r30; |
88 | 88 | ||
89 | /*------- Below list auto saved by h/w -----------*/ | 89 | /*------- Below list auto saved by h/w -----------*/ |
90 | unsigned long r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11; | 90 | unsigned long r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11; |