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