mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 18:23:53 +08:00
ARC: K/U SP saved from one location in stack switching macro
This paves way for further simplifications. There's an overhead of 1 insn for the non-common case of interrupt taken from kernel mode. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
parent
147aece29b
commit
ba3558c772
@ -290,9 +290,8 @@
|
||||
* safe-keeping not really needed, but it keeps the epilogue code
|
||||
* (SP restore) simpler/uniform.
|
||||
*/
|
||||
b.d 77f
|
||||
|
||||
st.a sp, [sp, -12] ; Make room for orig_r0 and orig_r8
|
||||
b.d 66f
|
||||
mov r9, sp
|
||||
|
||||
88: /*------Intr/Ecxp happened in user mode, "switch" stack ------ */
|
||||
|
||||
@ -311,6 +310,7 @@
|
||||
/* With current tsk in r9, get it's kernel mode stack base */
|
||||
GET_TSK_STACK_BASE r9, r9
|
||||
|
||||
66:
|
||||
/* Save Pre Intr/Exception User SP on kernel stack */
|
||||
st.a sp, [r9, -12] ; Make room for orig_r0 and orig_r8
|
||||
|
||||
@ -323,7 +323,7 @@
|
||||
/* set SP to point to kernel mode stack */
|
||||
mov sp, r9
|
||||
|
||||
77: /* ----- Stack Switched to kernel Mode, Now save REG FILE ----- */
|
||||
/* ----- Stack Switched to kernel Mode, Now save REG FILE ----- */
|
||||
|
||||
.endm
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user