aboutsummaryrefslogtreecommitdiff
path: root/src/rtos/rtos.c
diff options
context:
space:
mode:
authorErhan Kurubas <erhan.kurubas@espressif.com>2023-01-21 20:10:21 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2023-01-28 15:50:50 +0000
commit59bc761d56f9ce9a76c917e267a2c37f1a680611 (patch)
treefbb01f1fb4e4d0640a2dbc6c3253614c486ab3d5 /src/rtos/rtos.c
parentdfbbfac4d72e247e8094a49c8573b2f49689b6d5 (diff)
downloadriscv-openocd-59bc761d56f9ce9a76c917e267a2c37f1a680611.zip
riscv-openocd-59bc761d56f9ce9a76c917e267a2c37f1a680611.tar.gz
riscv-openocd-59bc761d56f9ce9a76c917e267a2c37f1a680611.tar.bz2
rtos: add custom stack read function
This is optional field for the targets which has to implement their custom stack read function. Signed-off-by: Erhan Kurubas <erhan.kurubas@espressif.com> Change-Id: Icbc9ed66a052fc2cc0ef67e3ec4d85ab0c2c1b94 Reviewed-on: https://review.openocd.org/c/openocd/+/7442 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'src/rtos/rtos.c')
-rw-r--r--src/rtos/rtos.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rtos/rtos.c b/src/rtos/rtos.c
index 2e76b50..dfa158d 100644
--- a/src/rtos/rtos.c
+++ b/src/rtos/rtos.c
@@ -632,7 +632,10 @@ int rtos_generic_stack_read(struct target *target,
if (stacking->stack_growth_direction == 1)
address -= stacking->stack_registers_size;
- retval = target_read_buffer(target, address, stacking->stack_registers_size, stack_data);
+ if (stacking->read_stack)
+ retval = stacking->read_stack(target, address, stacking, stack_data);
+ else
+ retval = target_read_buffer(target, address, stacking->stack_registers_size, stack_data);
if (retval != ERROR_OK) {
free(stack_data);
LOG_ERROR("Error reading stack frame from thread");