ThreadX: set current_thread for kernel execution
If we just invented thread 1 to represent the current execution, we need to make sure the RTOS object also claims it's the current thread so that threadx_get_thread_reg_list() doesn't attempt to read a thread control block at 0x00000001. Signed-off-by: Ben McMorran <bemcmorr@microsoft.com> Change-Id: I7f71e730d047858898297e4cb31db8e47e0c371c Reviewed-on: https://review.openocd.org/c/openocd/+/7280 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
parent
12ce170945
commit
3ca7bc7354
|
@ -320,6 +320,12 @@ static int threadx_update_threads(struct rtos *rtos)
|
|||
rtos->thread_details->thread_name_str = malloc(sizeof(tmp_str));
|
||||
strcpy(rtos->thread_details->thread_name_str, tmp_str);
|
||||
|
||||
/* If we just invented thread 1 to represent the current execution, we
|
||||
* need to make sure the RTOS object also claims it's the current thread
|
||||
* so that threadx_get_thread_reg_list() doesn't attempt to read a
|
||||
* thread control block at 0x00000001. */
|
||||
rtos->current_thread = 1;
|
||||
|
||||
if (thread_list_size == 0) {
|
||||
rtos->thread_count = 1;
|
||||
return ERROR_OK;
|
||||
|
|
Loading…
Reference in New Issue