arm_adi_v5: Remove all cases of "restoring" previous dap_ap_select()
[fw/openocd] / src / rtos / rtos.h
index 980d95d51802e03f165ded8e257bd2a240d1a46a..d082fb7a72eedfac16b8b1bf9c405cd7d4b3e2d2 100644 (file)
@@ -35,7 +35,7 @@ struct reg;
 typedef struct symbol_table_elem_struct {
        const char *symbol_name;
        symbol_address_t address;
-
+       bool optional;
 } symbol_table_elem_t;
 
 struct thread_detail {
@@ -83,7 +83,15 @@ struct rtos_register_stacking {
        unsigned char stack_registers_size;
        signed char stack_growth_direction;
        unsigned char num_output_registers;
-       unsigned char stack_alignment;
+       /* Some targets require evaluating the stack to determine the
+        * actual stack pointer for a process.  If this field is NULL,
+        * just use stacking->stack_registers_size * stack_growth_direction
+        * to calculate adjustment.
+        */
+       int64_t (*calculate_process_stack)(struct target *target,
+               const uint8_t *stack_data,
+               const struct rtos_register_stacking *stacking,
+               int64_t stack_ptr);
        const struct stack_register_offset *register_offsets;
 };