Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:24:21

0001 /*
0002  * SPDX-License-Identifier: BSD-2-Clause
0003  *
0004  * Copyright (C) 2018, 2019 embedded brains GmbH & Co. KG
0005  *
0006  * Redistribution and use in source and binary forms, with or without
0007  * modification, are permitted provided that the following conditions
0008  * are met:
0009  * 1. Redistributions of source code must retain the above copyright
0010  *    notice, this list of conditions and the following disclaimer.
0011  * 2. Redistributions in binary form must reproduce the above copyright
0012  *    notice, this list of conditions and the following disclaimer in the
0013  *    documentation and/or other materials provided with the distribution.
0014  *
0015  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0016  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0017  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0018  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0019  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0020  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0021  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0022  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0023  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0024  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0025  * POSSIBILITY OF SUCH DAMAGE.
0026  */
0027 
0028 #ifdef HAVE_CONFIG_H
0029 #include "config.h"
0030 #endif
0031 
0032 #include <rtems/record.h>
0033 
0034 void rtems_record_line( void )
0035 {
0036   rtems_record_produce(
0037     RTEMS_RECORD_LINE,
0038     (rtems_record_data) RTEMS_RETURN_ADDRESS()
0039   );
0040 }
0041 
0042 void rtems_record_line_2(
0043   rtems_record_event event,
0044   rtems_record_data  data
0045 )
0046 {
0047   rtems_record_produce_2(
0048     RTEMS_RECORD_LINE,
0049     (rtems_record_data) RTEMS_RETURN_ADDRESS(),
0050     event,
0051     data
0052   );
0053 }
0054 
0055 void rtems_record_line_3(
0056   rtems_record_event event_0,
0057   rtems_record_data  data_0,
0058   rtems_record_event event_1,
0059   rtems_record_data  data_1
0060 )
0061 {
0062   rtems_record_item items[ 3 ];
0063 
0064   items[ 0 ].event = RTEMS_RECORD_LINE;
0065   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0066   items[ 1 ].event = event_0;
0067   items[ 1 ].data = data_0;
0068   items[ 2 ].event = event_1;
0069   items[ 2 ].data = data_1;
0070   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0071 }
0072 
0073 void rtems_record_line_arg( rtems_record_data data )
0074 {
0075   rtems_record_produce_2(
0076     RTEMS_RECORD_LINE,
0077     (rtems_record_data) RTEMS_RETURN_ADDRESS(),
0078     RTEMS_RECORD_ARG_0,
0079     data
0080   );
0081 }
0082 
0083 void rtems_record_line_arg_2(
0084   rtems_record_data data_0,
0085   rtems_record_data data_1
0086 )
0087 {
0088   rtems_record_item items[ 3 ];
0089 
0090   items[ 0 ].event = RTEMS_RECORD_LINE;
0091   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0092   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0093   items[ 1 ].data = data_0;
0094   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0095   items[ 2 ].data = data_1;
0096   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0097 }
0098 
0099 void rtems_record_line_arg_3(
0100   rtems_record_data data_0,
0101   rtems_record_data data_1,
0102   rtems_record_data data_2
0103 )
0104 {
0105   rtems_record_item items[ 4 ];
0106 
0107   items[ 0 ].event = RTEMS_RECORD_LINE;
0108   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0109   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0110   items[ 1 ].data = data_0;
0111   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0112   items[ 2 ].data = data_1;
0113   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0114   items[ 3 ].data = data_2;
0115   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0116 }
0117 
0118 void rtems_record_line_arg_4(
0119   rtems_record_data data_0,
0120   rtems_record_data data_1,
0121   rtems_record_data data_2,
0122   rtems_record_data data_3
0123 )
0124 {
0125   rtems_record_item items[ 5 ];
0126 
0127   items[ 0 ].event = RTEMS_RECORD_LINE;
0128   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0129   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0130   items[ 1 ].data = data_0;
0131   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0132   items[ 2 ].data = data_1;
0133   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0134   items[ 3 ].data = data_2;
0135   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0136   items[ 4 ].data = data_3;
0137   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0138 }
0139 
0140 void rtems_record_line_arg_5(
0141   rtems_record_data data_0,
0142   rtems_record_data data_1,
0143   rtems_record_data data_2,
0144   rtems_record_data data_3,
0145   rtems_record_data data_4
0146 )
0147 {
0148   rtems_record_item items[ 6 ];
0149 
0150   items[ 0 ].event = RTEMS_RECORD_LINE;
0151   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0152   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0153   items[ 1 ].data = data_0;
0154   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0155   items[ 2 ].data = data_1;
0156   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0157   items[ 3 ].data = data_2;
0158   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0159   items[ 4 ].data = data_3;
0160   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0161   items[ 5 ].data = data_4;
0162   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0163 }
0164 
0165 void rtems_record_line_arg_6(
0166   rtems_record_data data_0,
0167   rtems_record_data data_1,
0168   rtems_record_data data_2,
0169   rtems_record_data data_3,
0170   rtems_record_data data_4,
0171   rtems_record_data data_5
0172 )
0173 {
0174   rtems_record_item items[ 7 ];
0175 
0176   items[ 0 ].event = RTEMS_RECORD_LINE;
0177   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0178   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0179   items[ 1 ].data = data_0;
0180   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0181   items[ 2 ].data = data_1;
0182   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0183   items[ 3 ].data = data_2;
0184   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0185   items[ 4 ].data = data_3;
0186   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0187   items[ 5 ].data = data_4;
0188   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0189   items[ 6 ].data = data_5;
0190   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0191 }
0192 
0193 void rtems_record_line_arg_7(
0194   rtems_record_data data_0,
0195   rtems_record_data data_1,
0196   rtems_record_data data_2,
0197   rtems_record_data data_3,
0198   rtems_record_data data_4,
0199   rtems_record_data data_5,
0200   rtems_record_data data_6
0201 )
0202 {
0203   rtems_record_item items[ 8 ];
0204 
0205   items[ 0 ].event = RTEMS_RECORD_LINE;
0206   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0207   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0208   items[ 1 ].data = data_0;
0209   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0210   items[ 2 ].data = data_1;
0211   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0212   items[ 3 ].data = data_2;
0213   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0214   items[ 4 ].data = data_3;
0215   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0216   items[ 5 ].data = data_4;
0217   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0218   items[ 6 ].data = data_5;
0219   items[ 7 ].event = RTEMS_RECORD_ARG_6;
0220   items[ 7 ].data = data_6;
0221   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0222 }
0223 
0224 void rtems_record_line_arg_8(
0225   rtems_record_data data_0,
0226   rtems_record_data data_1,
0227   rtems_record_data data_2,
0228   rtems_record_data data_3,
0229   rtems_record_data data_4,
0230   rtems_record_data data_5,
0231   rtems_record_data data_6,
0232   rtems_record_data data_7
0233 )
0234 {
0235   rtems_record_item items[ 9 ];
0236 
0237   items[ 0 ].event = RTEMS_RECORD_LINE;
0238   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0239   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0240   items[ 1 ].data = data_0;
0241   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0242   items[ 2 ].data = data_1;
0243   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0244   items[ 3 ].data = data_2;
0245   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0246   items[ 4 ].data = data_3;
0247   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0248   items[ 5 ].data = data_4;
0249   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0250   items[ 6 ].data = data_5;
0251   items[ 7 ].event = RTEMS_RECORD_ARG_6;
0252   items[ 7 ].data = data_6;
0253   items[ 8 ].event = RTEMS_RECORD_ARG_7;
0254   items[ 8 ].data = data_7;
0255   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0256 }
0257 
0258 void rtems_record_line_arg_9(
0259   rtems_record_data data_0,
0260   rtems_record_data data_1,
0261   rtems_record_data data_2,
0262   rtems_record_data data_3,
0263   rtems_record_data data_4,
0264   rtems_record_data data_5,
0265   rtems_record_data data_6,
0266   rtems_record_data data_7,
0267   rtems_record_data data_8
0268 )
0269 {
0270   rtems_record_item items[ 10 ];
0271 
0272   items[ 0 ].event = RTEMS_RECORD_LINE;
0273   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0274   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0275   items[ 1 ].data = data_0;
0276   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0277   items[ 2 ].data = data_1;
0278   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0279   items[ 3 ].data = data_2;
0280   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0281   items[ 4 ].data = data_3;
0282   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0283   items[ 5 ].data = data_4;
0284   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0285   items[ 6 ].data = data_5;
0286   items[ 7 ].event = RTEMS_RECORD_ARG_6;
0287   items[ 7 ].data = data_6;
0288   items[ 8 ].event = RTEMS_RECORD_ARG_7;
0289   items[ 8 ].data = data_7;
0290   items[ 9 ].event = RTEMS_RECORD_ARG_8;
0291   items[ 9 ].data = data_8;
0292   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0293 }
0294 
0295 void rtems_record_line_arg_10(
0296   rtems_record_data data_0,
0297   rtems_record_data data_1,
0298   rtems_record_data data_2,
0299   rtems_record_data data_3,
0300   rtems_record_data data_4,
0301   rtems_record_data data_5,
0302   rtems_record_data data_6,
0303   rtems_record_data data_7,
0304   rtems_record_data data_8,
0305   rtems_record_data data_9
0306 )
0307 {
0308   rtems_record_item items[ 11 ];
0309 
0310   items[ 0 ].event = RTEMS_RECORD_LINE;
0311   items[ 0 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0312   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0313   items[ 1 ].data = data_0;
0314   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0315   items[ 2 ].data = data_1;
0316   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0317   items[ 3 ].data = data_2;
0318   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0319   items[ 4 ].data = data_3;
0320   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0321   items[ 5 ].data = data_4;
0322   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0323   items[ 6 ].data = data_5;
0324   items[ 7 ].event = RTEMS_RECORD_ARG_6;
0325   items[ 7 ].data = data_6;
0326   items[ 8 ].event = RTEMS_RECORD_ARG_7;
0327   items[ 8 ].data = data_7;
0328   items[ 9 ].event = RTEMS_RECORD_ARG_8;
0329   items[ 9 ].data = data_8;
0330   items[ 10 ].event = RTEMS_RECORD_ARG_9;
0331   items[ 10 ].data = data_9;
0332   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0333 }
0334 
0335 void _Record_Caller( void *return_address )
0336 {
0337   rtems_record_produce_2(
0338     RTEMS_RECORD_CALLER,
0339     (rtems_record_data) return_address,
0340     RTEMS_RECORD_LINE,
0341     (rtems_record_data) RTEMS_RETURN_ADDRESS()
0342   );
0343 }
0344 
0345 void _Record_Caller_3(
0346   void               *return_address,
0347   rtems_record_event  event,
0348   rtems_record_data   data
0349 )
0350 {
0351   rtems_record_item items[ 3 ];
0352 
0353   items[ 0 ].event = RTEMS_RECORD_CALLER;
0354   items[ 0 ].data = (rtems_record_data) return_address;
0355   items[ 1 ].event = RTEMS_RECORD_LINE;
0356   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0357   items[ 2 ].event = event;
0358   items[ 2 ].data = data;
0359   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0360 }
0361 
0362 void _Record_Caller_4(
0363   void               *return_address,
0364   rtems_record_event  event_0,
0365   rtems_record_data   data_0,
0366   rtems_record_event  event_1,
0367   rtems_record_data   data_1
0368 )
0369 {
0370   rtems_record_item items[ 4 ];
0371 
0372   items[ 0 ].event = RTEMS_RECORD_CALLER;
0373   items[ 0 ].data = (rtems_record_data) return_address;
0374   items[ 1 ].event = RTEMS_RECORD_LINE;
0375   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0376   items[ 2 ].event = event_0;
0377   items[ 2 ].data = data_0;
0378   items[ 3 ].event = event_1;
0379   items[ 3 ].data = data_1;
0380   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0381 }
0382 
0383 void _Record_Caller_arg( void *return_address, rtems_record_data data )
0384 {
0385   rtems_record_item items[ 3 ];
0386 
0387   items[ 0 ].event = RTEMS_RECORD_CALLER;
0388   items[ 0 ].data = (rtems_record_data) return_address;
0389   items[ 1 ].event = RTEMS_RECORD_LINE;
0390   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0391   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0392   items[ 2 ].data = data;
0393   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0394 }
0395 
0396 void _Record_Caller_arg_2(
0397   void              *return_address,
0398   rtems_record_data  data_0,
0399   rtems_record_data  data_1
0400 )
0401 {
0402   rtems_record_item items[ 4 ];
0403 
0404   items[ 0 ].event = RTEMS_RECORD_CALLER;
0405   items[ 0 ].data = (rtems_record_data) return_address;
0406   items[ 1 ].event = RTEMS_RECORD_LINE;
0407   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0408   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0409   items[ 2 ].data = data_0;
0410   items[ 3 ].event = RTEMS_RECORD_ARG_1;
0411   items[ 3 ].data = data_1;
0412   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0413 }
0414 
0415 void _Record_Caller_arg_3(
0416   void              *return_address,
0417   rtems_record_data  data_0,
0418   rtems_record_data  data_1,
0419   rtems_record_data  data_2
0420 )
0421 {
0422   rtems_record_item items[ 5 ];
0423 
0424   items[ 0 ].event = RTEMS_RECORD_CALLER;
0425   items[ 0 ].data = (rtems_record_data) return_address;
0426   items[ 1 ].event = RTEMS_RECORD_LINE;
0427   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0428   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0429   items[ 2 ].data = data_0;
0430   items[ 3 ].event = RTEMS_RECORD_ARG_1;
0431   items[ 3 ].data = data_1;
0432   items[ 4 ].event = RTEMS_RECORD_ARG_2;
0433   items[ 4 ].data = data_2;
0434   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0435 }
0436 
0437 void _Record_Caller_arg_4(
0438   void              *return_address,
0439   rtems_record_data  data_0,
0440   rtems_record_data  data_1,
0441   rtems_record_data  data_2,
0442   rtems_record_data  data_3
0443 )
0444 {
0445   rtems_record_item items[ 6 ];
0446 
0447   items[ 0 ].event = RTEMS_RECORD_CALLER;
0448   items[ 0 ].data = (rtems_record_data) return_address;
0449   items[ 1 ].event = RTEMS_RECORD_LINE;
0450   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0451   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0452   items[ 2 ].data = data_0;
0453   items[ 3 ].event = RTEMS_RECORD_ARG_1;
0454   items[ 3 ].data = data_1;
0455   items[ 4 ].event = RTEMS_RECORD_ARG_2;
0456   items[ 4 ].data = data_2;
0457   items[ 5 ].event = RTEMS_RECORD_ARG_3;
0458   items[ 5 ].data = data_3;
0459   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0460 }
0461 
0462 void _Record_Caller_arg_5(
0463   void              *return_address,
0464   rtems_record_data  data_0,
0465   rtems_record_data  data_1,
0466   rtems_record_data  data_2,
0467   rtems_record_data  data_3,
0468   rtems_record_data  data_4
0469 )
0470 {
0471   rtems_record_item items[ 7 ];
0472 
0473   items[ 0 ].event = RTEMS_RECORD_CALLER;
0474   items[ 0 ].data = (rtems_record_data) return_address;
0475   items[ 1 ].event = RTEMS_RECORD_LINE;
0476   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0477   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0478   items[ 2 ].data = data_0;
0479   items[ 3 ].event = RTEMS_RECORD_ARG_1;
0480   items[ 3 ].data = data_1;
0481   items[ 4 ].event = RTEMS_RECORD_ARG_2;
0482   items[ 4 ].data = data_2;
0483   items[ 5 ].event = RTEMS_RECORD_ARG_3;
0484   items[ 5 ].data = data_3;
0485   items[ 6 ].event = RTEMS_RECORD_ARG_4;
0486   items[ 6 ].data = data_4;
0487   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0488 }
0489 
0490 void _Record_Caller_arg_6(
0491   void              *return_address,
0492   rtems_record_data  data_0,
0493   rtems_record_data  data_1,
0494   rtems_record_data  data_2,
0495   rtems_record_data  data_3,
0496   rtems_record_data  data_4,
0497   rtems_record_data  data_5
0498 )
0499 {
0500   rtems_record_item items[ 8 ];
0501 
0502   items[ 0 ].event = RTEMS_RECORD_CALLER;
0503   items[ 0 ].data = (rtems_record_data) return_address;
0504   items[ 1 ].event = RTEMS_RECORD_LINE;
0505   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0506   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0507   items[ 2 ].data = data_0;
0508   items[ 3 ].event = RTEMS_RECORD_ARG_1;
0509   items[ 3 ].data = data_1;
0510   items[ 4 ].event = RTEMS_RECORD_ARG_2;
0511   items[ 4 ].data = data_2;
0512   items[ 5 ].event = RTEMS_RECORD_ARG_3;
0513   items[ 5 ].data = data_3;
0514   items[ 6 ].event = RTEMS_RECORD_ARG_4;
0515   items[ 6 ].data = data_4;
0516   items[ 7 ].event = RTEMS_RECORD_ARG_5;
0517   items[ 7 ].data = data_5;
0518   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0519 }
0520 
0521 void _Record_Caller_arg_7(
0522   void              *return_address,
0523   rtems_record_data  data_0,
0524   rtems_record_data  data_1,
0525   rtems_record_data  data_2,
0526   rtems_record_data  data_3,
0527   rtems_record_data  data_4,
0528   rtems_record_data  data_5,
0529   rtems_record_data  data_6
0530 )
0531 {
0532   rtems_record_item items[ 9 ];
0533 
0534   items[ 0 ].event = RTEMS_RECORD_CALLER;
0535   items[ 0 ].data = (rtems_record_data) return_address;
0536   items[ 1 ].event = RTEMS_RECORD_LINE;
0537   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0538   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0539   items[ 2 ].data = data_0;
0540   items[ 3 ].event = RTEMS_RECORD_ARG_1;
0541   items[ 3 ].data = data_1;
0542   items[ 4 ].event = RTEMS_RECORD_ARG_2;
0543   items[ 4 ].data = data_2;
0544   items[ 5 ].event = RTEMS_RECORD_ARG_3;
0545   items[ 5 ].data = data_3;
0546   items[ 6 ].event = RTEMS_RECORD_ARG_4;
0547   items[ 6 ].data = data_4;
0548   items[ 7 ].event = RTEMS_RECORD_ARG_5;
0549   items[ 7 ].data = data_5;
0550   items[ 8 ].event = RTEMS_RECORD_ARG_6;
0551   items[ 8 ].data = data_6;
0552   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0553 }
0554 
0555 void _Record_Caller_arg_8(
0556   void              *return_address,
0557   rtems_record_data  data_0,
0558   rtems_record_data  data_1,
0559   rtems_record_data  data_2,
0560   rtems_record_data  data_3,
0561   rtems_record_data  data_4,
0562   rtems_record_data  data_5,
0563   rtems_record_data  data_6,
0564   rtems_record_data  data_7
0565 )
0566 {
0567   rtems_record_item items[ 10 ];
0568 
0569   items[ 0 ].event = RTEMS_RECORD_CALLER;
0570   items[ 0 ].data = (rtems_record_data) return_address;
0571   items[ 1 ].event = RTEMS_RECORD_LINE;
0572   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0573   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0574   items[ 2 ].data = data_0;
0575   items[ 3 ].event = RTEMS_RECORD_ARG_1;
0576   items[ 3 ].data = data_1;
0577   items[ 4 ].event = RTEMS_RECORD_ARG_2;
0578   items[ 4 ].data = data_2;
0579   items[ 5 ].event = RTEMS_RECORD_ARG_3;
0580   items[ 5 ].data = data_3;
0581   items[ 6 ].event = RTEMS_RECORD_ARG_4;
0582   items[ 6 ].data = data_4;
0583   items[ 7 ].event = RTEMS_RECORD_ARG_5;
0584   items[ 7 ].data = data_5;
0585   items[ 8 ].event = RTEMS_RECORD_ARG_6;
0586   items[ 8 ].data = data_6;
0587   items[ 9 ].event = RTEMS_RECORD_ARG_7;
0588   items[ 9 ].data = data_7;
0589   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0590 }
0591 
0592 void _Record_Caller_arg_9(
0593   void              *return_address,
0594   rtems_record_data  data_0,
0595   rtems_record_data  data_1,
0596   rtems_record_data  data_2,
0597   rtems_record_data  data_3,
0598   rtems_record_data  data_4,
0599   rtems_record_data  data_5,
0600   rtems_record_data  data_6,
0601   rtems_record_data  data_7,
0602   rtems_record_data  data_8
0603 )
0604 {
0605   rtems_record_item items[ 11 ];
0606 
0607   items[ 0 ].event = RTEMS_RECORD_CALLER;
0608   items[ 0 ].data = (rtems_record_data) return_address;
0609   items[ 1 ].event = RTEMS_RECORD_LINE;
0610   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0611   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0612   items[ 2 ].data = data_0;
0613   items[ 3 ].event = RTEMS_RECORD_ARG_1;
0614   items[ 3 ].data = data_1;
0615   items[ 4 ].event = RTEMS_RECORD_ARG_2;
0616   items[ 4 ].data = data_2;
0617   items[ 5 ].event = RTEMS_RECORD_ARG_3;
0618   items[ 5 ].data = data_3;
0619   items[ 6 ].event = RTEMS_RECORD_ARG_4;
0620   items[ 6 ].data = data_4;
0621   items[ 7 ].event = RTEMS_RECORD_ARG_5;
0622   items[ 7 ].data = data_5;
0623   items[ 8 ].event = RTEMS_RECORD_ARG_6;
0624   items[ 8 ].data = data_6;
0625   items[ 9 ].event = RTEMS_RECORD_ARG_7;
0626   items[ 9 ].data = data_7;
0627   items[ 10 ].event = RTEMS_RECORD_ARG_8;
0628   items[ 10 ].data = data_8;
0629   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0630 }
0631 
0632 void _Record_Caller_arg_10(
0633   void              *return_address,
0634   rtems_record_data  data_0,
0635   rtems_record_data  data_1,
0636   rtems_record_data  data_2,
0637   rtems_record_data  data_3,
0638   rtems_record_data  data_4,
0639   rtems_record_data  data_5,
0640   rtems_record_data  data_6,
0641   rtems_record_data  data_7,
0642   rtems_record_data  data_8,
0643   rtems_record_data  data_9
0644 )
0645 {
0646   rtems_record_item items[ 12 ];
0647 
0648   items[ 0 ].event = RTEMS_RECORD_CALLER;
0649   items[ 0 ].data = (rtems_record_data) return_address;
0650   items[ 1 ].event = RTEMS_RECORD_LINE;
0651   items[ 1 ].data = (rtems_record_data) RTEMS_RETURN_ADDRESS();
0652   items[ 2 ].event = RTEMS_RECORD_ARG_0;
0653   items[ 2 ].data = data_0;
0654   items[ 3 ].event = RTEMS_RECORD_ARG_1;
0655   items[ 3 ].data = data_1;
0656   items[ 4 ].event = RTEMS_RECORD_ARG_2;
0657   items[ 4 ].data = data_2;
0658   items[ 5 ].event = RTEMS_RECORD_ARG_3;
0659   items[ 5 ].data = data_3;
0660   items[ 6 ].event = RTEMS_RECORD_ARG_4;
0661   items[ 6 ].data = data_4;
0662   items[ 7 ].event = RTEMS_RECORD_ARG_5;
0663   items[ 7 ].data = data_5;
0664   items[ 8 ].event = RTEMS_RECORD_ARG_6;
0665   items[ 8 ].data = data_6;
0666   items[ 9 ].event = RTEMS_RECORD_ARG_7;
0667   items[ 9 ].data = data_7;
0668   items[ 10 ].event = RTEMS_RECORD_ARG_8;
0669   items[ 10 ].data = data_8;
0670   items[ 11 ].event = RTEMS_RECORD_ARG_9;
0671   items[ 11 ].data = data_9;
0672   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0673 }
0674 
0675 void _Record_Entry_2(
0676   void               *return_address,
0677   rtems_record_event  event,
0678   rtems_record_data   data_0,
0679   rtems_record_data   data_1
0680 )
0681 {
0682   rtems_record_item items[ 3 ];
0683 
0684   items[ 0 ].event = event;
0685   items[ 0 ].data = (rtems_record_data) return_address;
0686   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0687   items[ 1 ].data = data_0;
0688   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0689   items[ 2 ].data = data_1;
0690   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0691 }
0692 
0693 void _Record_Entry_3(
0694   void               *return_address,
0695   rtems_record_event  event,
0696   rtems_record_data   data_0,
0697   rtems_record_data   data_1,
0698   rtems_record_data   data_2
0699 )
0700 {
0701   rtems_record_item items[ 4 ];
0702 
0703   items[ 0 ].event = event;
0704   items[ 0 ].data = (rtems_record_data) return_address;
0705   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0706   items[ 1 ].data = data_0;
0707   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0708   items[ 2 ].data = data_1;
0709   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0710   items[ 3 ].data = data_2;
0711   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0712 }
0713 
0714 void _Record_Entry_4(
0715   void               *return_address,
0716   rtems_record_event  event,
0717   rtems_record_data   data_0,
0718   rtems_record_data   data_1,
0719   rtems_record_data   data_2,
0720   rtems_record_data   data_3
0721 )
0722 {
0723   rtems_record_item items[ 5 ];
0724 
0725   items[ 0 ].event = event;
0726   items[ 0 ].data = (rtems_record_data) return_address;
0727   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0728   items[ 1 ].data = data_0;
0729   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0730   items[ 2 ].data = data_1;
0731   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0732   items[ 3 ].data = data_2;
0733   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0734   items[ 4 ].data = data_3;
0735   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0736 }
0737 
0738 void _Record_Entry_5(
0739   void               *return_address,
0740   rtems_record_event  event,
0741   rtems_record_data   data_0,
0742   rtems_record_data   data_1,
0743   rtems_record_data   data_2,
0744   rtems_record_data   data_3,
0745   rtems_record_data   data_4
0746 )
0747 {
0748   rtems_record_item items[ 6 ];
0749 
0750   items[ 0 ].event = event;
0751   items[ 0 ].data = (rtems_record_data) return_address;
0752   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0753   items[ 1 ].data = data_0;
0754   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0755   items[ 2 ].data = data_1;
0756   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0757   items[ 3 ].data = data_2;
0758   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0759   items[ 4 ].data = data_3;
0760   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0761   items[ 5 ].data = data_4;
0762   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0763 }
0764 
0765 void _Record_Entry_6(
0766   void               *return_address,
0767   rtems_record_event  event,
0768   rtems_record_data   data_0,
0769   rtems_record_data   data_1,
0770   rtems_record_data   data_2,
0771   rtems_record_data   data_3,
0772   rtems_record_data   data_4,
0773   rtems_record_data   data_5
0774 )
0775 {
0776   rtems_record_item items[ 7 ];
0777 
0778   items[ 0 ].event = event;
0779   items[ 0 ].data = (rtems_record_data) return_address;
0780   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0781   items[ 1 ].data = data_0;
0782   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0783   items[ 2 ].data = data_1;
0784   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0785   items[ 3 ].data = data_2;
0786   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0787   items[ 4 ].data = data_3;
0788   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0789   items[ 5 ].data = data_4;
0790   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0791   items[ 6 ].data = data_5;
0792   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0793 }
0794 
0795 void _Record_Entry_7(
0796   void               *return_address,
0797   rtems_record_event  event,
0798   rtems_record_data   data_0,
0799   rtems_record_data   data_1,
0800   rtems_record_data   data_2,
0801   rtems_record_data   data_3,
0802   rtems_record_data   data_4,
0803   rtems_record_data   data_5,
0804   rtems_record_data   data_6
0805 )
0806 {
0807   rtems_record_item items[ 8 ];
0808 
0809   items[ 0 ].event = event;
0810   items[ 0 ].data = (rtems_record_data) return_address;
0811   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0812   items[ 1 ].data = data_0;
0813   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0814   items[ 2 ].data = data_1;
0815   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0816   items[ 3 ].data = data_2;
0817   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0818   items[ 4 ].data = data_3;
0819   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0820   items[ 5 ].data = data_4;
0821   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0822   items[ 6 ].data = data_5;
0823   items[ 7 ].event = RTEMS_RECORD_ARG_6;
0824   items[ 7 ].data = data_6;
0825   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0826 }
0827 
0828 void _Record_Entry_8(
0829   void               *return_address,
0830   rtems_record_event  event,
0831   rtems_record_data   data_0,
0832   rtems_record_data   data_1,
0833   rtems_record_data   data_2,
0834   rtems_record_data   data_3,
0835   rtems_record_data   data_4,
0836   rtems_record_data   data_5,
0837   rtems_record_data   data_6,
0838   rtems_record_data   data_7
0839 )
0840 {
0841   rtems_record_item items[ 9 ];
0842 
0843   items[ 0 ].event = event;
0844   items[ 0 ].data = (rtems_record_data) return_address;
0845   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0846   items[ 1 ].data = data_0;
0847   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0848   items[ 2 ].data = data_1;
0849   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0850   items[ 3 ].data = data_2;
0851   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0852   items[ 4 ].data = data_3;
0853   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0854   items[ 5 ].data = data_4;
0855   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0856   items[ 6 ].data = data_5;
0857   items[ 7 ].event = RTEMS_RECORD_ARG_6;
0858   items[ 7 ].data = data_6;
0859   items[ 8 ].event = RTEMS_RECORD_ARG_7;
0860   items[ 8 ].data = data_7;
0861   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0862 }
0863 
0864 void _Record_Entry_9(
0865   void               *return_address,
0866   rtems_record_event  event,
0867   rtems_record_data   data_0,
0868   rtems_record_data   data_1,
0869   rtems_record_data   data_2,
0870   rtems_record_data   data_3,
0871   rtems_record_data   data_4,
0872   rtems_record_data   data_5,
0873   rtems_record_data   data_6,
0874   rtems_record_data   data_7,
0875   rtems_record_data   data_8
0876 )
0877 {
0878   rtems_record_item items[ 10 ];
0879 
0880   items[ 0 ].event = event;
0881   items[ 0 ].data = (rtems_record_data) return_address;
0882   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0883   items[ 1 ].data = data_0;
0884   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0885   items[ 2 ].data = data_1;
0886   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0887   items[ 3 ].data = data_2;
0888   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0889   items[ 4 ].data = data_3;
0890   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0891   items[ 5 ].data = data_4;
0892   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0893   items[ 6 ].data = data_5;
0894   items[ 7 ].event = RTEMS_RECORD_ARG_6;
0895   items[ 7 ].data = data_6;
0896   items[ 8 ].event = RTEMS_RECORD_ARG_7;
0897   items[ 8 ].data = data_7;
0898   items[ 9 ].event = RTEMS_RECORD_ARG_8;
0899   items[ 9 ].data = data_8;
0900   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0901 }
0902 
0903 void _Record_Entry_10(
0904   void               *return_address,
0905   rtems_record_event  event,
0906   rtems_record_data   data_0,
0907   rtems_record_data   data_1,
0908   rtems_record_data   data_2,
0909   rtems_record_data   data_3,
0910   rtems_record_data   data_4,
0911   rtems_record_data   data_5,
0912   rtems_record_data   data_6,
0913   rtems_record_data   data_7,
0914   rtems_record_data   data_8,
0915   rtems_record_data   data_9
0916 )
0917 {
0918   rtems_record_item items[ 11 ];
0919 
0920   items[ 0 ].event = event;
0921   items[ 0 ].data = (rtems_record_data) return_address;
0922   items[ 1 ].event = RTEMS_RECORD_ARG_0;
0923   items[ 1 ].data = data_0;
0924   items[ 2 ].event = RTEMS_RECORD_ARG_1;
0925   items[ 2 ].data = data_1;
0926   items[ 3 ].event = RTEMS_RECORD_ARG_2;
0927   items[ 3 ].data = data_2;
0928   items[ 4 ].event = RTEMS_RECORD_ARG_3;
0929   items[ 4 ].data = data_3;
0930   items[ 5 ].event = RTEMS_RECORD_ARG_4;
0931   items[ 5 ].data = data_4;
0932   items[ 6 ].event = RTEMS_RECORD_ARG_5;
0933   items[ 6 ].data = data_5;
0934   items[ 7 ].event = RTEMS_RECORD_ARG_6;
0935   items[ 7 ].data = data_6;
0936   items[ 8 ].event = RTEMS_RECORD_ARG_7;
0937   items[ 8 ].data = data_7;
0938   items[ 9 ].event = RTEMS_RECORD_ARG_8;
0939   items[ 9 ].data = data_8;
0940   items[ 10 ].event = RTEMS_RECORD_ARG_9;
0941   items[ 10 ].data = data_9;
0942   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0943 }
0944 
0945 void _Record_Exit_2(
0946   void               *return_address,
0947   rtems_record_event  event,
0948   rtems_record_data   data_0,
0949   rtems_record_data   data_1
0950 )
0951 {
0952   rtems_record_item items[ 3 ];
0953 
0954   items[ 0 ].event = event;
0955   items[ 0 ].data = (rtems_record_data) return_address;
0956   items[ 1 ].event = RTEMS_RECORD_RETURN_0;
0957   items[ 1 ].data = data_0;
0958   items[ 2 ].event = RTEMS_RECORD_RETURN_1;
0959   items[ 2 ].data = data_1;
0960   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0961 }
0962 
0963 void _Record_Exit_3(
0964   void               *return_address,
0965   rtems_record_event  event,
0966   rtems_record_data   data_0,
0967   rtems_record_data   data_1,
0968   rtems_record_data   data_2
0969 )
0970 {
0971   rtems_record_item items[ 4 ];
0972 
0973   items[ 0 ].event = event;
0974   items[ 0 ].data = (rtems_record_data) return_address;
0975   items[ 1 ].event = RTEMS_RECORD_RETURN_0;
0976   items[ 1 ].data = data_0;
0977   items[ 2 ].event = RTEMS_RECORD_RETURN_1;
0978   items[ 2 ].data = data_1;
0979   items[ 3 ].event = RTEMS_RECORD_RETURN_2;
0980   items[ 3 ].data = data_2;
0981   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
0982 }
0983 
0984 void _Record_Exit_4(
0985   void               *return_address,
0986   rtems_record_event  event,
0987   rtems_record_data   data_0,
0988   rtems_record_data   data_1,
0989   rtems_record_data   data_2,
0990   rtems_record_data   data_3
0991 )
0992 {
0993   rtems_record_item items[ 5 ];
0994 
0995   items[ 0 ].event = event;
0996   items[ 0 ].data = (rtems_record_data) return_address;
0997   items[ 1 ].event = RTEMS_RECORD_RETURN_0;
0998   items[ 1 ].data = data_0;
0999   items[ 2 ].event = RTEMS_RECORD_RETURN_1;
1000   items[ 2 ].data = data_1;
1001   items[ 3 ].event = RTEMS_RECORD_RETURN_2;
1002   items[ 3 ].data = data_2;
1003   items[ 4 ].event = RTEMS_RECORD_RETURN_3;
1004   items[ 4 ].data = data_3;
1005   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
1006 }
1007 
1008 void _Record_Exit_5(
1009   void               *return_address,
1010   rtems_record_event  event,
1011   rtems_record_data   data_0,
1012   rtems_record_data   data_1,
1013   rtems_record_data   data_2,
1014   rtems_record_data   data_3,
1015   rtems_record_data   data_4
1016 )
1017 {
1018   rtems_record_item items[ 6 ];
1019 
1020   items[ 0 ].event = event;
1021   items[ 0 ].data = (rtems_record_data) return_address;
1022   items[ 1 ].event = RTEMS_RECORD_RETURN_0;
1023   items[ 1 ].data = data_0;
1024   items[ 2 ].event = RTEMS_RECORD_RETURN_1;
1025   items[ 2 ].data = data_1;
1026   items[ 3 ].event = RTEMS_RECORD_RETURN_2;
1027   items[ 3 ].data = data_2;
1028   items[ 4 ].event = RTEMS_RECORD_RETURN_3;
1029   items[ 4 ].data = data_3;
1030   items[ 5 ].event = RTEMS_RECORD_RETURN_4;
1031   items[ 5 ].data = data_4;
1032   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
1033 }
1034 
1035 void _Record_Exit_6(
1036   void               *return_address,
1037   rtems_record_event  event,
1038   rtems_record_data   data_0,
1039   rtems_record_data   data_1,
1040   rtems_record_data   data_2,
1041   rtems_record_data   data_3,
1042   rtems_record_data   data_4,
1043   rtems_record_data   data_5
1044 )
1045 {
1046   rtems_record_item items[ 7 ];
1047 
1048   items[ 0 ].event = event;
1049   items[ 0 ].data = (rtems_record_data) return_address;
1050   items[ 1 ].event = RTEMS_RECORD_RETURN_0;
1051   items[ 1 ].data = data_0;
1052   items[ 2 ].event = RTEMS_RECORD_RETURN_1;
1053   items[ 2 ].data = data_1;
1054   items[ 3 ].event = RTEMS_RECORD_RETURN_2;
1055   items[ 3 ].data = data_2;
1056   items[ 4 ].event = RTEMS_RECORD_RETURN_3;
1057   items[ 4 ].data = data_3;
1058   items[ 5 ].event = RTEMS_RECORD_RETURN_4;
1059   items[ 5 ].data = data_4;
1060   items[ 6 ].event = RTEMS_RECORD_RETURN_5;
1061   items[ 6 ].data = data_5;
1062   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
1063 }
1064 
1065 void _Record_Exit_7(
1066   void               *return_address,
1067   rtems_record_event  event,
1068   rtems_record_data   data_0,
1069   rtems_record_data   data_1,
1070   rtems_record_data   data_2,
1071   rtems_record_data   data_3,
1072   rtems_record_data   data_4,
1073   rtems_record_data   data_5,
1074   rtems_record_data   data_6
1075 )
1076 {
1077   rtems_record_item items[ 8 ];
1078 
1079   items[ 0 ].event = event;
1080   items[ 0 ].data = (rtems_record_data) return_address;
1081   items[ 1 ].event = RTEMS_RECORD_RETURN_0;
1082   items[ 1 ].data = data_0;
1083   items[ 2 ].event = RTEMS_RECORD_RETURN_1;
1084   items[ 2 ].data = data_1;
1085   items[ 3 ].event = RTEMS_RECORD_RETURN_2;
1086   items[ 3 ].data = data_2;
1087   items[ 4 ].event = RTEMS_RECORD_RETURN_3;
1088   items[ 4 ].data = data_3;
1089   items[ 5 ].event = RTEMS_RECORD_RETURN_4;
1090   items[ 5 ].data = data_4;
1091   items[ 6 ].event = RTEMS_RECORD_RETURN_5;
1092   items[ 6 ].data = data_5;
1093   items[ 7 ].event = RTEMS_RECORD_RETURN_6;
1094   items[ 7 ].data = data_6;
1095   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
1096 }
1097 
1098 void _Record_Exit_8(
1099   void               *return_address,
1100   rtems_record_event  event,
1101   rtems_record_data   data_0,
1102   rtems_record_data   data_1,
1103   rtems_record_data   data_2,
1104   rtems_record_data   data_3,
1105   rtems_record_data   data_4,
1106   rtems_record_data   data_5,
1107   rtems_record_data   data_6,
1108   rtems_record_data   data_7
1109 )
1110 {
1111   rtems_record_item items[ 9 ];
1112 
1113   items[ 0 ].event = event;
1114   items[ 0 ].data = (rtems_record_data) return_address;
1115   items[ 1 ].event = RTEMS_RECORD_RETURN_0;
1116   items[ 1 ].data = data_0;
1117   items[ 2 ].event = RTEMS_RECORD_RETURN_1;
1118   items[ 2 ].data = data_1;
1119   items[ 3 ].event = RTEMS_RECORD_RETURN_2;
1120   items[ 3 ].data = data_2;
1121   items[ 4 ].event = RTEMS_RECORD_RETURN_3;
1122   items[ 4 ].data = data_3;
1123   items[ 5 ].event = RTEMS_RECORD_RETURN_4;
1124   items[ 5 ].data = data_4;
1125   items[ 6 ].event = RTEMS_RECORD_RETURN_5;
1126   items[ 6 ].data = data_5;
1127   items[ 7 ].event = RTEMS_RECORD_RETURN_6;
1128   items[ 7 ].data = data_6;
1129   items[ 8 ].event = RTEMS_RECORD_RETURN_7;
1130   items[ 8 ].data = data_7;
1131   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
1132 }
1133 
1134 void _Record_Exit_9(
1135   void               *return_address,
1136   rtems_record_event  event,
1137   rtems_record_data   data_0,
1138   rtems_record_data   data_1,
1139   rtems_record_data   data_2,
1140   rtems_record_data   data_3,
1141   rtems_record_data   data_4,
1142   rtems_record_data   data_5,
1143   rtems_record_data   data_6,
1144   rtems_record_data   data_7,
1145   rtems_record_data   data_8
1146 )
1147 {
1148   rtems_record_item items[ 10 ];
1149 
1150   items[ 0 ].event = event;
1151   items[ 0 ].data = (rtems_record_data) return_address;
1152   items[ 1 ].event = RTEMS_RECORD_RETURN_0;
1153   items[ 1 ].data = data_0;
1154   items[ 2 ].event = RTEMS_RECORD_RETURN_1;
1155   items[ 2 ].data = data_1;
1156   items[ 3 ].event = RTEMS_RECORD_RETURN_2;
1157   items[ 3 ].data = data_2;
1158   items[ 4 ].event = RTEMS_RECORD_RETURN_3;
1159   items[ 4 ].data = data_3;
1160   items[ 5 ].event = RTEMS_RECORD_RETURN_4;
1161   items[ 5 ].data = data_4;
1162   items[ 6 ].event = RTEMS_RECORD_RETURN_5;
1163   items[ 6 ].data = data_5;
1164   items[ 7 ].event = RTEMS_RECORD_RETURN_6;
1165   items[ 7 ].data = data_6;
1166   items[ 8 ].event = RTEMS_RECORD_RETURN_7;
1167   items[ 8 ].data = data_7;
1168   items[ 9 ].event = RTEMS_RECORD_RETURN_8;
1169   items[ 9 ].data = data_8;
1170   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
1171 }
1172 
1173 void _Record_Exit_10(
1174   void               *return_address,
1175   rtems_record_event  event,
1176   rtems_record_data   data_0,
1177   rtems_record_data   data_1,
1178   rtems_record_data   data_2,
1179   rtems_record_data   data_3,
1180   rtems_record_data   data_4,
1181   rtems_record_data   data_5,
1182   rtems_record_data   data_6,
1183   rtems_record_data   data_7,
1184   rtems_record_data   data_8,
1185   rtems_record_data   data_9
1186 )
1187 {
1188   rtems_record_item items[ 11 ];
1189 
1190   items[ 0 ].event = event;
1191   items[ 0 ].data = (rtems_record_data) return_address;
1192   items[ 1 ].event = RTEMS_RECORD_RETURN_0;
1193   items[ 1 ].data = data_0;
1194   items[ 2 ].event = RTEMS_RECORD_RETURN_1;
1195   items[ 2 ].data = data_1;
1196   items[ 3 ].event = RTEMS_RECORD_RETURN_2;
1197   items[ 3 ].data = data_2;
1198   items[ 4 ].event = RTEMS_RECORD_RETURN_3;
1199   items[ 4 ].data = data_3;
1200   items[ 5 ].event = RTEMS_RECORD_RETURN_4;
1201   items[ 5 ].data = data_4;
1202   items[ 6 ].event = RTEMS_RECORD_RETURN_5;
1203   items[ 6 ].data = data_5;
1204   items[ 7 ].event = RTEMS_RECORD_RETURN_6;
1205   items[ 7 ].data = data_6;
1206   items[ 8 ].event = RTEMS_RECORD_RETURN_7;
1207   items[ 8 ].data = data_7;
1208   items[ 9 ].event = RTEMS_RECORD_RETURN_8;
1209   items[ 9 ].data = data_8;
1210   items[ 10 ].event = RTEMS_RECORD_RETURN_9;
1211   items[ 10 ].data = data_9;
1212   rtems_record_produce_n( items, RTEMS_ARRAY_SIZE( items ) );
1213 }
1214 
1215 uint32_t rtems_record_interrupt_disable( void )
1216 {
1217   uint32_t             level;
1218   rtems_record_context context;
1219 
1220   _CPU_ISR_Disable( level );
1221   rtems_record_prepare_critical( &context, _Per_CPU_Get() );
1222   rtems_record_add(
1223     &context,
1224     RTEMS_RECORD_ISR_DISABLE,
1225     (rtems_record_data) RTEMS_RETURN_ADDRESS()
1226   );
1227   rtems_record_commit_critical( &context );
1228 
1229   return level;
1230 }
1231 
1232 void rtems_record_interrupt_enable( uint32_t level )
1233 {
1234   rtems_record_context context;
1235 
1236   rtems_record_prepare_critical( &context, _Per_CPU_Get() );
1237   rtems_record_add(
1238     &context,
1239     RTEMS_RECORD_ISR_ENABLE,
1240     (rtems_record_data) RTEMS_RETURN_ADDRESS()
1241   );
1242   rtems_record_commit_critical( &context );
1243   _CPU_ISR_Enable( level );
1244 }