aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/entry.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64/kernel/entry.S')
-rw-r--r--arch/arm64/kernel/entry.S9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index a7691a378668..e16351819fed 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -352,8 +352,8 @@ el1_inv:
352 // TODO: add support for undefined instructions in kernel mode 352 // TODO: add support for undefined instructions in kernel mode
353 enable_dbg 353 enable_dbg
354 mov x0, sp 354 mov x0, sp
355 mov x2, x1
355 mov x1, #BAD_SYNC 356 mov x1, #BAD_SYNC
356 mrs x2, esr_el1
357 b bad_mode 357 b bad_mode
358ENDPROC(el1_sync) 358ENDPROC(el1_sync)
359 359
@@ -553,7 +553,7 @@ el0_inv:
553 ct_user_exit 553 ct_user_exit
554 mov x0, sp 554 mov x0, sp
555 mov x1, #BAD_SYNC 555 mov x1, #BAD_SYNC
556 mrs x2, esr_el1 556 mov x2, x25
557 bl bad_mode 557 bl bad_mode
558 b ret_to_user 558 b ret_to_user
559ENDPROC(el0_sync) 559ENDPROC(el0_sync)
@@ -585,7 +585,8 @@ ENDPROC(el0_irq)
585 * 585 *
586 */ 586 */
587ENTRY(cpu_switch_to) 587ENTRY(cpu_switch_to)
588 add x8, x0, #THREAD_CPU_CONTEXT 588 mov x10, #THREAD_CPU_CONTEXT
589 add x8, x0, x10
589 mov x9, sp 590 mov x9, sp
590 stp x19, x20, [x8], #16 // store callee-saved registers 591 stp x19, x20, [x8], #16 // store callee-saved registers
591 stp x21, x22, [x8], #16 592 stp x21, x22, [x8], #16
@@ -594,7 +595,7 @@ ENTRY(cpu_switch_to)
594 stp x27, x28, [x8], #16 595 stp x27, x28, [x8], #16
595 stp x29, x9, [x8], #16 596 stp x29, x9, [x8], #16
596 str lr, [x8] 597 str lr, [x8]
597 add x8, x1, #THREAD_CPU_CONTEXT 598 add x8, x1, x10
598 ldp x19, x20, [x8], #16 // restore callee-saved registers 599 ldp x19, x20, [x8], #16 // restore callee-saved registers
599 ldp x21, x22, [x8], #16 600 ldp x21, x22, [x8], #16
600 ldp x23, x24, [x8], #16 601 ldp x23, x24, [x8], #16