diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2020-01-25 14:20:16 +0100 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2020-01-27 12:36:59 +0100 |
commit | d52668f6b3e052fa97e93e536c492f5880c73474 (patch) | |
tree | 8f8fefe09157256ce1ed42a9219dba7d368f6c09 /arch | |
parent | powerpc/8xx: Split breakpoint exception (diff) | |
download | linux-d52668f6b3e052fa97e93e536c492f5880c73474.tar.xz linux-d52668f6b3e052fa97e93e536c492f5880c73474.zip |
powerpc/8xx: Move tail of alignment exception out of line
When we enable VMAP_STACK there will not be enough room for the
alignment handler at 0x600 in head_8xx.S. For now move the tail of the
alignment handler out of line, and branch to it.
Suggested-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/head_8xx.S | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index 225e242ce1c5..a6b1b7af2217 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S @@ -145,7 +145,7 @@ Alignment: li r6, RPN_PATTERN mtspr SPRN_DAR, r6 /* Tag DAR, to be used in DTLB Error */ addi r3,r1,STACK_FRAME_OVERHEAD - EXC_XFER_STD(0x600, alignment_exception) + b .Lalignment_exception_ool /* Program check exception */ EXCEPTION(0x700, ProgramCheck, program_check_exception, EXC_XFER_STD) @@ -153,6 +153,11 @@ Alignment: /* Decrementer */ EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE) + /* With VMAP_STACK there's not enough room for this at 0x600 */ + . = 0xa00 +.Lalignment_exception_ool: + EXC_XFER_STD(0x600, alignment_exception) + /* System call */ . = 0xc00 SystemCall: |