1 /*
2  * Copyright 2020-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /**
8 *   @file    SchM_Mcl.h
9 *   @version 3.0.0
10 *
11 *   @brief   AUTOSAR Rte - module interface
12 *   @details This file contains the functions prototypes and data types of the AUTOSAR Rte.
13 *            This file contains sample code only. It is not part of the production code deliverables.
14 *
15 *   @addtogroup RTE_MODULE
16 *   @{
17 */
18 
19 #ifndef SCHM_MCL_H
20 #define SCHM_MCL_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 /*==================================================================================================
26 *                                         INCLUDE FILES
27 * 1) system and project includes
28 * 2) needed interfaces from external units
29 * 3) internal and external interfaces from this unit
30 ==================================================================================================*/
31 
32 /*==================================================================================================
33 *                               SOURCE FILE VERSION INFORMATION
34 ==================================================================================================*/
35 #define SCHM_MCL_AR_RELEASE_MAJOR_VERSION     4
36 #define SCHM_MCL_AR_RELEASE_MINOR_VERSION     7
37 #define SCHM_MCL_AR_RELEASE_REVISION_VERSION  0
38 #define SCHM_MCL_SW_MAJOR_VERSION             3
39 #define SCHM_MCL_SW_MINOR_VERSION             0
40 #define SCHM_MCL_SW_PATCH_VERSION             0
41 
42 /*==================================================================================================
43 *                                      FILE VERSION CHECKS
44 ==================================================================================================*/
45 
46 
47 /*==================================================================================================
48 *                                           CONSTANTS
49 ==================================================================================================*/
50 
51 /*==================================================================================================
52 *                                       DEFINES AND MACROS
53 ==================================================================================================*/
54 #define NUMBER_OF_CORES         (uint8)(4U)
55 
56 /*==================================================================================================
57 *                                             ENUMS
58 ==================================================================================================*/
59 
60 /*==================================================================================================
61 *                                 STRUCTURES AND OTHER TYPEDEFS
62 ==================================================================================================*/
63 
64 /*==================================================================================================
65 *                                 GLOBAL VARIABLE DECLARATIONS
66 ==================================================================================================*/
67 
68 /*==================================================================================================
69 *                                     FUNCTION PROTOTYPES
70 ==================================================================================================*/
71 #define RTE_START_SEC_CODE
72 #include "Rte_MemMap.h"
73 
74 #ifdef MCAL_TESTING_ENVIRONMENT
75 /**
76 @brief   This function checks that all entered exclusive areas were also exited.
77 @details This function checks that all entered exclusive areas were also exited. The check
78          is done by verifying that all reentry_guard_* static variables are back to the
79          zero value.
80 
81 @param[in]     void       No input parameters
82 @return        void       This function does not return a value. Test asserts are used instead.
83 
84 @pre  None
85 @post None
86 
87 @remarks Covers
88 @remarks Implements
89 */
90 void SchM_Check_mcl(void);
91 #endif /*MCAL_TESTING_ENVIRONMENT*/
92 
93 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_00(void);
94 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_00(void);
95 
96 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_01(void);
97 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_01(void);
98 
99 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_02(void);
100 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_02(void);
101 
102 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_03(void);
103 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_03(void);
104 
105 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_04(void);
106 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_04(void);
107 
108 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_05(void);
109 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_05(void);
110 
111 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_06(void);
112 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_06(void);
113 
114 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_07(void);
115 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_07(void);
116 
117 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_08(void);
118 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_08(void);
119 
120 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_09(void);
121 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_09(void);
122 
123 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_10(void);
124 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_10(void);
125 
126 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_11(void);
127 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_11(void);
128 
129 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_12(void);
130 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_12(void);
131 
132 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_13(void);
133 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_13(void);
134 
135 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_14(void);
136 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_14(void);
137 
138 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_15(void);
139 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_15(void);
140 
141 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_16(void);
142 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_16(void);
143 
144 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_17(void);
145 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_17(void);
146 
147 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_18(void);
148 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_18(void);
149 
150 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_19(void);
151 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_19(void);
152 
153 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_20(void);
154 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_20(void);
155 
156 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_21(void);
157 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_21(void);
158 
159 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_22(void);
160 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_22(void);
161 
162 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_23(void);
163 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_23(void);
164 
165 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_24(void);
166 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_24(void);
167 
168 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_25(void);
169 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_25(void);
170 
171 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_26(void);
172 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_26(void);
173 
174 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_27(void);
175 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_27(void);
176 
177 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_28(void);
178 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_28(void);
179 
180 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_29(void);
181 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_29(void);
182 
183 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_30(void);
184 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_30(void);
185 
186 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_31(void);
187 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_31(void);
188 
189 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_32(void);
190 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_32(void);
191 
192 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_33(void);
193 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_33(void);
194 
195 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_34(void);
196 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_34(void);
197 
198 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_35(void);
199 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_35(void);
200 
201 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_36(void);
202 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_36(void);
203 
204 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_37(void);
205 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_37(void);
206 
207 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_38(void);
208 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_38(void);
209 
210 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_39(void);
211 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_39(void);
212 
213 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_40(void);
214 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_40(void);
215 
216 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_41(void);
217 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_41(void);
218 
219 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_42(void);
220 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_42(void);
221 
222 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_43(void);
223 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_43(void);
224 
225 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_44(void);
226 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_44(void);
227 
228 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_45(void);
229 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_45(void);
230 
231 extern void SchM_Enter_Mcl_MCL_EXCLUSIVE_AREA_46(void);
232 extern void SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_46(void);
233 
234 
235 
236 
237 #define RTE_STOP_SEC_CODE
238 #include "Rte_MemMap.h"
239 
240 #ifdef __cplusplus
241 }
242 #endif
243 
244 /** @} */
245 
246 #endif /* SCHM_MCL_H */
247