12#ifndef ZEPHYR_INCLUDE_ARCH_ARM_CORTEX_M_EXCEPTION_H_
13#define ZEPHYR_INCLUDE_ARCH_ARM_CORTEX_M_EXCEPTION_H_
20#define Z_EXC_PRIO(pri) (((pri) << (8 - NUM_IRQ_PRIO_BITS)) & 0xff)
40#if defined(CONFIG_CPU_CORTEX_M_HAS_PROGRAMMABLE_FAULT_PRIOS)
41#define _EXCEPTION_RESERVED_PRIO 1
43#define _EXCEPTION_RESERVED_PRIO 0
46#define _EXC_FAULT_PRIO 0
47#define _EXC_ZERO_LATENCY_IRQS_PRIO 0
48#define _EXC_SVC_PRIO COND_CODE_1(CONFIG_ZERO_LATENCY_IRQS, \
49 (CONFIG_ZERO_LATENCY_LEVELS), (0))
50#define _IRQ_PRIO_OFFSET (_EXCEPTION_RESERVED_PRIO + _EXC_SVC_PRIO)
51#define IRQ_PRIO_LOWEST (BIT(NUM_IRQ_PRIO_BITS) - (_IRQ_PRIO_OFFSET) - 1)
53#define _EXC_IRQ_DEFAULT_PRIO Z_EXC_PRIO(_IRQ_PRIO_OFFSET)
56#define _EXC_PENDSV_PRIO 0xff
57#define _EXC_PENDSV_PRIO_MASK Z_EXC_PRIO(_EXC_PENDSV_PRIO)
68#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
79#ifdef CONFIG_VFP_FEATURE_REGS_S64_D32
93#if defined(CONFIG_EXTRA_EXCEPTION_INFO)
94struct __extra_esf_info {
95 _callee_saved_t *callee;
102#define sys_define_gpr_with_alias(name1, name2) union { uint32_t name1, name2; }
115#if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
118#if defined(CONFIG_EXTRA_EXCEPTION_INFO)
119 struct __extra_esf_info extra_info;
123extern uint32_t z_arm_coredump_fault_sp;
125extern void z_arm_exc_exit(
void);
#define sys_define_gpr_with_alias(name1, name2)
Definition exception.h:58
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa s
Definition asm-macro-32-bit-gnu.h:17
irp nz macro MOVR cc d
Definition asm-macro-32-bit-gnu.h:11
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
Definition exception.h:105
uint32_t r14
Definition exception.h:73
uint32_t xpsr
Definition exception.h:75
uint32_t r3
Definition exception.h:71
uint32_t lr
Definition exception.h:73
uint32_t r2
Definition exception.h:70
uint32_t r1
Definition exception.h:69
uint32_t a2
Definition exception.h:69
uint32_t pc
Definition exception.h:74
uint32_t a3
Definition exception.h:70
uint32_t r0
Definition exception.h:68
uint32_t ip
Definition exception.h:72
uint32_t a1
Definition exception.h:68
uint32_t a4
Definition exception.h:71
uint32_t r12
Definition exception.h:72
uint32_t r15
Definition exception.h:74
Exception Stack Frame.
Definition exception.h:60
struct arch_esf::__basic_sf basic
struct __fpu_sf fpu
Definition exception.h:65