summaryrefslogtreecommitdiffstats
path: root/cpukit/libtrace
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-08-30 13:22:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-08-30 15:03:14 +0200
commit1c72ad73ae2a2ee74a33edd1f8b6303444c76d01 (patch)
treef5cb54b627a37e07a2600f7217738d7c56cfe3b5 /cpukit/libtrace
parentrecord: Add system events (diff)
downloadrtems-1c72ad73ae2a2ee74a33edd1f8b6303444c76d01.tar.bz2
record: Add system events
Add system events for memory allocation/free. Update #3665.
Diffstat (limited to 'cpukit/libtrace')
-rw-r--r--cpukit/libtrace/record/record-text.c60
-rw-r--r--cpukit/libtrace/record/record-util.c540
2 files changed, 570 insertions, 30 deletions
diff --git a/cpukit/libtrace/record/record-text.c b/cpukit/libtrace/record/record-text.c
index dd45ceeab0..6a6ae62f34 100644
--- a/cpukit/libtrace/record/record-text.c
+++ b/cpukit/libtrace/record/record-text.c
@@ -44,6 +44,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_ACCEPT_ENTRY ] = "ACCEPT_ENTRY",
[ RTEMS_RECORD_ACCEPT_EXIT ] = "ACCEPT_EXIT",
[ RTEMS_RECORD_ADDRESS ] = "ADDRESS",
+ [ RTEMS_RECORD_ALIGNED_ALLOC_ENTRY ] = "ALIGNED_ALLOC_ENTRY",
+ [ RTEMS_RECORD_ALIGNED_ALLOC_EXIT ] = "ALIGNED_ALLOC_EXIT",
[ RTEMS_RECORD_ARCH ] = "ARCH",
[ RTEMS_RECORD_ARG_0 ] = "ARG_0",
[ RTEMS_RECORD_ARG_1 ] = "ARG_1",
@@ -60,6 +62,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_BSP ] = "BSP",
[ RTEMS_RECORD_BUFFER ] = "BUFFER",
[ RTEMS_RECORD_CALLER ] = "CALLER",
+ [ RTEMS_RECORD_CALLOC_ENTRY ] = "CALLOC_ENTRY",
+ [ RTEMS_RECORD_CALLOC_EXIT ] = "CALLOC_EXIT",
[ RTEMS_RECORD_CHOWN_ENTRY ] = "CHOWN_ENTRY",
[ RTEMS_RECORD_CHOWN_EXIT ] = "CHOWN_EXIT",
[ RTEMS_RECORD_CLOSE_ENTRY ] = "CLOSE_ENTRY",
@@ -76,6 +80,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_FCNTL_EXIT ] = "FCNTL_EXIT",
[ RTEMS_RECORD_FDATASYNC_ENTRY ] = "FDATASYNC_ENTRY",
[ RTEMS_RECORD_FDATASYNC_EXIT ] = "FDATASYNC_EXIT",
+ [ RTEMS_RECORD_FREE_ENTRY ] = "FREE_ENTRY",
+ [ RTEMS_RECORD_FREE_EXIT ] = "FREE_EXIT",
[ RTEMS_RECORD_FREQUENCY ] = "FREQUENCY",
[ RTEMS_RECORD_FSTAT_ENTRY ] = "FSTAT_ENTRY",
[ RTEMS_RECORD_FSTAT_EXIT ] = "FSTAT_EXIT",
@@ -126,6 +132,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_LISTEN_EXIT ] = "LISTEN_EXIT",
[ RTEMS_RECORD_LSEEK_ENTRY ] = "LSEEK_ENTRY",
[ RTEMS_RECORD_LSEEK_EXIT ] = "LSEEK_EXIT",
+ [ RTEMS_RECORD_MALLOC_ENTRY ] = "MALLOC_ENTRY",
+ [ RTEMS_RECORD_MALLOC_EXIT ] = "MALLOC_EXIT",
[ RTEMS_RECORD_MEMORY ] = "MEMORY",
[ RTEMS_RECORD_MKNOD_ENTRY ] = "MKNOD_ENTRY",
[ RTEMS_RECORD_MKNOD_EXIT ] = "MKNOD_EXIT",
@@ -144,6 +152,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_PER_CPU_TAIL ] = "PER_CPU_TAIL",
[ RTEMS_RECORD_POLL_ENTRY ] = "POLL_ENTRY",
[ RTEMS_RECORD_POLL_EXIT ] = "POLL_EXIT",
+ [ RTEMS_RECORD_POSIX_MEMALIGN_ENTRY ] = "POSIX_MEMALIGN_ENTRY",
+ [ RTEMS_RECORD_POSIX_MEMALIGN_EXIT ] = "POSIX_MEMALIGN_EXIT",
[ RTEMS_RECORD_PROCESSOR ] = "PROCESSOR",
[ RTEMS_RECORD_PROCESSOR_MAXIMUM ] = "PROCESSOR_MAXIMUM",
[ RTEMS_RECORD_READ_ENTRY ] = "READ_ENTRY",
@@ -152,6 +162,8 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_READLINK_EXIT ] = "READLINK_EXIT",
[ RTEMS_RECORD_READV_ENTRY ] = "READV_ENTRY",
[ RTEMS_RECORD_READV_EXIT ] = "READV_EXIT",
+ [ RTEMS_RECORD_REALLOC_ENTRY ] = "REALLOC_ENTRY",
+ [ RTEMS_RECORD_REALLOC_EXIT ] = "REALLOC_EXIT",
[ RTEMS_RECORD_RECV_ENTRY ] = "RECV_ENTRY",
[ RTEMS_RECORD_RECV_EXIT ] = "RECV_EXIT",
[ RTEMS_RECORD_RECVFROM_ENTRY ] = "RECVFROM_ENTRY",
@@ -161,14 +173,28 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_REGISTERS ] = "REGISTERS",
[ RTEMS_RECORD_RENAME_ENTRY ] = "RENAME_ENTRY",
[ RTEMS_RECORD_RENAME_EXIT ] = "RENAME_EXIT",
+ [ RTEMS_RECORD_RETURN_0 ] = "RETURN_0",
+ [ RTEMS_RECORD_RETURN_1 ] = "RETURN_1",
+ [ RTEMS_RECORD_RETURN_2 ] = "RETURN_2",
+ [ RTEMS_RECORD_RETURN_3 ] = "RETURN_3",
+ [ RTEMS_RECORD_RETURN_4 ] = "RETURN_4",
+ [ RTEMS_RECORD_RETURN_5 ] = "RETURN_5",
+ [ RTEMS_RECORD_RETURN_6 ] = "RETURN_6",
+ [ RTEMS_RECORD_RETURN_7 ] = "RETURN_7",
+ [ RTEMS_RECORD_RETURN_8 ] = "RETURN_8",
+ [ RTEMS_RECORD_RETURN_9 ] = "RETURN_9",
[ RTEMS_RECORD_RTEMS_BARRIER_CREATE ] = "RTEMS_BARRIER_CREATE",
[ RTEMS_RECORD_RTEMS_BARRIER_DELETE ] = "RTEMS_BARRIER_DELETE",
[ RTEMS_RECORD_RTEMS_BARRIER_RELEASE ] = "RTEMS_BARRIER_RELEASE",
[ RTEMS_RECORD_RTEMS_BARRIER_WAIT ] = "RTEMS_BARRIER_WAIT",
+ [ RTEMS_RECORD_RTEMS_CALLOC_ENTRY ] = "RTEMS_CALLOC_ENTRY",
+ [ RTEMS_RECORD_RTEMS_CALLOC_EXIT ] = "RTEMS_CALLOC_EXIT",
[ RTEMS_RECORD_RTEMS_EVENT_RECEIVE ] = "RTEMS_EVENT_RECEIVE",
[ RTEMS_RECORD_RTEMS_EVENT_SEND ] = "RTEMS_EVENT_SEND",
[ RTEMS_RECORD_RTEMS_EVENT_SYSTEM_RECEIVE ] = "RTEMS_EVENT_SYSTEM_RECEIVE",
[ RTEMS_RECORD_RTEMS_EVENT_SYSTEM_SEND ] = "RTEMS_EVENT_SYSTEM_SEND",
+ [ RTEMS_RECORD_RTEMS_MALLOC_ENTRY ] = "RTEMS_MALLOC_ENTRY",
+ [ RTEMS_RECORD_RTEMS_MALLOC_EXIT ] = "RTEMS_MALLOC_EXIT",
[ RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_BROADCAST ] = "RTEMS_MESSAGE_QUEUE_BROADCAST",
[ RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_CREATE ] = "RTEMS_MESSAGE_QUEUE_CREATE",
[ RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_DELETE ] = "RTEMS_MESSAGE_QUEUE_DELETE",
@@ -341,42 +367,16 @@ static const char * const event_text[] = {
[ RTEMS_RECORD_WATCHDOG_REMOVE ] = "WATCHDOG_REMOVE",
[ RTEMS_RECORD_WATCHDOG_ROUTINE ] = "WATCHDOG_ROUTINE",
[ RTEMS_RECORD_WATCHDOG_STATE ] = "WATCHDOG_STATE",
- [ RTEMS_RECORD_WORKSPACE_ALLOC ] = "WORKSPACE_ALLOC",
- [ RTEMS_RECORD_WORKSPACE_FREE ] = "WORKSPACE_FREE",
+ [ RTEMS_RECORD_WORKSPACE_ALLOC_ENTRY ] = "WORKSPACE_ALLOC_ENTRY",
+ [ RTEMS_RECORD_WORKSPACE_ALLOC_EXIT ] = "WORKSPACE_ALLOC_EXIT",
+ [ RTEMS_RECORD_WORKSPACE_FREE_ENTY ] = "WORKSPACE_FREE_ENTY",
+ [ RTEMS_RECORD_WORKSPACE_FREE_EXIT ] = "WORKSPACE_FREE_EXIT",
[ RTEMS_RECORD_WORKSPACE_SIZE ] = "WORKSPACE_SIZE",
[ RTEMS_RECORD_WORKSPACE_USAGE ] = "WORKSPACE_USAGE",
[ RTEMS_RECORD_WRITE_ENTRY ] = "WRITE_ENTRY",
[ RTEMS_RECORD_WRITE_EXIT ] = "WRITE_EXIT",
[ RTEMS_RECORD_WRITEV_ENTRY ] = "WRITEV_ENTRY",
[ RTEMS_RECORD_WRITEV_EXIT ] = "WRITEV_EXIT",
- [ RTEMS_RECORD_SYSTEM_310 ] = "SYSTEM_310",
- [ RTEMS_RECORD_SYSTEM_311 ] = "SYSTEM_311",
- [ RTEMS_RECORD_SYSTEM_312 ] = "SYSTEM_312",
- [ RTEMS_RECORD_SYSTEM_313 ] = "SYSTEM_313",
- [ RTEMS_RECORD_SYSTEM_314 ] = "SYSTEM_314",
- [ RTEMS_RECORD_SYSTEM_315 ] = "SYSTEM_315",
- [ RTEMS_RECORD_SYSTEM_316 ] = "SYSTEM_316",
- [ RTEMS_RECORD_SYSTEM_317 ] = "SYSTEM_317",
- [ RTEMS_RECORD_SYSTEM_318 ] = "SYSTEM_318",
- [ RTEMS_RECORD_SYSTEM_319 ] = "SYSTEM_319",
- [ RTEMS_RECORD_SYSTEM_320 ] = "SYSTEM_320",
- [ RTEMS_RECORD_SYSTEM_321 ] = "SYSTEM_321",
- [ RTEMS_RECORD_SYSTEM_322 ] = "SYSTEM_322",
- [ RTEMS_RECORD_SYSTEM_323 ] = "SYSTEM_323",
- [ RTEMS_RECORD_SYSTEM_324 ] = "SYSTEM_324",
- [ RTEMS_RECORD_SYSTEM_325 ] = "SYSTEM_325",
- [ RTEMS_RECORD_SYSTEM_326 ] = "SYSTEM_326",
- [ RTEMS_RECORD_SYSTEM_327 ] = "SYSTEM_327",
- [ RTEMS_RECORD_SYSTEM_328 ] = "SYSTEM_328",
- [ RTEMS_RECORD_SYSTEM_329 ] = "SYSTEM_329",
- [ RTEMS_RECORD_SYSTEM_330 ] = "SYSTEM_330",
- [ RTEMS_RECORD_SYSTEM_331 ] = "SYSTEM_331",
- [ RTEMS_RECORD_SYSTEM_332 ] = "SYSTEM_332",
- [ RTEMS_RECORD_SYSTEM_333 ] = "SYSTEM_333",
- [ RTEMS_RECORD_SYSTEM_334 ] = "SYSTEM_334",
- [ RTEMS_RECORD_SYSTEM_335 ] = "SYSTEM_335",
- [ RTEMS_RECORD_SYSTEM_336 ] = "SYSTEM_336",
- [ RTEMS_RECORD_SYSTEM_337 ] = "SYSTEM_337",
[ RTEMS_RECORD_SYSTEM_338 ] = "SYSTEM_338",
[ RTEMS_RECORD_SYSTEM_339 ] = "SYSTEM_339",
[ RTEMS_RECORD_SYSTEM_340 ] = "SYSTEM_340",
diff --git a/cpukit/libtrace/record/record-util.c b/cpukit/libtrace/record/record-util.c
index a7189b1716..8fa542b9b4 100644
--- a/cpukit/libtrace/record/record-util.c
+++ b/cpukit/libtrace/record/record-util.c
@@ -672,6 +672,546 @@ void _Record_Caller_arg_10(
rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
}
+void _Record_Entry_2(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1
+)
+{
+ rtems_record_item items[ 3 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_ARG_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_ARG_1;
+ items[ 2 ].data = data_1;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Entry_3(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2
+)
+{
+ rtems_record_item items[ 4 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_ARG_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_ARG_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_ARG_2;
+ items[ 3 ].data = data_2;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Entry_4(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3
+)
+{
+ rtems_record_item items[ 5 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_ARG_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_ARG_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_ARG_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_ARG_3;
+ items[ 4 ].data = data_3;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Entry_5(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4
+)
+{
+ rtems_record_item items[ 6 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_ARG_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_ARG_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_ARG_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_ARG_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_ARG_4;
+ items[ 5 ].data = data_4;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Entry_6(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5
+)
+{
+ rtems_record_item items[ 7 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_ARG_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_ARG_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_ARG_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_ARG_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_ARG_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_ARG_5;
+ items[ 6 ].data = data_5;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Entry_7(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5,
+ rtems_record_data data_6
+)
+{
+ rtems_record_item items[ 8 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_ARG_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_ARG_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_ARG_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_ARG_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_ARG_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_ARG_5;
+ items[ 6 ].data = data_5;
+ items[ 7 ].event = RTEMS_RECORD_ARG_6;
+ items[ 7 ].data = data_6;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Entry_8(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5,
+ rtems_record_data data_6,
+ rtems_record_data data_7
+)
+{
+ rtems_record_item items[ 9 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_ARG_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_ARG_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_ARG_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_ARG_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_ARG_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_ARG_5;
+ items[ 6 ].data = data_5;
+ items[ 7 ].event = RTEMS_RECORD_ARG_6;
+ items[ 7 ].data = data_6;
+ items[ 8 ].event = RTEMS_RECORD_ARG_7;
+ items[ 8 ].data = data_7;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Entry_9(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5,
+ rtems_record_data data_6,
+ rtems_record_data data_7,
+ rtems_record_data data_8
+)
+{
+ rtems_record_item items[ 10 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_ARG_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_ARG_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_ARG_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_ARG_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_ARG_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_ARG_5;
+ items[ 6 ].data = data_5;
+ items[ 7 ].event = RTEMS_RECORD_ARG_6;
+ items[ 7 ].data = data_6;
+ items[ 8 ].event = RTEMS_RECORD_ARG_7;
+ items[ 8 ].data = data_7;
+ items[ 9 ].event = RTEMS_RECORD_ARG_8;
+ items[ 9 ].data = data_8;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Entry_10(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5,
+ rtems_record_data data_6,
+ rtems_record_data data_7,
+ rtems_record_data data_8,
+ rtems_record_data data_9
+)
+{
+ rtems_record_item items[ 11 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_ARG_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_ARG_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_ARG_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_ARG_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_ARG_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_ARG_5;
+ items[ 6 ].data = data_5;
+ items[ 7 ].event = RTEMS_RECORD_ARG_6;
+ items[ 7 ].data = data_6;
+ items[ 8 ].event = RTEMS_RECORD_ARG_7;
+ items[ 8 ].data = data_7;
+ items[ 9 ].event = RTEMS_RECORD_ARG_8;
+ items[ 9 ].data = data_8;
+ items[ 10 ].event = RTEMS_RECORD_ARG_9;
+ items[ 10 ].data = data_9;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Exit_2(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1
+)
+{
+ rtems_record_item items[ 3 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_RETURN_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_RETURN_1;
+ items[ 2 ].data = data_1;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Exit_3(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2
+)
+{
+ rtems_record_item items[ 4 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_RETURN_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_RETURN_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_RETURN_2;
+ items[ 3 ].data = data_2;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Exit_4(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3
+)
+{
+ rtems_record_item items[ 5 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_RETURN_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_RETURN_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_RETURN_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_RETURN_3;
+ items[ 4 ].data = data_3;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Exit_5(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4
+)
+{
+ rtems_record_item items[ 6 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_RETURN_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_RETURN_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_RETURN_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_RETURN_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_RETURN_4;
+ items[ 5 ].data = data_4;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Exit_6(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5
+)
+{
+ rtems_record_item items[ 7 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_RETURN_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_RETURN_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_RETURN_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_RETURN_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_RETURN_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_RETURN_5;
+ items[ 6 ].data = data_5;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Exit_7(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5,
+ rtems_record_data data_6
+)
+{
+ rtems_record_item items[ 8 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_RETURN_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_RETURN_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_RETURN_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_RETURN_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_RETURN_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_RETURN_5;
+ items[ 6 ].data = data_5;
+ items[ 7 ].event = RTEMS_RECORD_RETURN_6;
+ items[ 7 ].data = data_6;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Exit_8(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5,
+ rtems_record_data data_6,
+ rtems_record_data data_7
+)
+{
+ rtems_record_item items[ 9 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_RETURN_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_RETURN_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_RETURN_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_RETURN_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_RETURN_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_RETURN_5;
+ items[ 6 ].data = data_5;
+ items[ 7 ].event = RTEMS_RECORD_RETURN_6;
+ items[ 7 ].data = data_6;
+ items[ 8 ].event = RTEMS_RECORD_RETURN_7;
+ items[ 8 ].data = data_7;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Exit_9(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5,
+ rtems_record_data data_6,
+ rtems_record_data data_7,
+ rtems_record_data data_8
+)
+{
+ rtems_record_item items[ 10 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_RETURN_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_RETURN_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_RETURN_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_RETURN_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_RETURN_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_RETURN_5;
+ items[ 6 ].data = data_5;
+ items[ 7 ].event = RTEMS_RECORD_RETURN_6;
+ items[ 7 ].data = data_6;
+ items[ 8 ].event = RTEMS_RECORD_RETURN_7;
+ items[ 8 ].data = data_7;
+ items[ 9 ].event = RTEMS_RECORD_RETURN_8;
+ items[ 9 ].data = data_8;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
+void _Record_Exit_10(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1,
+ rtems_record_data data_2,
+ rtems_record_data data_3,
+ rtems_record_data data_4,
+ rtems_record_data data_5,
+ rtems_record_data data_6,
+ rtems_record_data data_7,
+ rtems_record_data data_8,
+ rtems_record_data data_9
+)
+{
+ rtems_record_item items[ 11 ];
+
+ items[ 0 ].event = event;
+ items[ 0 ].data = (rtems_record_data) return_address;
+ items[ 1 ].event = RTEMS_RECORD_RETURN_0;
+ items[ 1 ].data = data_0;
+ items[ 2 ].event = RTEMS_RECORD_RETURN_1;
+ items[ 2 ].data = data_1;
+ items[ 3 ].event = RTEMS_RECORD_RETURN_2;
+ items[ 3 ].data = data_2;
+ items[ 4 ].event = RTEMS_RECORD_RETURN_3;
+ items[ 4 ].data = data_3;
+ items[ 5 ].event = RTEMS_RECORD_RETURN_4;
+ items[ 5 ].data = data_4;
+ items[ 6 ].event = RTEMS_RECORD_RETURN_5;
+ items[ 6 ].data = data_5;
+ items[ 7 ].event = RTEMS_RECORD_RETURN_6;
+ items[ 7 ].data = data_6;
+ items[ 8 ].event = RTEMS_RECORD_RETURN_7;
+ items[ 8 ].data = data_7;
+ items[ 9 ].event = RTEMS_RECORD_RETURN_8;
+ items[ 9 ].data = data_8;
+ items[ 10 ].event = RTEMS_RECORD_RETURN_9;
+ items[ 10 ].data = data_9;
+ rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
+}
+
uint32_t rtems_record_interrupt_disable( void )
{
uint32_t level;