diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-08-30 09:21:22 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2019-08-30 11:18:47 +0200 |
commit | 8ace7eada4db33a6bda355979045e73c59084773 (patch) | |
tree | e7b62f605b48c239da489dc74512b4a1938acdb3 /cpukit/libtrace/record/record-userext.c | |
parent | record: Initialize records earlier (diff) | |
download | rtems-8ace7eada4db33a6bda355979045e73c59084773.tar.bz2 |
record: Add system events
Add system events to identify the target system. Add system events to
transfer blocks of memory and register sets.
Update #3665.
Diffstat (limited to 'cpukit/libtrace/record/record-userext.c')
-rw-r--r-- | cpukit/libtrace/record/record-userext.c | 45 |
1 files changed, 15 insertions, 30 deletions
diff --git a/cpukit/libtrace/record/record-userext.c b/cpukit/libtrace/record/record-userext.c index e03866f207..bac915843f 100644 --- a/cpukit/libtrace/record/record-userext.c +++ b/cpukit/libtrace/record/record-userext.c @@ -40,36 +40,21 @@ bool _Record_Thread_create( rtems_record_data data; char name[ 2 * THREAD_DEFAULT_MAXIMUM_NAME_SIZE ]; rtems_record_item items[ 1 + sizeof( name ) / sizeof( data ) ]; - size_t n; - size_t i; - size_t j; - - i = 0; - items[ i ].event = RTEMS_RECORD_THREAD_CREATE; - items[ i ].data = created->Object.id; - - n = _Thread_Get_name( created, name, sizeof( name ) ); - j = 0; - - while ( j < n ) { - size_t k; - - data = 0; - - for ( k = 0; j < n && k < sizeof( data ); ++k ) { - rtems_record_data c; - - c = (unsigned char) name[ i ]; - data |= c << ( k * 8 ); - ++j; - } - - ++i; - items[ i ].event = RTEMS_RECORD_THREAD_NAME; - items[ i ].data = data; - } - - rtems_record_produce_n( items, i + 1 ); + size_t len; + size_t used; + + items[ 0 ].event = RTEMS_RECORD_THREAD_CREATE; + items[ 0 ].data = created->Object.id; + + len = _Thread_Get_name( created, name, sizeof( name ) ); + used = _Record_String_to_items( + RTEMS_RECORD_THREAD_NAME, + name, + len, + &items[ 1 ], + RTEMS_ARRAY_SIZE( items ) - 1 + ); + rtems_record_produce_n( items, used + 1 ); return true; } |