|
6 | 6 |
|
7 | 7 | #include <kernel_structs.h>
|
8 | 8 |
|
| 9 | +#define OPENOCD_UNIMPLEMENTED 0xffffffff |
| 10 | + |
9 | 11 | #if defined(CONFIG_OPENOCD_SUPPORT) && defined(CONFIG_THREAD_MONITOR)
|
10 | 12 | enum {
|
11 | 13 | OPENOCD_OFFSET_VERSION,
|
|
18 | 20 | OPENOCD_OFFSET_T_PRIO,
|
19 | 21 | OPENOCD_OFFSET_T_STACK_PTR,
|
20 | 22 | OPENOCD_OFFSET_T_NAME,
|
| 23 | + OPENOCD_OFFSET_T_ARCH, |
| 24 | + OPENOCD_OFFSET_T_PREEMPT_FLOAT, |
| 25 | + OPENOCD_OFFSET_T_COOP_FLOAT, |
21 | 26 | };
|
22 | 27 |
|
23 | 28 | /* Forward-compatibility notes: 1) Increment OPENOCD_OFFSET_VERSION element
|
@@ -53,16 +58,29 @@ size_t _kernel_openocd_offsets[] = {
|
53 | 58 | [OPENOCD_OFFSET_T_STACK_PTR] = offsetof(struct k_thread,
|
54 | 59 | callee_saved.sp),
|
55 | 60 | #else
|
56 |
| - /* Use 0xffffffff as a special value so that OpenOCD knows that |
57 |
| - * obtaining the stack pointer is not possible on this particular |
58 |
| - * architecture. |
| 61 | + /* Use a special value so that OpenOCD knows that obtaining the stack |
| 62 | + * pointer is not possible on this particular architecture. |
59 | 63 | */
|
60 | 64 | #warning Please define OPENOCD_OFFSET_T_STACK_PTR for this architecture
|
61 |
| - [OPENOCD_OFFSET_T_STACK_PTR] = 0xffffffff, |
| 65 | + [OPENOCD_OFFSET_T_STACK_PTR] = OPENOCD_UNIMPLEMENTED, |
62 | 66 | #endif
|
63 | 67 | /* Version 0 ends */
|
64 | 68 |
|
65 | 69 | [OPENOCD_OFFSET_T_NAME] = offsetof(struct k_thread, name),
|
| 70 | + [OPENOCD_OFFSET_T_ARCH] = offsetof(struct k_thread, arch), |
| 71 | +#if defined(CONFIG_FLOAT) && defined(CONFIG_ARM) |
| 72 | + [OPENOCD_OFFSET_T_PREEMPT_FLOAT] = offsetof(struct _thread_arch, |
| 73 | + preempt_float), |
| 74 | + [OPENOCD_OFFSET_T_COOP_FLOAT] = OPENOCD_UNIMPLEMENTED, |
| 75 | +#elif defined(CONFIG_FLOAT) && defined(CONFIG_X86) |
| 76 | + [OPENOCD_OFFSET_T_PREEMPT_FLOAT] = offsetof(struct _thread_arch, |
| 77 | + preempFloatReg), |
| 78 | + [OPENOCD_OFFSET_T_COOP_FLOAT] = offsetof(struct _thread_arch, |
| 79 | + coopFloatReg), |
| 80 | +#else |
| 81 | + [OPENOCD_OFFSET_T_PREEMPT_FLOAT] = OPENOCD_UNIMPLEMENTED, |
| 82 | + [OPENOCD_OFFSET_T_COOP_FLOAT] = OPENOCD_UNIMPLEMENTED, |
| 83 | +#endif |
66 | 84 | };
|
67 | 85 |
|
68 | 86 | __attribute__((used, section(".openocd_dbg")))
|
|
0 commit comments