15#ifndef ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_ERROR_H_
16#define ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_ERROR_H_
26#if defined(CONFIG_ARMV6_M_ARMV8_M_BASELINE)
35#define ARCH_EXCEPT(reason_p) \
36register uint32_t r0 __asm__("r0") = reason_p; \
42 : "r" (r0), [id] "i" (_SVC_CALL_RUNTIME_EXCEPT) \
45#elif defined(CONFIG_ARMV7_M_ARMV8_M_MAINLINE)
46#define ARCH_EXCEPT(reason_p) do { \
49 "msr BASEPRI, r0\n\t" \
50 "mov r0, %[reason]\n\t" \
53 : [reason] "i" (reason_p), [id] "i" (_SVC_CALL_RUNTIME_EXCEPT) \
56#elif defined(CONFIG_ARMV7_R)
65#define ARCH_EXCEPT(reason_p) \
66register uint32_t r0 __asm__("r0") = reason_p; \
74 : "r" (r0), [id] "i" (_SVC_CALL_RUNTIME_EXCEPT) \
78#error Unknown ARM architecture
ARM AArch32 specific syscall header.
ARM AArch32 public exception handling.