X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Frtos%2Frtos.h;h=8ec155e35aaa1f2fa09409274982d37eeb5cd6cd;hp=980d95d51802e03f165ded8e257bd2a240d1a46a;hb=d0e763ac7ef6aa17b17bd00ccdfbccfb4eacda69;hpb=03410e92dae6efbb2dc474fb7556117cc60c3f82 diff --git a/src/rtos/rtos.h b/src/rtos/rtos.h index 980d95d518..8ec155e35a 100644 --- a/src/rtos/rtos.h +++ b/src/rtos/rtos.h @@ -13,9 +13,7 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * + * along with this program. If not, see . * ***************************************************************************/ #ifndef RTOS_H @@ -35,7 +33,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 +81,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; };