summaryrefslogtreecommitdiffstats
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
parentrecord: Add system events (diff)
downloadrtems-1c72ad73ae2a2ee74a33edd1f8b6303444c76d01.tar.bz2
record: Add system events
Add system events for memory allocation/free. Update #3665.
-rw-r--r--cpukit/include/rtems/record.h907
-rw-r--r--cpukit/include/rtems/recorddata.h62
-rw-r--r--cpukit/libtrace/record/record-text.c60
-rw-r--r--cpukit/libtrace/record/record-util.c540
-rw-r--r--testsuites/libtests/record02/init.c22
5 files changed, 1489 insertions, 102 deletions
diff --git a/cpukit/include/rtems/record.h b/cpukit/include/rtems/record.h
index f400f02dac..4e1c469173 100644
--- a/cpukit/include/rtems/record.h
+++ b/cpukit/include/rtems/record.h
@@ -281,6 +281,204 @@ void _Record_Caller_arg_10(
rtems_record_data data_9
);
+void _Record_Entry_2(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+void _Record_Exit_2(
+ void *return_address,
+ rtems_record_event event,
+ rtems_record_data data_0,
+ rtems_record_data data_1
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
+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
+);
+
/**
* @addtogroup RTEMSRecord
*
@@ -686,7 +884,6 @@ void rtems_record_line_arg_10(
* The RTEMS_RECORD_LINE event data is the address of the call to
* rtems_record_caller().
*/
-
#define rtems_record_caller() _Record_Caller( RTEMS_RETURN_ADDRESS() )
/**
@@ -854,12 +1051,12 @@ void rtems_record_line_arg_10(
* @param data_5 The RTEMS_RECORD_ARG_5 event data.
*/
#define rtems_record_caller_arg_6( \
- data_0, \
- data_1, \
- data_2, \
- data_3, \
- data_4, \
- data_5 \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5 \
) \
_Record_Caller_arg_6( \
RTEMS_RETURN_ADDRESS(), \
@@ -890,13 +1087,13 @@ void rtems_record_line_arg_10(
* @param data_6 The RTEMS_RECORD_ARG_6 event data.
*/
#define rtems_record_caller_arg_7( \
- data_0, \
- data_1, \
- data_2, \
- data_3, \
- data_4, \
- data_5, \
- data_6 \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6 \
) \
_Record_Caller_arg_7( \
RTEMS_RETURN_ADDRESS(), \
@@ -929,14 +1126,14 @@ void rtems_record_line_arg_10(
* @param data_7 The RTEMS_RECORD_ARG_7 event data.
*/
#define rtems_record_caller_arg_8( \
- data_0, \
- data_1, \
- data_2, \
- data_3, \
- data_4, \
- data_5, \
- data_6, \
- data_7 \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7 \
) \
_Record_Caller_arg_8( \
RTEMS_RETURN_ADDRESS(), \
@@ -971,15 +1168,15 @@ void rtems_record_line_arg_10(
* @param data_8 The RTEMS_RECORD_ARG_8 event data.
*/
#define rtems_record_caller_arg_9( \
- data_0, \
- data_1, \
- data_2, \
- data_3, \
- data_4, \
- data_5, \
- data_6, \
- data_7, \
- data_8 \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8 \
) \
_Record_Caller_arg_9( \
RTEMS_RETURN_ADDRESS(), \
@@ -1016,16 +1213,16 @@ void rtems_record_line_arg_10(
* @param data_10 The RTEMS_RECORD_ARG_10 event data.
*/
#define rtems_record_caller_arg_10( \
- data_0, \
- data_1, \
- data_2, \
- data_3, \
- data_4, \
- data_5, \
- data_6, \
- data_7, \
- data_8, \
- data_9 \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8, \
+ data_9 \
) \
_Record_Caller_arg_10( \
RTEMS_RETURN_ADDRESS(), \
@@ -1042,6 +1239,634 @@ void rtems_record_line_arg_10(
)
/**
+ * @brief Generates the specified entry event.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry().
+ *
+ * @param event The entry event.
+ */
+#define rtems_record_entry( event ) \
+ rtems_record_produce( event, (rtems_record_data) RTEMS_RETURN_ADDRESS() )
+
+/**
+ * @brief Generates the specified entry event and an argument event.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry_1().
+ *
+ * @param event The entry event.
+ * @param data The RTEMS_RECORD_ARG_0 event data.
+ */
+#define rtems_record_entry_1( event, data ) \
+ rtems_record_produce_2( \
+ event, \
+ (rtems_record_data) RTEMS_RETURN_ADDRESS(), \
+ RTEMS_RECORD_ARG_0, \
+ data \
+ )
+
+/**
+ * @brief Generates the specified entry event and two argument events.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry_2().
+ *
+ * @param event The entry event.
+ * @param data_0 The RTEMS_RECORD_ARG_0 event data.
+ * @param data_1 The RTEMS_RECORD_ARG_1 event data.
+ */
+#define rtems_record_entry_2( event, data_0, data_1 ) \
+ _Record_Entry_2( RTEMS_RETURN_ADDRESS(), event, data_0, data_1 )
+
+/**
+ * @brief Generates the specified entry event and three argument events.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry_3().
+ *
+ * @param event The entry event.
+ * @param data_0 The RTEMS_RECORD_ARG_0 event data.
+ * @param data_1 The RTEMS_RECORD_ARG_1 event data.
+ * @param data_2 The RTEMS_RECORD_ARG_2 event data.
+ */
+#define rtems_record_entry_3( event, data_0, data_1, data_2 ) \
+ _Record_Entry_3( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2 \
+ )
+
+/**
+ * @brief Generates the specified entry event and four argument events.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry_4().
+ *
+ * @param event The entry event.
+ * @param data_0 The RTEMS_RECORD_ARG_0 event data.
+ * @param data_1 The RTEMS_RECORD_ARG_1 event data.
+ * @param data_2 The RTEMS_RECORD_ARG_2 event data.
+ * @param data_3 The RTEMS_RECORD_ARG_3 event data.
+ */
+#define rtems_record_entry_4( event, data_0, data_1, data_2, data_3 ) \
+ _Record_Entry_4( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3 \
+ )
+
+/**
+ * @brief Generates the specified entry event and five argument events.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry_5().
+ *
+ * @param event The entry event.
+ * @param data_0 The RTEMS_RECORD_ARG_0 event data.
+ * @param data_1 The RTEMS_RECORD_ARG_1 event data.
+ * @param data_2 The RTEMS_RECORD_ARG_2 event data.
+ * @param data_3 The RTEMS_RECORD_ARG_3 event data.
+ * @param data_4 The RTEMS_RECORD_ARG_4 event data.
+ */
+#define rtems_record_entry_5( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4 \
+) \
+ _Record_Entry_5( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4 \
+ )
+
+/**
+ * @brief Generates the specified entry event and six argument events.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry_6().
+ *
+ * @param event The entry event.
+ * @param data_0 The RTEMS_RECORD_ARG_0 event data.
+ * @param data_1 The RTEMS_RECORD_ARG_1 event data.
+ * @param data_2 The RTEMS_RECORD_ARG_2 event data.
+ * @param data_3 The RTEMS_RECORD_ARG_3 event data.
+ * @param data_4 The RTEMS_RECORD_ARG_4 event data.
+ * @param data_5 The RTEMS_RECORD_ARG_5 event data.
+ */
+#define rtems_record_entry_6( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5 \
+) \
+ _Record_Entry_6( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5 \
+ )
+
+/**
+ * @brief Generates the specified entry event and seven argument events.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry_7().
+ *
+ * @param event The entry event.
+ * @param data_0 The RTEMS_RECORD_ARG_0 event data.
+ * @param data_1 The RTEMS_RECORD_ARG_1 event data.
+ * @param data_2 The RTEMS_RECORD_ARG_2 event data.
+ * @param data_3 The RTEMS_RECORD_ARG_3 event data.
+ * @param data_4 The RTEMS_RECORD_ARG_4 event data.
+ * @param data_5 The RTEMS_RECORD_ARG_5 event data.
+ * @param data_6 The RTEMS_RECORD_ARG_6 event data.
+ */
+#define rtems_record_entry_7( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6 \
+) \
+ _Record_Entry_7( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6 \
+ )
+
+/**
+ * @brief Generates the specified entry event and eight argument events.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry_8().
+ *
+ * @param event The entry event.
+ * @param data_0 The RTEMS_RECORD_ARG_0 event data.
+ * @param data_1 The RTEMS_RECORD_ARG_1 event data.
+ * @param data_2 The RTEMS_RECORD_ARG_2 event data.
+ * @param data_3 The RTEMS_RECORD_ARG_3 event data.
+ * @param data_4 The RTEMS_RECORD_ARG_4 event data.
+ * @param data_5 The RTEMS_RECORD_ARG_5 event data.
+ * @param data_6 The RTEMS_RECORD_ARG_6 event data.
+ * @param data_7 The RTEMS_RECORD_ARG_7 event data.
+ */
+#define rtems_record_entry_8( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7 \
+) \
+ _Record_Entry_8( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7 \
+ )
+
+/**
+ * @brief Generates the specified entry event and nine argument events.
+ *
+ * The event data of the specified entry event is the return address of the
+ * function calling rtems_record_entry_9().
+ *
+ * @param event The entry event.
+ * @param data_0 The RTEMS_RECORD_ARG_0 event data.
+ * @param data_1 The RTEMS_RECORD_ARG_1 event data.
+ * @param data_2 The RTEMS_RECORD_ARG_2 event data.
+ * @param data_3 The RTEMS_RECORD_ARG_3 event data.
+ * @param data_4 The RTEMS_RECORD_ARG_4 event data.
+ * @param data_5 The RTEMS_RECORD_ARG_5 event data.
+ * @param data_6 The RTEMS_RECORD_ARG_6 event data.
+ * @param data_7 The RTEMS_RECORD_ARG_7 event data.
+ * @param data_8 The RTEMS_RECORD_ARG_8 event data.
+ */
+#define rtems_record_entry_9( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8 \
+) \
+ _Record_Entry_9( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8 \
+ )
+
+/**
+ * @brief Generates the specified entry event and ten argument events.
+ *
+ * The event data of the specified entry event is the return address of the function
+ * calling rtems_record_entry_10().
+ *
+ * @param event The entry event.
+ * @param data_0 The RTEMS_RECORD_ARG_0 event data.
+ * @param data_1 The RTEMS_RECORD_ARG_1 event data.
+ * @param data_2 The RTEMS_RECORD_ARG_2 event data.
+ * @param data_3 The RTEMS_RECORD_ARG_3 event data.
+ * @param data_4 The RTEMS_RECORD_ARG_4 event data.
+ * @param data_5 The RTEMS_RECORD_ARG_5 event data.
+ * @param data_6 The RTEMS_RECORD_ARG_6 event data.
+ * @param data_7 The RTEMS_RECORD_ARG_7 event data.
+ * @param data_8 The RTEMS_RECORD_ARG_8 event data.
+ * @param data_10 The RTEMS_RECORD_ARG_10 event data.
+ */
+#define rtems_record_entry_10( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8, \
+ data_9 \
+) \
+ _Record_Entry_10( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8, \
+ data_9 \
+ )
+
+/**
+ * @brief Generates the specified exit event.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit().
+ *
+ * @param event The exit event.
+ */
+#define rtems_record_exit( event ) \
+ rtems_record_produce( event, (rtems_record_data) RTEMS_RETURN_ADDRESS() )
+
+/**
+ * @brief Generates the specified exit event and a return event.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit_1().
+ *
+ * @param event The exit event.
+ * @param data The RTEMS_RECORD_RETURN_0 event data.
+ */
+#define rtems_record_exit_1( event, data ) \
+ rtems_record_produce_2( \
+ event, \
+ (rtems_record_data) RTEMS_RETURN_ADDRESS(), \
+ RTEMS_RECORD_RETURN_0, \
+ data \
+ )
+
+/**
+ * @brief Generates the specified exit event and two argument events.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit_2().
+ *
+ * @param event The exit event.
+ * @param data_0 The RTEMS_RECORD_RETURN_0 event data.
+ * @param data_1 The RTEMS_RECORD_RETURN_1 event data.
+ */
+#define rtems_record_exit_2( event, data_0, data_1 ) \
+ _Record_Entry_2( RTEMS_RETURN_ADDRESS(), event, data_0, data_1 )
+
+/**
+ * @brief Generates the specified exit event and three argument events.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit_3().
+ *
+ * @param event The exit event.
+ * @param data_0 The RTEMS_RECORD_RETURN_0 event data.
+ * @param data_1 The RTEMS_RECORD_RETURN_1 event data.
+ * @param data_2 The RTEMS_RECORD_RETURN_2 event data.
+ */
+#define rtems_record_exit_3( event, data_0, data_1, data_2 ) \
+ _Record_Exit_3( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2 \
+ )
+
+/**
+ * @brief Generates the specified exit event and four argument events.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit_4().
+ *
+ * @param event The exit event.
+ * @param data_0 The RTEMS_RECORD_RETURN_0 event data.
+ * @param data_1 The RTEMS_RECORD_RETURN_1 event data.
+ * @param data_2 The RTEMS_RECORD_RETURN_2 event data.
+ * @param data_3 The RTEMS_RECORD_RETURN_3 event data.
+ */
+#define rtems_record_exit_4( event, data_0, data_1, data_2, data_3 ) \
+ _Record_Exit_4( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3 \
+ )
+
+/**
+ * @brief Generates the specified exit event and five argument events.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit_5().
+ *
+ * @param event The exit event.
+ * @param data_0 The RTEMS_RECORD_RETURN_0 event data.
+ * @param data_1 The RTEMS_RECORD_RETURN_1 event data.
+ * @param data_2 The RTEMS_RECORD_RETURN_2 event data.
+ * @param data_3 The RTEMS_RECORD_RETURN_3 event data.
+ * @param data_4 The RTEMS_RECORD_RETURN_4 event data.
+ */
+#define rtems_record_exit_5( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4 \
+) \
+ _Record_Exit_5( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4 \
+ )
+
+/**
+ * @brief Generates the specified exit event and six argument events.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit_6().
+ *
+ * @param event The exit event.
+ * @param data_0 The RTEMS_RECORD_RETURN_0 event data.
+ * @param data_1 The RTEMS_RECORD_RETURN_1 event data.
+ * @param data_2 The RTEMS_RECORD_RETURN_2 event data.
+ * @param data_3 The RTEMS_RECORD_RETURN_3 event data.
+ * @param data_4 The RTEMS_RECORD_RETURN_4 event data.
+ * @param data_5 The RTEMS_RECORD_RETURN_5 event data.
+ */
+#define rtems_record_exit_6( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5 \
+) \
+ _Record_Exit_6( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5 \
+ )
+
+/**
+ * @brief Generates the specified exit event and seven argument events.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit_7().
+ *
+ * @param event The exit event.
+ * @param data_0 The RTEMS_RECORD_RETURN_0 event data.
+ * @param data_1 The RTEMS_RECORD_RETURN_1 event data.
+ * @param data_2 The RTEMS_RECORD_RETURN_2 event data.
+ * @param data_3 The RTEMS_RECORD_RETURN_3 event data.
+ * @param data_4 The RTEMS_RECORD_RETURN_4 event data.
+ * @param data_5 The RTEMS_RECORD_RETURN_5 event data.
+ * @param data_6 The RTEMS_RECORD_RETURN_6 event data.
+ */
+#define rtems_record_exit_7( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6 \
+) \
+ _Record_Exit_7( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6 \
+ )
+
+/**
+ * @brief Generates the specified exit event and eight argument events.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit_8().
+ *
+ * @param event The exit event.
+ * @param data_0 The RTEMS_RECORD_RETURN_0 event data.
+ * @param data_1 The RTEMS_RECORD_RETURN_1 event data.
+ * @param data_2 The RTEMS_RECORD_RETURN_2 event data.
+ * @param data_3 The RTEMS_RECORD_RETURN_3 event data.
+ * @param data_4 The RTEMS_RECORD_RETURN_4 event data.
+ * @param data_5 The RTEMS_RECORD_RETURN_5 event data.
+ * @param data_6 The RTEMS_RECORD_RETURN_6 event data.
+ * @param data_7 The RTEMS_RECORD_RETURN_7 event data.
+ */
+#define rtems_record_exit_8( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7 \
+) \
+ _Record_Exit_8( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7 \
+ )
+
+/**
+ * @brief Generates the specified exit event and nine argument events.
+ *
+ * The event data of the specified exit event is the return address of the
+ * function calling rtems_record_exit_9().
+ *
+ * @param event The exit event.
+ * @param data_0 The RTEMS_RECORD_RETURN_0 event data.
+ * @param data_1 The RTEMS_RECORD_RETURN_1 event data.
+ * @param data_2 The RTEMS_RECORD_RETURN_2 event data.
+ * @param data_3 The RTEMS_RECORD_RETURN_3 event data.
+ * @param data_4 The RTEMS_RECORD_RETURN_4 event data.
+ * @param data_5 The RTEMS_RECORD_RETURN_5 event data.
+ * @param data_6 The RTEMS_RECORD_RETURN_6 event data.
+ * @param data_7 The RTEMS_RECORD_RETURN_7 event data.
+ * @param data_8 The RTEMS_RECORD_RETURN_8 event data.
+ */
+#define rtems_record_exit_9( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8 \
+) \
+ _Record_Exit_9( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8 \
+ )
+
+/**
+ * @brief Generates the specified exit event and ten argument events.
+ *
+ * The event data of the specified exit event is the return address of the function
+ * calling rtems_record_exit_10().
+ *
+ * @param event The exit event.
+ * @param data_0 The RTEMS_RECORD_RETURN_0 event data.
+ * @param data_1 The RTEMS_RECORD_RETURN_1 event data.
+ * @param data_2 The RTEMS_RECORD_RETURN_2 event data.
+ * @param data_3 The RTEMS_RECORD_RETURN_3 event data.
+ * @param data_4 The RTEMS_RECORD_RETURN_4 event data.
+ * @param data_5 The RTEMS_RECORD_RETURN_5 event data.
+ * @param data_6 The RTEMS_RECORD_RETURN_6 event data.
+ * @param data_7 The RTEMS_RECORD_RETURN_7 event data.
+ * @param data_8 The RTEMS_RECORD_RETURN_8 event data.
+ * @param data_10 The RTEMS_RECORD_RETURN_10 event data.
+ */
+#define rtems_record_exit_10( \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8, \
+ data_9 \
+) \
+ _Record_Exit_10( \
+ RTEMS_RETURN_ADDRESS(), \
+ event, \
+ data_0, \
+ data_1, \
+ data_2, \
+ data_3, \
+ data_4, \
+ data_5, \
+ data_6, \
+ data_7, \
+ data_8, \
+ data_9 \
+ )
+
+/**
* @brief Disables interrupts and generates an RTEMS_RECORD_ISR_DISABLE event.
*
* @return The previous interrupt level.
diff --git a/cpukit/include/rtems/recorddata.h b/cpukit/include/rtems/recorddata.h
index f0d02e6c11..ae63986d8e 100644
--- a/cpukit/include/rtems/recorddata.h
+++ b/cpukit/include/rtems/recorddata.h
@@ -55,7 +55,7 @@ extern "C" {
* The record version reflects the record event definitions. It is reported by
* the RTEMS_RECORD_VERSION event.
*/
-#define RTEMS_RECORD_THE_VERSION 7
+#define RTEMS_RECORD_THE_VERSION 8
/**
* @brief The items are in 32-bit little-endian format.
@@ -99,6 +99,8 @@ typedef enum {
RTEMS_RECORD_ACCEPT_ENTRY,
RTEMS_RECORD_ACCEPT_EXIT,
RTEMS_RECORD_ADDRESS,
+ RTEMS_RECORD_ALIGNED_ALLOC_ENTRY,
+ RTEMS_RECORD_ALIGNED_ALLOC_EXIT,
RTEMS_RECORD_ARCH,
RTEMS_RECORD_ARG_0,
RTEMS_RECORD_ARG_1,
@@ -115,6 +117,8 @@ typedef enum {
RTEMS_RECORD_BSP,
RTEMS_RECORD_BUFFER,
RTEMS_RECORD_CALLER,
+ RTEMS_RECORD_CALLOC_ENTRY,
+ RTEMS_RECORD_CALLOC_EXIT,
RTEMS_RECORD_CHOWN_ENTRY,
RTEMS_RECORD_CHOWN_EXIT,
RTEMS_RECORD_CLOSE_ENTRY,
@@ -131,6 +135,8 @@ typedef enum {
RTEMS_RECORD_FCNTL_EXIT,
RTEMS_RECORD_FDATASYNC_ENTRY,
RTEMS_RECORD_FDATASYNC_EXIT,
+ RTEMS_RECORD_FREE_ENTRY,
+ RTEMS_RECORD_FREE_EXIT,
RTEMS_RECORD_FREQUENCY,
RTEMS_RECORD_FSTAT_ENTRY,
RTEMS_RECORD_FSTAT_EXIT,
@@ -181,6 +187,8 @@ typedef enum {
RTEMS_RECORD_LISTEN_EXIT,
RTEMS_RECORD_LSEEK_ENTRY,
RTEMS_RECORD_LSEEK_EXIT,
+ RTEMS_RECORD_MALLOC_ENTRY,
+ RTEMS_RECORD_MALLOC_EXIT,
RTEMS_RECORD_MEMORY,
RTEMS_RECORD_MKNOD_ENTRY,
RTEMS_RECORD_MKNOD_EXIT,
@@ -199,6 +207,8 @@ typedef enum {
RTEMS_RECORD_PER_CPU_TAIL,
RTEMS_RECORD_POLL_ENTRY,
RTEMS_RECORD_POLL_EXIT,
+ RTEMS_RECORD_POSIX_MEMALIGN_ENTRY,
+ RTEMS_RECORD_POSIX_MEMALIGN_EXIT,
RTEMS_RECORD_PROCESSOR,
RTEMS_RECORD_PROCESSOR_MAXIMUM,
RTEMS_RECORD_READ_ENTRY,
@@ -207,6 +217,8 @@ typedef enum {
RTEMS_RECORD_READLINK_EXIT,
RTEMS_RECORD_READV_ENTRY,
RTEMS_RECORD_READV_EXIT,
+ RTEMS_RECORD_REALLOC_ENTRY,
+ RTEMS_RECORD_REALLOC_EXIT,
RTEMS_RECORD_RECV_ENTRY,
RTEMS_RECORD_RECV_EXIT,
RTEMS_RECORD_RECVFROM_ENTRY,
@@ -216,14 +228,28 @@ typedef enum {
RTEMS_RECORD_REGISTERS,
RTEMS_RECORD_RENAME_ENTRY,
RTEMS_RECORD_RENAME_EXIT,
+ RTEMS_RECORD_RETURN_0,
+ RTEMS_RECORD_RETURN_1,
+ RTEMS_RECORD_RETURN_2,
+ RTEMS_RECORD_RETURN_3,
+ RTEMS_RECORD_RETURN_4,
+ RTEMS_RECORD_RETURN_5,
+ RTEMS_RECORD_RETURN_6,
+ RTEMS_RECORD_RETURN_7,
+ RTEMS_RECORD_RETURN_8,
+ RTEMS_RECORD_RETURN_9,
RTEMS_RECORD_RTEMS_BARRIER_CREATE,
RTEMS_RECORD_RTEMS_BARRIER_DELETE,
RTEMS_RECORD_RTEMS_BARRIER_RELEASE,
RTEMS_RECORD_RTEMS_BARRIER_WAIT,
+ RTEMS_RECORD_RTEMS_CALLOC_ENTRY,
+ RTEMS_RECORD_RTEMS_CALLOC_EXIT,
RTEMS_RECORD_RTEMS_EVENT_RECEIVE,
RTEMS_RECORD_RTEMS_EVENT_SEND,
RTEMS_RECORD_RTEMS_EVENT_SYSTEM_RECEIVE,
RTEMS_RECORD_RTEMS_EVENT_SYSTEM_SEND,
+ RTEMS_RECORD_RTEMS_MALLOC_ENTRY,
+ RTEMS_RECORD_RTEMS_MALLOC_EXIT,
RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_BROADCAST,
RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_CREATE,
RTEMS_RECORD_RTEMS_MESSAGE_QUEUE_DELETE,
@@ -396,8 +422,10 @@ typedef enum {
RTEMS_RECORD_WATCHDOG_REMOVE,
RTEMS_RECORD_WATCHDOG_ROUTINE,
RTEMS_RECORD_WATCHDOG_STATE,
- RTEMS_RECORD_WORKSPACE_ALLOC,
- RTEMS_RECORD_WORKSPACE_FREE,
+ RTEMS_RECORD_WORKSPACE_ALLOC_ENTRY,
+ RTEMS_RECORD_WORKSPACE_ALLOC_EXIT,
+ RTEMS_RECORD_WORKSPACE_FREE_ENTY,
+ RTEMS_RECORD_WORKSPACE_FREE_EXIT,
RTEMS_RECORD_WORKSPACE_SIZE,
RTEMS_RECORD_WORKSPACE_USAGE,
RTEMS_RECORD_WRITE_ENTRY,
@@ -406,34 +434,6 @@ typedef enum {
RTEMS_RECORD_WRITEV_EXIT,
/* Unused system events */
- RTEMS_RECORD_SYSTEM_310,
- RTEMS_RECORD_SYSTEM_311,
- RTEMS_RECORD_SYSTEM_312,
- RTEMS_RECORD_SYSTEM_313,
- RTEMS_RECORD_SYSTEM_314,
- RTEMS_RECORD_SYSTEM_315,
- RTEMS_RECORD_SYSTEM_316,
- RTEMS_RECORD_SYSTEM_317,
- RTEMS_RECORD_SYSTEM_318,
- RTEMS_RECORD_SYSTEM_319,
- RTEMS_RECORD_SYSTEM_320,
- RTEMS_RECORD_SYSTEM_321,
- RTEMS_RECORD_SYSTEM_322,
- RTEMS_RECORD_SYSTEM_323,
- RTEMS_RECORD_SYSTEM_324,
- RTEMS_RECORD_SYSTEM_325,
- RTEMS_RECORD_SYSTEM_326,
- RTEMS_RECORD_SYSTEM_327,
- RTEMS_RECORD_SYSTEM_328,
- RTEMS_RECORD_SYSTEM_329,
- RTEMS_RECORD_SYSTEM_330,
- RTEMS_RECORD_SYSTEM_331,
- RTEMS_RECORD_SYSTEM_332,
- RTEMS_RECORD_SYSTEM_333,
- RTEMS_RECORD_SYSTEM_334,
- RTEMS_RECORD_SYSTEM_335,
- RTEMS_RECORD_SYSTEM_336,
- RTEMS_RECORD_SYSTEM_337,
RTEMS_RECORD_SYSTEM_338,
RTEMS_RECORD_SYSTEM_339,
RTEMS_RECORD_SYSTEM_340,
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;
diff --git a/testsuites/libtests/record02/init.c b/testsuites/libtests/record02/init.c
index f4c19f1092..22671a7c0a 100644
--- a/testsuites/libtests/record02/init.c
+++ b/testsuites/libtests/record02/init.c
@@ -136,6 +136,28 @@ static void Init(rtems_task_argument arg)
rtems_record_caller_arg_8(0, 1, 2, 3, 4, 5, 6, 7);
rtems_record_caller_arg_9(0, 1, 2, 3, 4, 5, 6, 7, 8);
rtems_record_caller_arg_10(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
+ rtems_record_entry(RTEMS_RECORD_USER_3);
+ rtems_record_entry_1(RTEMS_RECORD_USER_3, 0);
+ rtems_record_entry_2(RTEMS_RECORD_USER_3, 0, 1);
+ rtems_record_entry_3(RTEMS_RECORD_USER_3, 0, 1, 2);
+ rtems_record_entry_4(RTEMS_RECORD_USER_3, 0, 1, 2, 3);
+ rtems_record_entry_5(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4);
+ rtems_record_entry_6(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5);
+ rtems_record_entry_7(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5, 6);
+ rtems_record_entry_8(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5, 6, 7);
+ rtems_record_entry_9(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5, 6, 7, 8);
+ rtems_record_entry_10(RTEMS_RECORD_USER_3, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
+ rtems_record_exit(RTEMS_RECORD_USER_4);
+ rtems_record_exit_1(RTEMS_RECORD_USER_4, 0);
+ rtems_record_exit_2(RTEMS_RECORD_USER_4, 0, 1);
+ rtems_record_exit_3(RTEMS_RECORD_USER_4, 0, 1, 2);
+ rtems_record_exit_4(RTEMS_RECORD_USER_4, 0, 1, 2, 3);
+ rtems_record_exit_5(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4);
+ rtems_record_exit_6(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5);
+ rtems_record_exit_7(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5, 6);
+ rtems_record_exit_8(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5, 6, 7);
+ rtems_record_exit_9(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5, 6, 7, 8);
+ rtems_record_exit_10(RTEMS_RECORD_USER_4, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
level = rtems_record_interrupt_disable();
rtems_record_interrupt_enable(level);