summaryrefslogtreecommitdiffstats
path: root/cpukit/libtrace/record/record-userext.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-08-30 09:21:22 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-08-30 11:18:47 +0200
commit8ace7eada4db33a6bda355979045e73c59084773 (patch)
treee7b62f605b48c239da489dc74512b4a1938acdb3 /cpukit/libtrace/record/record-userext.c
parentrecord: Initialize records earlier (diff)
downloadrtems-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.c45
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;
}