1 /* 2 * Copyright (c) 2021 Antony Pavlov <antonynpavlov@gmail.com> 3 * 4 * based on arch/riscv/core/offsets/offsets.c 5 * 6 * SPDX-License-Identifier: Apache-2.0 7 */ 8 9 #include <kernel_arch_data.h> 10 #include <gen_offset.h> 11 #include <kernel_offsets.h> 12 13 GEN_OFFSET_SYM(_thread_arch_t, swap_return_value); 14 15 GEN_OFFSET_SYM(_callee_saved_t, sp); 16 GEN_OFFSET_SYM(_callee_saved_t, s0); 17 GEN_OFFSET_SYM(_callee_saved_t, s1); 18 GEN_OFFSET_SYM(_callee_saved_t, s2); 19 GEN_OFFSET_SYM(_callee_saved_t, s3); 20 GEN_OFFSET_SYM(_callee_saved_t, s4); 21 GEN_OFFSET_SYM(_callee_saved_t, s5); 22 GEN_OFFSET_SYM(_callee_saved_t, s6); 23 GEN_OFFSET_SYM(_callee_saved_t, s7); 24 GEN_OFFSET_SYM(_callee_saved_t, s8); 25 26 GEN_OFFSET_STRUCT(arch_esf, ra); 27 GEN_OFFSET_STRUCT(arch_esf, gp); 28 GEN_OFFSET_STRUCT(arch_esf, t0); 29 GEN_OFFSET_STRUCT(arch_esf, t1); 30 GEN_OFFSET_STRUCT(arch_esf, t2); 31 GEN_OFFSET_STRUCT(arch_esf, t3); 32 GEN_OFFSET_STRUCT(arch_esf, t4); 33 GEN_OFFSET_STRUCT(arch_esf, t5); 34 GEN_OFFSET_STRUCT(arch_esf, t6); 35 GEN_OFFSET_STRUCT(arch_esf, t7); 36 GEN_OFFSET_STRUCT(arch_esf, t8); 37 GEN_OFFSET_STRUCT(arch_esf, t9); 38 GEN_OFFSET_STRUCT(arch_esf, a0); 39 GEN_OFFSET_STRUCT(arch_esf, a1); 40 GEN_OFFSET_STRUCT(arch_esf, a2); 41 GEN_OFFSET_STRUCT(arch_esf, a3); 42 GEN_OFFSET_STRUCT(arch_esf, v0); 43 GEN_OFFSET_STRUCT(arch_esf, v1); 44 GEN_OFFSET_STRUCT(arch_esf, at); 45 GEN_OFFSET_STRUCT(arch_esf, epc); 46 GEN_OFFSET_STRUCT(arch_esf, badvaddr); 47 GEN_OFFSET_STRUCT(arch_esf, hi); 48 GEN_OFFSET_STRUCT(arch_esf, lo); 49 GEN_OFFSET_STRUCT(arch_esf, status); 50 GEN_OFFSET_STRUCT(arch_esf, cause); 51 52 GEN_ABSOLUTE_SYM(__struct_arch_esf_SIZEOF, STACK_ROUND_UP(sizeof(struct arch_esf))); 53 54 GEN_ABS_SYM_END 55