1 /* 2 * Copyright (c) 2016 Intel Corporation 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ZEPHYR_INCLUDE_ARCH_NIOS2_EXPCEPTION_H_ 8 #define ZEPHYR_INCLUDE_ARCH_NIOS2_EXPCEPTION_H_ 9 10 #ifndef _ASMLANGUAGE 11 #include <zephyr/types.h> 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 struct arch_esf { 18 uint32_t ra; /* return address r31 */ 19 uint32_t r1; /* at */ 20 uint32_t r2; /* return value */ 21 uint32_t r3; /* return value */ 22 uint32_t r4; /* register args */ 23 uint32_t r5; /* register args */ 24 uint32_t r6; /* register args */ 25 uint32_t r7; /* register args */ 26 uint32_t r8; /* Caller-saved general purpose */ 27 uint32_t r9; /* Caller-saved general purpose */ 28 uint32_t r10; /* Caller-saved general purpose */ 29 uint32_t r11; /* Caller-saved general purpose */ 30 uint32_t r12; /* Caller-saved general purpose */ 31 uint32_t r13; /* Caller-saved general purpose */ 32 uint32_t r14; /* Caller-saved general purpose */ 33 uint32_t r15; /* Caller-saved general purpose */ 34 uint32_t estatus; 35 uint32_t instr; /* Instruction being executed when exc occurred */ 36 }; 37 38 #ifdef __cplusplus 39 } 40 #endif 41 42 #endif /* _ASMLANGUAGE */ 43 44 #endif /* ZEPHYR_INCLUDE_ARCH_NIOS2_EXPCEPTION_H_ */ 45