diff options
Diffstat (limited to 'arch/arm64/kernel/entry.S')
-rw-r--r-- | arch/arm64/kernel/entry.S | 9 |
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 |
358 | ENDPROC(el1_sync) | 358 | ENDPROC(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 |
559 | ENDPROC(el0_sync) | 559 | ENDPROC(el0_sync) |
@@ -585,7 +585,8 @@ ENDPROC(el0_irq) | |||
585 | * | 585 | * |
586 | */ | 586 | */ |
587 | ENTRY(cpu_switch_to) | 587 | ENTRY(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 |