rtos: Fix wrong ReadyList lookup in ChibiOS
We already have the address of the ReadyList provided by gdb. It is wrong to resolve that address a second time and it only works by accident. Change-Id: I82fa2360931c416290cd7f83e1883f86f90dedc2 Signed-off-by: Matthias Blaicher <matthias@blaicher.com> Reviewed-on: http://openocd.zylin.com/959 Reviewed-by: Joel Bodenmann <joel@unormal.org> Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>__archive__
parent
fc302a0252
commit
8104b58dbc
|
@ -268,19 +268,11 @@ static int ChibiOS_update_threads(struct rtos *rtos)
|
|||
/* ChibiOS does not save the current thread count. We have to first
|
||||
* parse the double linked thread list to check for errors and the number of
|
||||
* threads. */
|
||||
uint32_t rlist;
|
||||
const uint32_t rlist = rtos->symbols[ChibiOS_VAL_rlist].address;
|
||||
uint32_t current;
|
||||
uint32_t previous;
|
||||
uint32_t older;
|
||||
|
||||
retval = target_read_buffer(rtos->target,
|
||||
rtos->symbols[ChibiOS_VAL_rlist].address,
|
||||
param->signature->ch_ptrsize,
|
||||
(uint8_t *)&rlist);
|
||||
if (retval != ERROR_OK) {
|
||||
LOG_ERROR("Could not read ChibiOS ReadyList from target");
|
||||
return retval;
|
||||
}
|
||||
current = rlist;
|
||||
previous = rlist;
|
||||
while (1) {
|
||||
|
|
Loading…
Reference in New Issue