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.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.c')
-rw-r--r-- | cpukit/libtrace/record/record.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/cpukit/libtrace/record/record.c b/cpukit/libtrace/record/record.c index 848e67e5ee..680e362661 100644 --- a/cpukit/libtrace/record/record.c +++ b/cpukit/libtrace/record/record.c @@ -88,6 +88,42 @@ void rtems_record_produce_n( rtems_record_commit( &context ); } +size_t _Record_String_to_items( + rtems_record_event event, + const char *str, + size_t len, + rtems_record_item *items, + size_t item_count +) +{ + size_t s; + size_t i; + + s = 0; + i = 0; + + while ( s < len && i < item_count ) { + rtems_record_data data; + size_t k; + + data = 0; + + for ( k = 0; s < len && k < sizeof( data ); ++k ) { + rtems_record_data c; + + c = (unsigned char) str[ s ]; + data |= c << ( k * 8 ); + ++s; + } + + items[ i ].event = event; + items[ i ].data = data; + ++i; + } + + return i; +} + void _Record_Drain( Record_Control *control, uint32_t cpu_index, |