Line data Source code
1 0 : /* 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 0 : uint32_t ra; /* return address r31 */ 19 0 : uint32_t r1; /* at */ 20 0 : uint32_t r2; /* return value */ 21 0 : uint32_t r3; /* return value */ 22 0 : uint32_t r4; /* register args */ 23 0 : uint32_t r5; /* register args */ 24 0 : uint32_t r6; /* register args */ 25 0 : uint32_t r7; /* register args */ 26 0 : uint32_t r8; /* Caller-saved general purpose */ 27 0 : uint32_t r9; /* Caller-saved general purpose */ 28 0 : uint32_t r10; /* Caller-saved general purpose */ 29 0 : uint32_t r11; /* Caller-saved general purpose */ 30 0 : uint32_t r12; /* Caller-saved general purpose */ 31 0 : uint32_t r13; /* Caller-saved general purpose */ 32 0 : uint32_t r14; /* Caller-saved general purpose */ 33 0 : uint32_t r15; /* Caller-saved general purpose */ 34 0 : uint32_t estatus; 35 0 : 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_ */