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>
This commit is contained in:
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
|
/* 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
|
* parse the double linked thread list to check for errors and the number of
|
||||||
* threads. */
|
* threads. */
|
||||||
uint32_t rlist;
|
const uint32_t rlist = rtos->symbols[ChibiOS_VAL_rlist].address;
|
||||||
uint32_t current;
|
uint32_t current;
|
||||||
uint32_t previous;
|
uint32_t previous;
|
||||||
uint32_t older;
|
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;
|
current = rlist;
|
||||||
previous = rlist;
|
previous = rlist;
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
Loading…
Reference in New Issue