From 1c72ad73ae2a2ee74a33edd1f8b6303444c76d01 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 30 Aug 2019 13:22:54 +0200 Subject: record: Add system events Add system events for memory allocation/free. Update #3665. --- cpukit/libtrace/record/record-text.c | 60 ++-- cpukit/libtrace/record/record-util.c | 540 +++++++++++++++++++++++++++++++++++ 2 files changed, 570 insertions(+), 30 deletions(-) (limited to 'cpukit/libtrace') 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; -- cgit v1.2.3