X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Frtos%2Frtos.h;h=80ba0e269426721aed6ce7b2626af8966b68b5d2;hb=91e054a9eaefcfdb2b4e1afa99494f31481bc777;hp=4f190e9329dd1fbd0e3622bea4ae145915847a0b;hpb=ca173ff4d4b92ab5a3df89c3a0cd4d47edd4042c;p=openocd.git diff --git a/src/rtos/rtos.h b/src/rtos/rtos.h index 4f190e9329..80ba0e2694 100644 --- a/src/rtos/rtos.h +++ b/src/rtos/rtos.h @@ -57,13 +57,15 @@ struct rtos symbol_table_elem_t * symbols; struct target *target; - + /* add a context variable instead of global variable */ + int64_t current_threadid; threadid_t current_thread; struct thread_detail* thread_details; int thread_count; - + int (*gdb_thread_packet)(struct connection *connection, char *packet, int packet_size); void * rtos_specific_params; + }; @@ -73,9 +75,12 @@ struct rtos_type char * name; int (*detect_rtos) ( struct target* target ); int (*create) ( struct target* target ); + int (*smp_init)(struct target *target); int (*update_threads) ( struct rtos* rtos ); int (*get_thread_reg_list) ( struct rtos *rtos, int64_t thread_id, char ** hex_reg_list ); int (*get_symbol_list_to_lookup) (symbol_table_elem_t * symbol_list[] ); + int (*clean)(struct target *target); + char * (*ps_command)(struct target *target); }; @@ -103,5 +108,9 @@ int rtos_try_next( struct target * target ); int gdb_thread_packet(struct connection *connection, char *packet, int packet_size); int rtos_get_gdb_reg_list(struct connection *connection); int rtos_update_threads( struct target *target ); +int rtos_smp_init(struct target *target); +/* function for handling symbol access */ +int rtos_qsymbol(struct connection *connection, char *packet, int packet_size); +int str_to_hex(char *hex_dst, char *src); #endif // RTOS_H