rtos: support gdb_get_register_packet
This patch adds support for p packet responses by targets configured with RTOS support. This change required moving to a rtos_reg struct, which is similar to struct reg used by targets, which resulted in needing to update each stacking with register numbers. This patch also allows targets with non-linear register numbers to function with RTOSes as well. Change-Id: I5b189d74110d6b6f2fa851a67ab0762ae6b1832f Signed-off-by: Steven Stallion <stallion@squareup.com> Reviewed-on: http://openocd.zylin.com/4121 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
This commit is contained in:
committed by
Matthias Welwarsky
parent
b5964191f0
commit
d92adf8abf
@@ -456,7 +456,8 @@ static int mqx_update_threads(
|
||||
static int mqx_get_thread_reg_list(
|
||||
struct rtos *rtos,
|
||||
int64_t thread_id,
|
||||
char **hex_reg_list
|
||||
struct rtos_reg **reg_list,
|
||||
int *num_regs
|
||||
)
|
||||
{
|
||||
int64_t stack_ptr = 0;
|
||||
@@ -465,7 +466,6 @@ static int mqx_get_thread_reg_list(
|
||||
uint32_t task_queue_size = 0;
|
||||
uint32_t kernel_data_addr = 0;
|
||||
|
||||
*hex_reg_list = NULL;
|
||||
if (thread_id == 0) {
|
||||
LOG_ERROR("MQX RTOS - invalid threadid: 0x%X", (int)thread_id);
|
||||
return ERROR_FAIL;
|
||||
@@ -535,7 +535,7 @@ static int mqx_get_thread_reg_list(
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
return rtos_generic_stack_read(
|
||||
rtos->target, ((struct mqx_params *)rtos->rtos_specific_params)->stacking_info, stack_ptr, hex_reg_list
|
||||
rtos->target, ((struct mqx_params *)rtos->rtos_specific_params)->stacking_info, stack_ptr, reg_list, num_regs
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user