1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Based on arch/arm/include/asm/exception.h
5 * Copyright (C) 2012 ARM Ltd.
7 #ifndef __ASM_EXCEPTION_H
8 #define __ASM_EXCEPTION_H
12 #include <linux/interrupt.h>
14 #define __exception __attribute__((section(".exception.text")))
15 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
16 #define __exception_irq_entry __irq_entry
18 #define __exception_irq_entry __exception
21 static inline u32
disr_to_esr(u64 disr
)
23 unsigned int esr
= ESR_ELx_EC_SERROR
<< ESR_ELx_EC_SHIFT
;
25 if ((disr
& DISR_EL1_IDS
) == 0)
26 esr
|= (disr
& DISR_EL1_ESR_MASK
);
28 esr
|= (disr
& ESR_ELx_ISS_MASK
);
33 #endif /* __ASM_EXCEPTION_H */