arch: arm: aarch32: define arch specific fatal errors
Define aarch32 specific fatal errors.
extern "C" {
#endif
+#ifndef _ASMLANGUAGE
+
+#include <zephyr/fatal_types.h>
+
+enum k_fatal_error_reason_arch {
+ /* Cortex-M MEMFAULT exceptions */
+ K_ERR_ARM_MEM_GENERIC = K_ERR_ARCH_START,
+ K_ERR_ARM_MEM_STACKING,
+ K_ERR_ARM_MEM_UNSTACKING,
+ K_ERR_ARM_MEM_DATA_ACCESS,
+ K_ERR_ARM_MEM_INSTRUCTION_ACCESS,
+ K_ERR_ARM_MEM_FP_LAZY_STATE_PRESERVATION,
+
+ /* Cortex-M BUSFAULT exceptions */
+ K_ERR_ARM_BUS_GENERIC,
+ K_ERR_ARM_BUS_STACKING,
+ K_ERR_ARM_BUS_UNSTACKING,
+ K_ERR_ARM_BUS_PRECISE_DATA_BUS,
+ K_ERR_ARM_BUS_IMPRECISE_DATA_BUS,
+ K_ERR_ARM_BUS_INSTRUCTION_BUS,
+ K_ERR_ARM_BUS_FP_LAZY_STATE_PRESERVATION,
+
+ /* Cortex-M USAGEFAULT exceptions */
+ K_ERR_ARM_USAGE_GENERIC,
+ K_ERR_ARM_USAGE_DIV_0,
+ K_ERR_ARM_USAGE_UNALIGNED_ACCESS,
+ K_ERR_ARM_USAGE_STACK_OVERFLOW,
+ K_ERR_ARM_USAGE_NO_COPROCESSOR,
+ K_ERR_ARM_USAGE_ILLEGAL_EXC_RETURN,
+ K_ERR_ARM_USAGE_ILLEGAL_EPSR,
+ K_ERR_ARM_USAGE_UNDEFINED_INSTRUCTION,
+
+ /* Cortex-M SECURE exceptions */
+ K_ERR_ARM_SECURE_GENERIC,
+ K_ERR_ARM_SECURE_ENTRY_POINT,
+ K_ERR_ARM_SECURE_INTEGRITY_SIGNATURE,
+ K_ERR_ARM_SECURE_EXCEPTION_RETURN,
+ K_ERR_ARM_SECURE_ATTRIBUTION_UNIT,
+ K_ERR_ARM_SECURE_TRANSITION,
+ K_ERR_ARM_SECURE_LAZY_STATE_PRESERVATION,
+ K_ERR_ARM_SECURE_LAZY_STATE_ERROR,
+
+ /* Cortex-A/R exceptions*/
+ K_ERR_ARM_UNDEFINED_INSTRUCTION,
+ K_ERR_ARM_ALIGNMENT_FAULT,
+ K_ERR_ARM_BACKGROUND_FAULT,
+ K_ERR_ARM_PERMISSION_FAULT,
+ K_ERR_ARM_SYNC_EXTERNAL_ABORT,
+ K_ERR_ARM_ASYNC_EXTERNAL_ABORT,
+ K_ERR_ARM_SYNC_PARITY_ERROR,
+ K_ERR_ARM_ASYNC_PARITY_ERROR,
+ K_ERR_ARM_DEBUG_EVENT
+};
+
+#endif /* _ASMLANGUAGE */
+
/**
* @brief Declare the ARCH_STACK_PTR_ALIGN
*
