summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/entry.S
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@android.com>2015-10-13 23:30:51 +0200
committerCatalin Marinas <catalin.marinas@arm.com>2015-10-16 15:55:49 +0200
commit77f3228f771506bac4b1308571a62c769552f8f8 (patch)
treecb0f9265cb97508e8d364f1a1a659eb87b84ac8a /arch/arm64/kernel/entry.S
parentarm64: Minor coding style fixes for kc_offset_to_vaddr and kc_vaddr_to_offset (diff)
downloadlinux-77f3228f771506bac4b1308571a62c769552f8f8.tar.xz
linux-77f3228f771506bac4b1308571a62c769552f8f8.zip
arm64: AArch32 user space PC alignment exception
ARMv7 does not have a PC alignment exception. ARMv8 AArch32 user space however can produce a PC alignment exception. Add handler so that we do not dump an unexpected stack trace in the logs. Signed-off-by: Mark Salyzyn <salyzyn@android.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/kernel/entry.S')
-rw-r--r--arch/arm64/kernel/entry.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index 4306c937b1ff..7ed3d75f6304 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -430,6 +430,8 @@ el0_sync_compat:
b.eq el0_fpsimd_acc
cmp x24, #ESR_ELx_EC_FP_EXC32 // FP/ASIMD exception
b.eq el0_fpsimd_exc
+ cmp x24, #ESR_ELx_EC_PC_ALIGN // pc alignment exception
+ b.eq el0_sp_pc
cmp x24, #ESR_ELx_EC_UNKNOWN // unknown exception in EL0
b.eq el0_undef
cmp x24, #ESR_ELx_EC_CP15_32 // CP15 MRC/MCR trap