From ea438d0a9ba413de342e8d2fae133062a3363895 Mon Sep 17 00:00:00 2001 From: Daniel Leung Date: Tue, 23 Jul 2019 16:25:06 -0700 Subject: [PATCH] xtensa: asm2: add code for double exception vector This adds a simple infinite loop when double exception is raised. Without this, if double exception occurs, it would execute arbitrary code. Signed-off-by: Daniel Leung --- arch/xtensa/core/xtensa-asm2-util.S | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/arch/xtensa/core/xtensa-asm2-util.S b/arch/xtensa/core/xtensa-asm2-util.S index c12a498b0cd..c68e2830350 100644 --- a/arch/xtensa/core/xtensa-asm2-util.S +++ b/arch/xtensa/core/xtensa-asm2-util.S @@ -307,4 +307,18 @@ _KernelExceptionVector: j _Level1Vector .popsection +#ifdef XCHAL_DOUBLEEXC_VECTOR_VADDR +.pushsection .DoubleExceptionVector.text, "ax" +.global _DoubleExceptionVector +_DoubleExceptionVector: +#if XCHAL_HAVE_DEBUG +/* Signals an unhandled double exception */ +1: break 1, 4 +#else +1: +#endif + j 1b +.popsection +#endif + #endif /* CONFIG_XTENSA_ASM2 */