1 /*
2  * Copyright (c) 2021 Intel Corporation
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #include <gen_offset.h>
7 #include <kernel_offsets.h>
8 #include <zephyr/arch/xtensa/thread.h>
9 
10 #include <xtensa_asm2_context.h>
11 
12 GEN_ABSOLUTE_SYM(___xtensa_irq_bsa_t_SIZEOF, sizeof(_xtensa_irq_bsa_t));
13 GEN_ABSOLUTE_SYM(___xtensa_irq_stack_frame_raw_t_SIZEOF, sizeof(_xtensa_irq_stack_frame_raw_t));
14 GEN_ABSOLUTE_SYM(___xtensa_irq_stack_frame_a15_t_SIZEOF, sizeof(_xtensa_irq_stack_frame_a15_t));
15 GEN_ABSOLUTE_SYM(___xtensa_irq_stack_frame_a11_t_SIZEOF, sizeof(_xtensa_irq_stack_frame_a11_t));
16 GEN_ABSOLUTE_SYM(___xtensa_irq_stack_frame_a7_t_SIZEOF, sizeof(_xtensa_irq_stack_frame_a7_t));
17 GEN_ABSOLUTE_SYM(___xtensa_irq_stack_frame_a3_t_SIZEOF, sizeof(_xtensa_irq_stack_frame_a3_t));
18 
19 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, a0);
20 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, scratch);
21 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, a2);
22 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, a3);
23 
24 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, exccause);
25 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, pc);
26 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, ps);
27 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, sar);
28 
29 #if XCHAL_HAVE_LOOPS
30 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, lcount);
31 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, lbeg);
32 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, lend);
33 #endif
34 
35 #if XCHAL_HAVE_S32C1I
36 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, scompare1);
37 #endif
38 
39 #if XCHAL_HAVE_THREADPTR
40 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, threadptr);
41 #endif
42 
43 #if XCHAL_HAVE_FP && defined(CONFIG_CPU_HAS_FPU) && defined(CONFIG_FPU_SHARING)
44 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fcr);
45 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fsr);
46 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu0);
47 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu1);
48 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu2);
49 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu3);
50 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu4);
51 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu5);
52 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu6);
53 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu7);
54 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu8);
55 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu9);
56 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu10);
57 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu11);
58 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu12);
59 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu13);
60 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu14);
61 GEN_OFFSET_SYM(_xtensa_irq_bsa_t, fpu15);
62 #endif
63 
64 #ifdef CONFIG_USERSPACE
65 GEN_OFFSET_SYM(_thread_arch_t, psp);
66 GEN_OFFSET_SYM(_thread_arch_t, ptables);
67 #endif
68 
69 
70 GEN_ABS_SYM_END
71