1/*
2 * FreeRTOS Kernel V11.0.1
3 * Copyright (C) 2021 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
4 *
5 * SPDX-License-Identifier: MIT
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 * this software and associated documentation files (the "Software"), to deal in
9 * the Software without restriction, including without limitation the rights to
10 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11 * the Software, and to permit persons to whom the Software is furnished to do so,
12 * subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included in all
15 * copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 *
24 * https://www.FreeRTOS.org
25 * https://github.com/FreeRTOS
26 *
27 */
28
29/* Including FreeRTOSConfig.h here will cause build errors if the header file
30 * contains code not understood by the assembler - for example the 'extern' keyword.
31 * To avoid errors place any such code inside a #ifdef __ICCARM__/#endif block so
32 * the code is included in C files but excluded by the preprocessor in assembly
33 * files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
34#include "FreeRTOSConfig.h"
35#include "mpu_syscall_numbers.h"
36
37    SECTION freertos_system_calls:CODE:NOROOT(2)
38    THUMB
39/*-----------------------------------------------------------*/
40
41#ifndef configUSE_MPU_WRAPPERS_V1
42    #define configUSE_MPU_WRAPPERS_V1 0
43#endif
44
45/*-----------------------------------------------------------*/
46
47#if ( configUSE_MPU_WRAPPERS_V1 == 0 )
48
49    PUBLIC MPU_xTaskDelayUntil
50MPU_xTaskDelayUntil:
51    push {r0}
52    mrs r0, control
53    tst r0, #1
54    bne MPU_xTaskDelayUntil_Unpriv
55    MPU_xTaskDelayUntil_Priv:
56        pop {r0}
57        b MPU_xTaskDelayUntilImpl
58    MPU_xTaskDelayUntil_Unpriv:
59        pop {r0}
60        svc #SYSTEM_CALL_xTaskDelayUntil
61/*-----------------------------------------------------------*/
62
63    PUBLIC MPU_xTaskAbortDelay
64MPU_xTaskAbortDelay:
65    push {r0}
66    mrs r0, control
67    tst r0, #1
68    bne MPU_xTaskAbortDelay_Unpriv
69    MPU_xTaskAbortDelay_Priv:
70        pop {r0}
71        b MPU_xTaskAbortDelayImpl
72    MPU_xTaskAbortDelay_Unpriv:
73        pop {r0}
74        svc #SYSTEM_CALL_xTaskAbortDelay
75/*-----------------------------------------------------------*/
76
77    PUBLIC MPU_vTaskDelay
78MPU_vTaskDelay:
79    push {r0}
80    mrs r0, control
81    tst r0, #1
82    bne MPU_vTaskDelay_Unpriv
83    MPU_vTaskDelay_Priv:
84        pop {r0}
85        b MPU_vTaskDelayImpl
86    MPU_vTaskDelay_Unpriv:
87        pop {r0}
88        svc #SYSTEM_CALL_vTaskDelay
89/*-----------------------------------------------------------*/
90
91    PUBLIC MPU_uxTaskPriorityGet
92MPU_uxTaskPriorityGet:
93    push {r0}
94    mrs r0, control
95    tst r0, #1
96    bne MPU_uxTaskPriorityGet_Unpriv
97    MPU_uxTaskPriorityGet_Priv:
98        pop {r0}
99        b MPU_uxTaskPriorityGetImpl
100    MPU_uxTaskPriorityGet_Unpriv:
101        pop {r0}
102        svc #SYSTEM_CALL_uxTaskPriorityGet
103/*-----------------------------------------------------------*/
104
105    PUBLIC MPU_eTaskGetState
106MPU_eTaskGetState:
107    push {r0}
108    mrs r0, control
109    tst r0, #1
110    bne MPU_eTaskGetState_Unpriv
111    MPU_eTaskGetState_Priv:
112        pop {r0}
113        b MPU_eTaskGetStateImpl
114    MPU_eTaskGetState_Unpriv:
115        pop {r0}
116        svc #SYSTEM_CALL_eTaskGetState
117/*-----------------------------------------------------------*/
118
119    PUBLIC MPU_vTaskGetInfo
120MPU_vTaskGetInfo:
121    push {r0}
122    mrs r0, control
123    tst r0, #1
124    bne MPU_vTaskGetInfo_Unpriv
125    MPU_vTaskGetInfo_Priv:
126        pop {r0}
127        b MPU_vTaskGetInfoImpl
128    MPU_vTaskGetInfo_Unpriv:
129        pop {r0}
130        svc #SYSTEM_CALL_vTaskGetInfo
131/*-----------------------------------------------------------*/
132
133    PUBLIC MPU_xTaskGetIdleTaskHandle
134MPU_xTaskGetIdleTaskHandle:
135    push {r0}
136    mrs r0, control
137    tst r0, #1
138    bne MPU_xTaskGetIdleTaskHandle_Unpriv
139    MPU_xTaskGetIdleTaskHandle_Priv:
140        pop {r0}
141        b MPU_xTaskGetIdleTaskHandleImpl
142    MPU_xTaskGetIdleTaskHandle_Unpriv:
143        pop {r0}
144        svc #SYSTEM_CALL_xTaskGetIdleTaskHandle
145/*-----------------------------------------------------------*/
146
147    PUBLIC MPU_vTaskSuspend
148MPU_vTaskSuspend:
149    push {r0}
150    mrs r0, control
151    tst r0, #1
152    bne MPU_vTaskSuspend_Unpriv
153    MPU_vTaskSuspend_Priv:
154        pop {r0}
155        b MPU_vTaskSuspendImpl
156    MPU_vTaskSuspend_Unpriv:
157        pop {r0}
158        svc #SYSTEM_CALL_vTaskSuspend
159/*-----------------------------------------------------------*/
160
161    PUBLIC MPU_vTaskResume
162MPU_vTaskResume:
163    push {r0}
164    mrs r0, control
165    tst r0, #1
166    bne MPU_vTaskResume_Unpriv
167    MPU_vTaskResume_Priv:
168        pop {r0}
169        b MPU_vTaskResumeImpl
170    MPU_vTaskResume_Unpriv:
171        pop {r0}
172        svc #SYSTEM_CALL_vTaskResume
173/*-----------------------------------------------------------*/
174
175    PUBLIC MPU_xTaskGetTickCount
176MPU_xTaskGetTickCount:
177    push {r0}
178    mrs r0, control
179    tst r0, #1
180    bne MPU_xTaskGetTickCount_Unpriv
181    MPU_xTaskGetTickCount_Priv:
182        pop {r0}
183        b MPU_xTaskGetTickCountImpl
184    MPU_xTaskGetTickCount_Unpriv:
185        pop {r0}
186        svc #SYSTEM_CALL_xTaskGetTickCount
187/*-----------------------------------------------------------*/
188
189    PUBLIC MPU_uxTaskGetNumberOfTasks
190MPU_uxTaskGetNumberOfTasks:
191    push {r0}
192    mrs r0, control
193    tst r0, #1
194    bne MPU_uxTaskGetNumberOfTasks_Unpriv
195    MPU_uxTaskGetNumberOfTasks_Priv:
196        pop {r0}
197        b MPU_uxTaskGetNumberOfTasksImpl
198    MPU_uxTaskGetNumberOfTasks_Unpriv:
199        pop {r0}
200        svc #SYSTEM_CALL_uxTaskGetNumberOfTasks
201/*-----------------------------------------------------------*/
202
203    PUBLIC MPU_ulTaskGetRunTimeCounter
204MPU_ulTaskGetRunTimeCounter:
205    push {r0}
206    mrs r0, control
207    tst r0, #1
208    bne MPU_ulTaskGetRunTimeCounter_Unpriv
209    MPU_ulTaskGetRunTimeCounter_Priv:
210        pop {r0}
211        b MPU_ulTaskGetRunTimeCounterImpl
212    MPU_ulTaskGetRunTimeCounter_Unpriv:
213        pop {r0}
214        svc #SYSTEM_CALL_ulTaskGetRunTimeCounter
215/*-----------------------------------------------------------*/
216
217    PUBLIC MPU_ulTaskGetRunTimePercent
218MPU_ulTaskGetRunTimePercent:
219    push {r0}
220    mrs r0, control
221    tst r0, #1
222    bne MPU_ulTaskGetRunTimePercent_Unpriv
223    MPU_ulTaskGetRunTimePercent_Priv:
224        pop {r0}
225        b MPU_ulTaskGetRunTimePercentImpl
226    MPU_ulTaskGetRunTimePercent_Unpriv:
227        pop {r0}
228        svc #SYSTEM_CALL_ulTaskGetRunTimePercent
229/*-----------------------------------------------------------*/
230
231    PUBLIC MPU_ulTaskGetIdleRunTimePercent
232MPU_ulTaskGetIdleRunTimePercent:
233    push {r0}
234    mrs r0, control
235    tst r0, #1
236    bne MPU_ulTaskGetIdleRunTimePercent_Unpriv
237    MPU_ulTaskGetIdleRunTimePercent_Priv:
238        pop {r0}
239        b MPU_ulTaskGetIdleRunTimePercentImpl
240    MPU_ulTaskGetIdleRunTimePercent_Unpriv:
241        pop {r0}
242        svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent
243/*-----------------------------------------------------------*/
244
245    PUBLIC MPU_ulTaskGetIdleRunTimeCounter
246MPU_ulTaskGetIdleRunTimeCounter:
247    push {r0}
248    mrs r0, control
249    tst r0, #1
250    bne MPU_ulTaskGetIdleRunTimeCounter_Unpriv
251    MPU_ulTaskGetIdleRunTimeCounter_Priv:
252        pop {r0}
253        b MPU_ulTaskGetIdleRunTimeCounterImpl
254    MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
255        pop {r0}
256        svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter
257/*-----------------------------------------------------------*/
258
259    PUBLIC MPU_vTaskSetApplicationTaskTag
260MPU_vTaskSetApplicationTaskTag:
261    push {r0}
262    mrs r0, control
263    tst r0, #1
264    bne MPU_vTaskSetApplicationTaskTag_Unpriv
265    MPU_vTaskSetApplicationTaskTag_Priv:
266        pop {r0}
267        b MPU_vTaskSetApplicationTaskTagImpl
268    MPU_vTaskSetApplicationTaskTag_Unpriv:
269        pop {r0}
270        svc #SYSTEM_CALL_vTaskSetApplicationTaskTag
271/*-----------------------------------------------------------*/
272
273    PUBLIC MPU_xTaskGetApplicationTaskTag
274MPU_xTaskGetApplicationTaskTag:
275    push {r0}
276    mrs r0, control
277    tst r0, #1
278    bne MPU_xTaskGetApplicationTaskTag_Unpriv
279    MPU_xTaskGetApplicationTaskTag_Priv:
280        pop {r0}
281        b MPU_xTaskGetApplicationTaskTagImpl
282    MPU_xTaskGetApplicationTaskTag_Unpriv:
283        pop {r0}
284        svc #SYSTEM_CALL_xTaskGetApplicationTaskTag
285/*-----------------------------------------------------------*/
286
287    PUBLIC MPU_vTaskSetThreadLocalStoragePointer
288MPU_vTaskSetThreadLocalStoragePointer:
289    push {r0}
290    mrs r0, control
291    tst r0, #1
292    bne MPU_vTaskSetThreadLocalStoragePointer_Unpriv
293    MPU_vTaskSetThreadLocalStoragePointer_Priv:
294        pop {r0}
295        b MPU_vTaskSetThreadLocalStoragePointerImpl
296    MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
297        pop {r0}
298        svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer
299/*-----------------------------------------------------------*/
300
301    PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
302MPU_pvTaskGetThreadLocalStoragePointer:
303    push {r0}
304    mrs r0, control
305    tst r0, #1
306    bne MPU_pvTaskGetThreadLocalStoragePointer_Unpriv
307    MPU_pvTaskGetThreadLocalStoragePointer_Priv:
308        pop {r0}
309        b MPU_pvTaskGetThreadLocalStoragePointerImpl
310    MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
311        pop {r0}
312        svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer
313/*-----------------------------------------------------------*/
314
315    PUBLIC MPU_uxTaskGetSystemState
316MPU_uxTaskGetSystemState:
317    push {r0}
318    mrs r0, control
319    tst r0, #1
320    bne MPU_uxTaskGetSystemState_Unpriv
321    MPU_uxTaskGetSystemState_Priv:
322        pop {r0}
323        b MPU_uxTaskGetSystemStateImpl
324    MPU_uxTaskGetSystemState_Unpriv:
325        pop {r0}
326        svc #SYSTEM_CALL_uxTaskGetSystemState
327/*-----------------------------------------------------------*/
328
329    PUBLIC MPU_uxTaskGetStackHighWaterMark
330MPU_uxTaskGetStackHighWaterMark:
331    push {r0}
332    mrs r0, control
333    tst r0, #1
334    bne MPU_uxTaskGetStackHighWaterMark_Unpriv
335    MPU_uxTaskGetStackHighWaterMark_Priv:
336        pop {r0}
337        b MPU_uxTaskGetStackHighWaterMarkImpl
338    MPU_uxTaskGetStackHighWaterMark_Unpriv:
339        pop {r0}
340        svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark
341/*-----------------------------------------------------------*/
342
343    PUBLIC MPU_uxTaskGetStackHighWaterMark2
344MPU_uxTaskGetStackHighWaterMark2:
345    push {r0}
346    mrs r0, control
347    tst r0, #1
348    bne MPU_uxTaskGetStackHighWaterMark2_Unpriv
349    MPU_uxTaskGetStackHighWaterMark2_Priv:
350        pop {r0}
351        b MPU_uxTaskGetStackHighWaterMark2Impl
352    MPU_uxTaskGetStackHighWaterMark2_Unpriv:
353        pop {r0}
354        svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2
355/*-----------------------------------------------------------*/
356
357    PUBLIC MPU_xTaskGetCurrentTaskHandle
358MPU_xTaskGetCurrentTaskHandle:
359    push {r0}
360    mrs r0, control
361    tst r0, #1
362    bne MPU_xTaskGetCurrentTaskHandle_Unpriv
363    MPU_xTaskGetCurrentTaskHandle_Priv:
364        pop {r0}
365        b MPU_xTaskGetCurrentTaskHandleImpl
366    MPU_xTaskGetCurrentTaskHandle_Unpriv:
367        pop {r0}
368        svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle
369/*-----------------------------------------------------------*/
370
371    PUBLIC MPU_xTaskGetSchedulerState
372MPU_xTaskGetSchedulerState:
373    push {r0}
374    mrs r0, control
375    tst r0, #1
376    bne MPU_xTaskGetSchedulerState_Unpriv
377    MPU_xTaskGetSchedulerState_Priv:
378        pop {r0}
379        b MPU_xTaskGetSchedulerStateImpl
380    MPU_xTaskGetSchedulerState_Unpriv:
381        pop {r0}
382        svc #SYSTEM_CALL_xTaskGetSchedulerState
383/*-----------------------------------------------------------*/
384
385    PUBLIC MPU_vTaskSetTimeOutState
386MPU_vTaskSetTimeOutState:
387    push {r0}
388    mrs r0, control
389    tst r0, #1
390    bne MPU_vTaskSetTimeOutState_Unpriv
391    MPU_vTaskSetTimeOutState_Priv:
392        pop {r0}
393        b MPU_vTaskSetTimeOutStateImpl
394    MPU_vTaskSetTimeOutState_Unpriv:
395        pop {r0}
396        svc #SYSTEM_CALL_vTaskSetTimeOutState
397/*-----------------------------------------------------------*/
398
399    PUBLIC MPU_xTaskCheckForTimeOut
400MPU_xTaskCheckForTimeOut:
401    push {r0}
402    mrs r0, control
403    tst r0, #1
404    bne MPU_xTaskCheckForTimeOut_Unpriv
405    MPU_xTaskCheckForTimeOut_Priv:
406        pop {r0}
407        b MPU_xTaskCheckForTimeOutImpl
408    MPU_xTaskCheckForTimeOut_Unpriv:
409        pop {r0}
410        svc #SYSTEM_CALL_xTaskCheckForTimeOut
411/*-----------------------------------------------------------*/
412
413    PUBLIC MPU_xTaskGenericNotifyEntry
414MPU_xTaskGenericNotifyEntry:
415    push {r0}
416    mrs r0, control
417    tst r0, #1
418    bne MPU_xTaskGenericNotify_Unpriv
419    MPU_xTaskGenericNotify_Priv:
420        pop {r0}
421        b MPU_xTaskGenericNotifyImpl
422    MPU_xTaskGenericNotify_Unpriv:
423        pop {r0}
424        svc #SYSTEM_CALL_xTaskGenericNotify
425/*-----------------------------------------------------------*/
426
427    PUBLIC MPU_xTaskGenericNotifyWaitEntry
428MPU_xTaskGenericNotifyWaitEntry:
429    push {r0}
430    mrs r0, control
431    tst r0, #1
432    bne MPU_xTaskGenericNotifyWait_Unpriv
433    MPU_xTaskGenericNotifyWait_Priv:
434        pop {r0}
435        b MPU_xTaskGenericNotifyWaitImpl
436    MPU_xTaskGenericNotifyWait_Unpriv:
437        pop {r0}
438        svc #SYSTEM_CALL_xTaskGenericNotifyWait
439/*-----------------------------------------------------------*/
440
441    PUBLIC MPU_ulTaskGenericNotifyTake
442MPU_ulTaskGenericNotifyTake:
443    push {r0}
444    mrs r0, control
445    tst r0, #1
446    bne MPU_ulTaskGenericNotifyTake_Unpriv
447    MPU_ulTaskGenericNotifyTake_Priv:
448        pop {r0}
449        b MPU_ulTaskGenericNotifyTakeImpl
450    MPU_ulTaskGenericNotifyTake_Unpriv:
451        pop {r0}
452        svc #SYSTEM_CALL_ulTaskGenericNotifyTake
453/*-----------------------------------------------------------*/
454
455    PUBLIC MPU_xTaskGenericNotifyStateClear
456MPU_xTaskGenericNotifyStateClear:
457    push {r0}
458    mrs r0, control
459    tst r0, #1
460    bne MPU_xTaskGenericNotifyStateClear_Unpriv
461    MPU_xTaskGenericNotifyStateClear_Priv:
462        pop {r0}
463        b MPU_xTaskGenericNotifyStateClearImpl
464    MPU_xTaskGenericNotifyStateClear_Unpriv:
465        pop {r0}
466        svc #SYSTEM_CALL_xTaskGenericNotifyStateClear
467/*-----------------------------------------------------------*/
468
469    PUBLIC MPU_ulTaskGenericNotifyValueClear
470MPU_ulTaskGenericNotifyValueClear:
471    push {r0}
472    mrs r0, control
473    tst r0, #1
474    bne MPU_ulTaskGenericNotifyValueClear_Unpriv
475    MPU_ulTaskGenericNotifyValueClear_Priv:
476        pop {r0}
477        b MPU_ulTaskGenericNotifyValueClearImpl
478    MPU_ulTaskGenericNotifyValueClear_Unpriv:
479        pop {r0}
480        svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear
481/*-----------------------------------------------------------*/
482
483    PUBLIC MPU_xQueueGenericSend
484MPU_xQueueGenericSend:
485    push {r0}
486    mrs r0, control
487    tst r0, #1
488    bne MPU_xQueueGenericSend_Unpriv
489    MPU_xQueueGenericSend_Priv:
490        pop {r0}
491        b MPU_xQueueGenericSendImpl
492    MPU_xQueueGenericSend_Unpriv:
493        pop {r0}
494        svc #SYSTEM_CALL_xQueueGenericSend
495/*-----------------------------------------------------------*/
496
497    PUBLIC MPU_uxQueueMessagesWaiting
498MPU_uxQueueMessagesWaiting:
499    push {r0}
500    mrs r0, control
501    tst r0, #1
502    bne MPU_uxQueueMessagesWaiting_Unpriv
503    MPU_uxQueueMessagesWaiting_Priv:
504        pop {r0}
505        b MPU_uxQueueMessagesWaitingImpl
506    MPU_uxQueueMessagesWaiting_Unpriv:
507        pop {r0}
508        svc #SYSTEM_CALL_uxQueueMessagesWaiting
509/*-----------------------------------------------------------*/
510
511    PUBLIC MPU_uxQueueSpacesAvailable
512MPU_uxQueueSpacesAvailable:
513    push {r0}
514    mrs r0, control
515    tst r0, #1
516    bne MPU_uxQueueSpacesAvailable_Unpriv
517    MPU_uxQueueSpacesAvailable_Priv:
518        pop {r0}
519        b MPU_uxQueueSpacesAvailableImpl
520    MPU_uxQueueSpacesAvailable_Unpriv:
521        pop {r0}
522        svc #SYSTEM_CALL_uxQueueSpacesAvailable
523/*-----------------------------------------------------------*/
524
525    PUBLIC MPU_xQueueReceive
526MPU_xQueueReceive:
527    push {r0}
528    mrs r0, control
529    tst r0, #1
530    bne MPU_xQueueReceive_Unpriv
531    MPU_xQueueReceive_Priv:
532        pop {r0}
533        b MPU_xQueueReceiveImpl
534    MPU_xQueueReceive_Unpriv:
535        pop {r0}
536        svc #SYSTEM_CALL_xQueueReceive
537/*-----------------------------------------------------------*/
538
539    PUBLIC MPU_xQueuePeek
540MPU_xQueuePeek:
541    push {r0}
542    mrs r0, control
543    tst r0, #1
544    bne MPU_xQueuePeek_Unpriv
545    MPU_xQueuePeek_Priv:
546        pop {r0}
547        b MPU_xQueuePeekImpl
548    MPU_xQueuePeek_Unpriv:
549        pop {r0}
550        svc #SYSTEM_CALL_xQueuePeek
551/*-----------------------------------------------------------*/
552
553    PUBLIC MPU_xQueueSemaphoreTake
554MPU_xQueueSemaphoreTake:
555    push {r0}
556    mrs r0, control
557    tst r0, #1
558    bne MPU_xQueueSemaphoreTake_Unpriv
559    MPU_xQueueSemaphoreTake_Priv:
560        pop {r0}
561        b MPU_xQueueSemaphoreTakeImpl
562    MPU_xQueueSemaphoreTake_Unpriv:
563        pop {r0}
564        svc #SYSTEM_CALL_xQueueSemaphoreTake
565/*-----------------------------------------------------------*/
566
567    PUBLIC MPU_xQueueGetMutexHolder
568MPU_xQueueGetMutexHolder:
569    push {r0}
570    mrs r0, control
571    tst r0, #1
572    bne MPU_xQueueGetMutexHolder_Unpriv
573    MPU_xQueueGetMutexHolder_Priv:
574        pop {r0}
575        b MPU_xQueueGetMutexHolderImpl
576    MPU_xQueueGetMutexHolder_Unpriv:
577        pop {r0}
578        svc #SYSTEM_CALL_xQueueGetMutexHolder
579/*-----------------------------------------------------------*/
580
581    PUBLIC MPU_xQueueTakeMutexRecursive
582MPU_xQueueTakeMutexRecursive:
583    push {r0}
584    mrs r0, control
585    tst r0, #1
586    bne MPU_xQueueTakeMutexRecursive_Unpriv
587    MPU_xQueueTakeMutexRecursive_Priv:
588        pop {r0}
589        b MPU_xQueueTakeMutexRecursiveImpl
590    MPU_xQueueTakeMutexRecursive_Unpriv:
591        pop {r0}
592        svc #SYSTEM_CALL_xQueueTakeMutexRecursive
593/*-----------------------------------------------------------*/
594
595    PUBLIC MPU_xQueueGiveMutexRecursive
596MPU_xQueueGiveMutexRecursive:
597    push {r0}
598    mrs r0, control
599    tst r0, #1
600    bne MPU_xQueueGiveMutexRecursive_Unpriv
601    MPU_xQueueGiveMutexRecursive_Priv:
602        pop {r0}
603        b MPU_xQueueGiveMutexRecursiveImpl
604    MPU_xQueueGiveMutexRecursive_Unpriv:
605        pop {r0}
606        svc #SYSTEM_CALL_xQueueGiveMutexRecursive
607/*-----------------------------------------------------------*/
608
609    PUBLIC MPU_xQueueSelectFromSet
610MPU_xQueueSelectFromSet:
611    push {r0}
612    mrs r0, control
613    tst r0, #1
614    bne MPU_xQueueSelectFromSet_Unpriv
615    MPU_xQueueSelectFromSet_Priv:
616        pop {r0}
617        b MPU_xQueueSelectFromSetImpl
618    MPU_xQueueSelectFromSet_Unpriv:
619        pop {r0}
620        svc #SYSTEM_CALL_xQueueSelectFromSet
621/*-----------------------------------------------------------*/
622
623    PUBLIC MPU_xQueueAddToSet
624MPU_xQueueAddToSet:
625    push {r0}
626    mrs r0, control
627    tst r0, #1
628    bne MPU_xQueueAddToSet_Unpriv
629    MPU_xQueueAddToSet_Priv:
630        pop {r0}
631        b MPU_xQueueAddToSetImpl
632    MPU_xQueueAddToSet_Unpriv:
633        pop {r0}
634        svc #SYSTEM_CALL_xQueueAddToSet
635/*-----------------------------------------------------------*/
636
637    PUBLIC MPU_vQueueAddToRegistry
638MPU_vQueueAddToRegistry:
639    push {r0}
640    mrs r0, control
641    tst r0, #1
642    bne MPU_vQueueAddToRegistry_Unpriv
643    MPU_vQueueAddToRegistry_Priv:
644        pop {r0}
645        b MPU_vQueueAddToRegistryImpl
646    MPU_vQueueAddToRegistry_Unpriv:
647        pop {r0}
648        svc #SYSTEM_CALL_vQueueAddToRegistry
649/*-----------------------------------------------------------*/
650
651    PUBLIC MPU_vQueueUnregisterQueue
652MPU_vQueueUnregisterQueue:
653    push {r0}
654    mrs r0, control
655    tst r0, #1
656    bne MPU_vQueueUnregisterQueue_Unpriv
657    MPU_vQueueUnregisterQueue_Priv:
658        pop {r0}
659        b MPU_vQueueUnregisterQueueImpl
660    MPU_vQueueUnregisterQueue_Unpriv:
661        pop {r0}
662        svc #SYSTEM_CALL_vQueueUnregisterQueue
663/*-----------------------------------------------------------*/
664
665    PUBLIC MPU_pcQueueGetName
666MPU_pcQueueGetName:
667    push {r0}
668    mrs r0, control
669    tst r0, #1
670    bne MPU_pcQueueGetName_Unpriv
671    MPU_pcQueueGetName_Priv:
672        pop {r0}
673        b MPU_pcQueueGetNameImpl
674    MPU_pcQueueGetName_Unpriv:
675        pop {r0}
676        svc #SYSTEM_CALL_pcQueueGetName
677/*-----------------------------------------------------------*/
678
679    PUBLIC MPU_pvTimerGetTimerID
680MPU_pvTimerGetTimerID:
681    push {r0}
682    mrs r0, control
683    tst r0, #1
684    bne MPU_pvTimerGetTimerID_Unpriv
685    MPU_pvTimerGetTimerID_Priv:
686        pop {r0}
687        b MPU_pvTimerGetTimerIDImpl
688    MPU_pvTimerGetTimerID_Unpriv:
689        pop {r0}
690        svc #SYSTEM_CALL_pvTimerGetTimerID
691/*-----------------------------------------------------------*/
692
693    PUBLIC MPU_vTimerSetTimerID
694MPU_vTimerSetTimerID:
695    push {r0}
696    mrs r0, control
697    tst r0, #1
698    bne MPU_vTimerSetTimerID_Unpriv
699    MPU_vTimerSetTimerID_Priv:
700        pop {r0}
701        b MPU_vTimerSetTimerIDImpl
702    MPU_vTimerSetTimerID_Unpriv:
703        pop {r0}
704        svc #SYSTEM_CALL_vTimerSetTimerID
705/*-----------------------------------------------------------*/
706
707    PUBLIC MPU_xTimerIsTimerActive
708MPU_xTimerIsTimerActive:
709    push {r0}
710    mrs r0, control
711    tst r0, #1
712    bne MPU_xTimerIsTimerActive_Unpriv
713    MPU_xTimerIsTimerActive_Priv:
714        pop {r0}
715        b MPU_xTimerIsTimerActiveImpl
716    MPU_xTimerIsTimerActive_Unpriv:
717        pop {r0}
718        svc #SYSTEM_CALL_xTimerIsTimerActive
719/*-----------------------------------------------------------*/
720
721    PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
722MPU_xTimerGetTimerDaemonTaskHandle:
723    push {r0}
724    mrs r0, control
725    tst r0, #1
726    bne MPU_xTimerGetTimerDaemonTaskHandle_Unpriv
727    MPU_xTimerGetTimerDaemonTaskHandle_Priv:
728        pop {r0}
729        b MPU_xTimerGetTimerDaemonTaskHandleImpl
730    MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
731        pop {r0}
732        svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle
733/*-----------------------------------------------------------*/
734
735    PUBLIC MPU_xTimerGenericCommandFromTaskEntry
736MPU_xTimerGenericCommandFromTaskEntry:
737    push {r0}
738    mrs r0, control
739    tst r0, #1
740    bne MPU_xTimerGenericCommandFromTask_Unpriv
741    MPU_xTimerGenericCommandFromTask_Priv:
742        pop {r0}
743        b MPU_xTimerGenericCommandFromTaskImpl
744    MPU_xTimerGenericCommandFromTask_Unpriv:
745        pop {r0}
746        svc #SYSTEM_CALL_xTimerGenericCommandFromTask
747/*-----------------------------------------------------------*/
748
749    PUBLIC MPU_pcTimerGetName
750MPU_pcTimerGetName:
751    push {r0}
752    mrs r0, control
753    tst r0, #1
754    bne MPU_pcTimerGetName_Unpriv
755    MPU_pcTimerGetName_Priv:
756        pop {r0}
757        b MPU_pcTimerGetNameImpl
758    MPU_pcTimerGetName_Unpriv:
759        pop {r0}
760        svc #SYSTEM_CALL_pcTimerGetName
761/*-----------------------------------------------------------*/
762
763    PUBLIC MPU_vTimerSetReloadMode
764MPU_vTimerSetReloadMode:
765    push {r0}
766    mrs r0, control
767    tst r0, #1
768    bne MPU_vTimerSetReloadMode_Unpriv
769    MPU_vTimerSetReloadMode_Priv:
770        pop {r0}
771        b MPU_vTimerSetReloadModeImpl
772    MPU_vTimerSetReloadMode_Unpriv:
773        pop {r0}
774        svc #SYSTEM_CALL_vTimerSetReloadMode
775/*-----------------------------------------------------------*/
776
777    PUBLIC MPU_xTimerGetReloadMode
778MPU_xTimerGetReloadMode:
779    push {r0}
780    mrs r0, control
781    tst r0, #1
782    bne MPU_xTimerGetReloadMode_Unpriv
783    MPU_xTimerGetReloadMode_Priv:
784        pop {r0}
785        b MPU_xTimerGetReloadModeImpl
786    MPU_xTimerGetReloadMode_Unpriv:
787        pop {r0}
788        svc #SYSTEM_CALL_xTimerGetReloadMode
789/*-----------------------------------------------------------*/
790
791    PUBLIC MPU_uxTimerGetReloadMode
792MPU_uxTimerGetReloadMode:
793    push {r0}
794    mrs r0, control
795    tst r0, #1
796    bne MPU_uxTimerGetReloadMode_Unpriv
797    MPU_uxTimerGetReloadMode_Priv:
798        pop {r0}
799        b MPU_uxTimerGetReloadModeImpl
800    MPU_uxTimerGetReloadMode_Unpriv:
801        pop {r0}
802        svc #SYSTEM_CALL_uxTimerGetReloadMode
803/*-----------------------------------------------------------*/
804
805    PUBLIC MPU_xTimerGetPeriod
806MPU_xTimerGetPeriod:
807    push {r0}
808    mrs r0, control
809    tst r0, #1
810    bne MPU_xTimerGetPeriod_Unpriv
811    MPU_xTimerGetPeriod_Priv:
812        pop {r0}
813        b MPU_xTimerGetPeriodImpl
814    MPU_xTimerGetPeriod_Unpriv:
815        pop {r0}
816        svc #SYSTEM_CALL_xTimerGetPeriod
817/*-----------------------------------------------------------*/
818
819    PUBLIC MPU_xTimerGetExpiryTime
820MPU_xTimerGetExpiryTime:
821    push {r0}
822    mrs r0, control
823    tst r0, #1
824    bne MPU_xTimerGetExpiryTime_Unpriv
825    MPU_xTimerGetExpiryTime_Priv:
826        pop {r0}
827        b MPU_xTimerGetExpiryTimeImpl
828    MPU_xTimerGetExpiryTime_Unpriv:
829        pop {r0}
830        svc #SYSTEM_CALL_xTimerGetExpiryTime
831/*-----------------------------------------------------------*/
832
833    PUBLIC MPU_xEventGroupWaitBitsEntry
834MPU_xEventGroupWaitBitsEntry:
835    push {r0}
836    mrs r0, control
837    tst r0, #1
838    bne MPU_xEventGroupWaitBits_Unpriv
839    MPU_xEventGroupWaitBits_Priv:
840        pop {r0}
841        b MPU_xEventGroupWaitBitsImpl
842    MPU_xEventGroupWaitBits_Unpriv:
843        pop {r0}
844        svc #SYSTEM_CALL_xEventGroupWaitBits
845/*-----------------------------------------------------------*/
846
847    PUBLIC MPU_xEventGroupClearBits
848MPU_xEventGroupClearBits:
849    push {r0}
850    mrs r0, control
851    tst r0, #1
852    bne MPU_xEventGroupClearBits_Unpriv
853    MPU_xEventGroupClearBits_Priv:
854        pop {r0}
855        b MPU_xEventGroupClearBitsImpl
856    MPU_xEventGroupClearBits_Unpriv:
857        pop {r0}
858        svc #SYSTEM_CALL_xEventGroupClearBits
859/*-----------------------------------------------------------*/
860
861    PUBLIC MPU_xEventGroupSetBits
862MPU_xEventGroupSetBits:
863    push {r0}
864    mrs r0, control
865    tst r0, #1
866    bne MPU_xEventGroupSetBits_Unpriv
867    MPU_xEventGroupSetBits_Priv:
868        pop {r0}
869        b MPU_xEventGroupSetBitsImpl
870    MPU_xEventGroupSetBits_Unpriv:
871        pop {r0}
872        svc #SYSTEM_CALL_xEventGroupSetBits
873/*-----------------------------------------------------------*/
874
875    PUBLIC MPU_xEventGroupSync
876MPU_xEventGroupSync:
877    push {r0}
878    mrs r0, control
879    tst r0, #1
880    bne MPU_xEventGroupSync_Unpriv
881    MPU_xEventGroupSync_Priv:
882        pop {r0}
883        b MPU_xEventGroupSyncImpl
884    MPU_xEventGroupSync_Unpriv:
885        pop {r0}
886        svc #SYSTEM_CALL_xEventGroupSync
887/*-----------------------------------------------------------*/
888
889    PUBLIC MPU_uxEventGroupGetNumber
890MPU_uxEventGroupGetNumber:
891    push {r0}
892    mrs r0, control
893    tst r0, #1
894    bne MPU_uxEventGroupGetNumber_Unpriv
895    MPU_uxEventGroupGetNumber_Priv:
896        pop {r0}
897        b MPU_uxEventGroupGetNumberImpl
898    MPU_uxEventGroupGetNumber_Unpriv:
899        pop {r0}
900        svc #SYSTEM_CALL_uxEventGroupGetNumber
901/*-----------------------------------------------------------*/
902
903    PUBLIC MPU_vEventGroupSetNumber
904MPU_vEventGroupSetNumber:
905    push {r0}
906    mrs r0, control
907    tst r0, #1
908    bne MPU_vEventGroupSetNumber_Unpriv
909    MPU_vEventGroupSetNumber_Priv:
910        pop {r0}
911        b MPU_vEventGroupSetNumberImpl
912    MPU_vEventGroupSetNumber_Unpriv:
913        pop {r0}
914        svc #SYSTEM_CALL_vEventGroupSetNumber
915/*-----------------------------------------------------------*/
916
917    PUBLIC MPU_xStreamBufferSend
918MPU_xStreamBufferSend:
919    push {r0}
920    mrs r0, control
921    tst r0, #1
922    bne MPU_xStreamBufferSend_Unpriv
923    MPU_xStreamBufferSend_Priv:
924        pop {r0}
925        b MPU_xStreamBufferSendImpl
926    MPU_xStreamBufferSend_Unpriv:
927        pop {r0}
928        svc #SYSTEM_CALL_xStreamBufferSend
929/*-----------------------------------------------------------*/
930
931    PUBLIC MPU_xStreamBufferReceive
932MPU_xStreamBufferReceive:
933    push {r0}
934    mrs r0, control
935    tst r0, #1
936    bne MPU_xStreamBufferReceive_Unpriv
937    MPU_xStreamBufferReceive_Priv:
938        pop {r0}
939        b MPU_xStreamBufferReceiveImpl
940    MPU_xStreamBufferReceive_Unpriv:
941        pop {r0}
942        svc #SYSTEM_CALL_xStreamBufferReceive
943/*-----------------------------------------------------------*/
944
945    PUBLIC MPU_xStreamBufferIsFull
946MPU_xStreamBufferIsFull:
947    push {r0}
948    mrs r0, control
949    tst r0, #1
950    bne MPU_xStreamBufferIsFull_Unpriv
951    MPU_xStreamBufferIsFull_Priv:
952        pop {r0}
953        b MPU_xStreamBufferIsFullImpl
954    MPU_xStreamBufferIsFull_Unpriv:
955        pop {r0}
956        svc #SYSTEM_CALL_xStreamBufferIsFull
957/*-----------------------------------------------------------*/
958
959    PUBLIC MPU_xStreamBufferIsEmpty
960MPU_xStreamBufferIsEmpty:
961    push {r0}
962    mrs r0, control
963    tst r0, #1
964    bne MPU_xStreamBufferIsEmpty_Unpriv
965    MPU_xStreamBufferIsEmpty_Priv:
966        pop {r0}
967        b MPU_xStreamBufferIsEmptyImpl
968    MPU_xStreamBufferIsEmpty_Unpriv:
969        pop {r0}
970        svc #SYSTEM_CALL_xStreamBufferIsEmpty
971/*-----------------------------------------------------------*/
972
973    PUBLIC MPU_xStreamBufferSpacesAvailable
974MPU_xStreamBufferSpacesAvailable:
975    push {r0}
976    mrs r0, control
977    tst r0, #1
978    bne MPU_xStreamBufferSpacesAvailable_Unpriv
979    MPU_xStreamBufferSpacesAvailable_Priv:
980        pop {r0}
981        b MPU_xStreamBufferSpacesAvailableImpl
982    MPU_xStreamBufferSpacesAvailable_Unpriv:
983        pop {r0}
984        svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
985/*-----------------------------------------------------------*/
986
987    PUBLIC MPU_xStreamBufferBytesAvailable
988MPU_xStreamBufferBytesAvailable:
989    push {r0}
990    mrs r0, control
991    tst r0, #1
992    bne MPU_xStreamBufferBytesAvailable_Unpriv
993    MPU_xStreamBufferBytesAvailable_Priv:
994        pop {r0}
995        b MPU_xStreamBufferBytesAvailableImpl
996    MPU_xStreamBufferBytesAvailable_Unpriv:
997        pop {r0}
998        svc #SYSTEM_CALL_xStreamBufferBytesAvailable
999/*-----------------------------------------------------------*/
1000
1001    PUBLIC MPU_xStreamBufferSetTriggerLevel
1002MPU_xStreamBufferSetTriggerLevel:
1003    push {r0}
1004    mrs r0, control
1005    tst r0, #1
1006    bne MPU_xStreamBufferSetTriggerLevel_Unpriv
1007    MPU_xStreamBufferSetTriggerLevel_Priv:
1008        pop {r0}
1009        b MPU_xStreamBufferSetTriggerLevelImpl
1010    MPU_xStreamBufferSetTriggerLevel_Unpriv:
1011        pop {r0}
1012        svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
1013/*-----------------------------------------------------------*/
1014
1015    PUBLIC MPU_xStreamBufferNextMessageLengthBytes
1016MPU_xStreamBufferNextMessageLengthBytes:
1017    push {r0}
1018    mrs r0, control
1019    tst r0, #1
1020    bne MPU_xStreamBufferNextMessageLengthBytes_Unpriv
1021    MPU_xStreamBufferNextMessageLengthBytes_Priv:
1022        pop {r0}
1023        b MPU_xStreamBufferNextMessageLengthBytesImpl
1024    MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
1025        pop {r0}
1026        svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
1027/*-----------------------------------------------------------*/
1028
1029/* Default weak implementations in case one is not available from
1030 * mpu_wrappers because of config options. */
1031
1032    PUBWEAK MPU_xTaskDelayUntilImpl
1033MPU_xTaskDelayUntilImpl:
1034    b MPU_xTaskDelayUntilImpl
1035
1036    PUBWEAK MPU_xTaskAbortDelayImpl
1037MPU_xTaskAbortDelayImpl:
1038    b MPU_xTaskAbortDelayImpl
1039
1040    PUBWEAK MPU_vTaskDelayImpl
1041MPU_vTaskDelayImpl:
1042    b MPU_vTaskDelayImpl
1043
1044    PUBWEAK MPU_uxTaskPriorityGetImpl
1045MPU_uxTaskPriorityGetImpl:
1046    b MPU_uxTaskPriorityGetImpl
1047
1048    PUBWEAK MPU_eTaskGetStateImpl
1049MPU_eTaskGetStateImpl:
1050    b MPU_eTaskGetStateImpl
1051
1052    PUBWEAK MPU_vTaskGetInfoImpl
1053MPU_vTaskGetInfoImpl:
1054    b MPU_vTaskGetInfoImpl
1055
1056    PUBWEAK MPU_xTaskGetIdleTaskHandleImpl
1057MPU_xTaskGetIdleTaskHandleImpl:
1058    b MPU_xTaskGetIdleTaskHandleImpl
1059
1060    PUBWEAK MPU_vTaskSuspendImpl
1061MPU_vTaskSuspendImpl:
1062    b MPU_vTaskSuspendImpl
1063
1064    PUBWEAK MPU_vTaskResumeImpl
1065MPU_vTaskResumeImpl:
1066    b MPU_vTaskResumeImpl
1067
1068    PUBWEAK MPU_xTaskGetTickCountImpl
1069MPU_xTaskGetTickCountImpl:
1070    b MPU_xTaskGetTickCountImpl
1071
1072    PUBWEAK MPU_uxTaskGetNumberOfTasksImpl
1073MPU_uxTaskGetNumberOfTasksImpl:
1074    b MPU_uxTaskGetNumberOfTasksImpl
1075
1076    PUBWEAK MPU_ulTaskGetRunTimeCounterImpl
1077MPU_ulTaskGetRunTimeCounterImpl:
1078    b MPU_ulTaskGetRunTimeCounterImpl
1079
1080    PUBWEAK MPU_ulTaskGetRunTimePercentImpl
1081MPU_ulTaskGetRunTimePercentImpl:
1082    b MPU_ulTaskGetRunTimePercentImpl
1083
1084    PUBWEAK MPU_ulTaskGetIdleRunTimePercentImpl
1085MPU_ulTaskGetIdleRunTimePercentImpl:
1086    b MPU_ulTaskGetIdleRunTimePercentImpl
1087
1088    PUBWEAK MPU_ulTaskGetIdleRunTimeCounterImpl
1089MPU_ulTaskGetIdleRunTimeCounterImpl:
1090    b MPU_ulTaskGetIdleRunTimeCounterImpl
1091
1092    PUBWEAK MPU_vTaskSetApplicationTaskTagImpl
1093MPU_vTaskSetApplicationTaskTagImpl:
1094    b MPU_vTaskSetApplicationTaskTagImpl
1095
1096    PUBWEAK MPU_xTaskGetApplicationTaskTagImpl
1097MPU_xTaskGetApplicationTaskTagImpl:
1098    b MPU_xTaskGetApplicationTaskTagImpl
1099
1100    PUBWEAK MPU_vTaskSetThreadLocalStoragePointerImpl
1101MPU_vTaskSetThreadLocalStoragePointerImpl:
1102    b MPU_vTaskSetThreadLocalStoragePointerImpl
1103
1104    PUBWEAK MPU_pvTaskGetThreadLocalStoragePointerImpl
1105MPU_pvTaskGetThreadLocalStoragePointerImpl:
1106    b MPU_pvTaskGetThreadLocalStoragePointerImpl
1107
1108    PUBWEAK MPU_uxTaskGetSystemStateImpl
1109MPU_uxTaskGetSystemStateImpl:
1110    b MPU_uxTaskGetSystemStateImpl
1111
1112    PUBWEAK MPU_uxTaskGetStackHighWaterMarkImpl
1113MPU_uxTaskGetStackHighWaterMarkImpl:
1114    b MPU_uxTaskGetStackHighWaterMarkImpl
1115
1116    PUBWEAK MPU_uxTaskGetStackHighWaterMark2Impl
1117MPU_uxTaskGetStackHighWaterMark2Impl:
1118    b MPU_uxTaskGetStackHighWaterMark2Impl
1119
1120    PUBWEAK MPU_xTaskGetCurrentTaskHandleImpl
1121MPU_xTaskGetCurrentTaskHandleImpl:
1122    b MPU_xTaskGetCurrentTaskHandleImpl
1123
1124    PUBWEAK MPU_xTaskGetSchedulerStateImpl
1125MPU_xTaskGetSchedulerStateImpl:
1126    b MPU_xTaskGetSchedulerStateImpl
1127
1128    PUBWEAK MPU_vTaskSetTimeOutStateImpl
1129MPU_vTaskSetTimeOutStateImpl:
1130    b MPU_vTaskSetTimeOutStateImpl
1131
1132    PUBWEAK MPU_xTaskCheckForTimeOutImpl
1133MPU_xTaskCheckForTimeOutImpl:
1134    b MPU_xTaskCheckForTimeOutImpl
1135
1136    PUBWEAK MPU_xTaskGenericNotifyImpl
1137MPU_xTaskGenericNotifyImpl:
1138    b MPU_xTaskGenericNotifyImpl
1139
1140    PUBWEAK MPU_xTaskGenericNotifyWaitImpl
1141MPU_xTaskGenericNotifyWaitImpl:
1142    b MPU_xTaskGenericNotifyWaitImpl
1143
1144    PUBWEAK MPU_ulTaskGenericNotifyTakeImpl
1145MPU_ulTaskGenericNotifyTakeImpl:
1146    b MPU_ulTaskGenericNotifyTakeImpl
1147
1148    PUBWEAK MPU_xTaskGenericNotifyStateClearImpl
1149MPU_xTaskGenericNotifyStateClearImpl:
1150    b MPU_xTaskGenericNotifyStateClearImpl
1151
1152    PUBWEAK MPU_ulTaskGenericNotifyValueClearImpl
1153MPU_ulTaskGenericNotifyValueClearImpl:
1154    b MPU_ulTaskGenericNotifyValueClearImpl
1155
1156    PUBWEAK MPU_xQueueGenericSendImpl
1157MPU_xQueueGenericSendImpl:
1158    b MPU_xQueueGenericSendImpl
1159
1160    PUBWEAK MPU_uxQueueMessagesWaitingImpl
1161MPU_uxQueueMessagesWaitingImpl:
1162    b MPU_uxQueueMessagesWaitingImpl
1163
1164    PUBWEAK MPU_uxQueueSpacesAvailableImpl
1165MPU_uxQueueSpacesAvailableImpl:
1166    b MPU_uxQueueSpacesAvailableImpl
1167
1168    PUBWEAK MPU_xQueueReceiveImpl
1169MPU_xQueueReceiveImpl:
1170    b MPU_xQueueReceiveImpl
1171
1172    PUBWEAK MPU_xQueuePeekImpl
1173MPU_xQueuePeekImpl:
1174    b MPU_xQueuePeekImpl
1175
1176    PUBWEAK MPU_xQueueSemaphoreTakeImpl
1177MPU_xQueueSemaphoreTakeImpl:
1178    b MPU_xQueueSemaphoreTakeImpl
1179
1180    PUBWEAK MPU_xQueueGetMutexHolderImpl
1181MPU_xQueueGetMutexHolderImpl:
1182    b MPU_xQueueGetMutexHolderImpl
1183
1184    PUBWEAK MPU_xQueueTakeMutexRecursiveImpl
1185MPU_xQueueTakeMutexRecursiveImpl:
1186    b MPU_xQueueTakeMutexRecursiveImpl
1187
1188    PUBWEAK MPU_xQueueGiveMutexRecursiveImpl
1189MPU_xQueueGiveMutexRecursiveImpl:
1190    b MPU_xQueueGiveMutexRecursiveImpl
1191
1192    PUBWEAK MPU_xQueueSelectFromSetImpl
1193MPU_xQueueSelectFromSetImpl:
1194    b MPU_xQueueSelectFromSetImpl
1195
1196    PUBWEAK MPU_xQueueAddToSetImpl
1197MPU_xQueueAddToSetImpl:
1198    b MPU_xQueueAddToSetImpl
1199
1200    PUBWEAK MPU_vQueueAddToRegistryImpl
1201MPU_vQueueAddToRegistryImpl:
1202    b MPU_vQueueAddToRegistryImpl
1203
1204    PUBWEAK MPU_vQueueUnregisterQueueImpl
1205MPU_vQueueUnregisterQueueImpl:
1206    b MPU_vQueueUnregisterQueueImpl
1207
1208    PUBWEAK MPU_pcQueueGetNameImpl
1209MPU_pcQueueGetNameImpl:
1210    b MPU_pcQueueGetNameImpl
1211
1212    PUBWEAK MPU_pvTimerGetTimerIDImpl
1213MPU_pvTimerGetTimerIDImpl:
1214    b MPU_pvTimerGetTimerIDImpl
1215
1216    PUBWEAK MPU_vTimerSetTimerIDImpl
1217MPU_vTimerSetTimerIDImpl:
1218    b MPU_vTimerSetTimerIDImpl
1219
1220    PUBWEAK MPU_xTimerIsTimerActiveImpl
1221MPU_xTimerIsTimerActiveImpl:
1222    b MPU_xTimerIsTimerActiveImpl
1223
1224    PUBWEAK MPU_xTimerGetTimerDaemonTaskHandleImpl
1225MPU_xTimerGetTimerDaemonTaskHandleImpl:
1226    b MPU_xTimerGetTimerDaemonTaskHandleImpl
1227
1228    PUBWEAK MPU_xTimerGenericCommandFromTaskImpl
1229MPU_xTimerGenericCommandFromTaskImpl:
1230    b MPU_xTimerGenericCommandFromTaskImpl
1231
1232    PUBWEAK MPU_pcTimerGetNameImpl
1233MPU_pcTimerGetNameImpl:
1234    b MPU_pcTimerGetNameImpl
1235
1236    PUBWEAK MPU_vTimerSetReloadModeImpl
1237MPU_vTimerSetReloadModeImpl:
1238    b MPU_vTimerSetReloadModeImpl
1239
1240    PUBWEAK MPU_xTimerGetReloadModeImpl
1241MPU_xTimerGetReloadModeImpl:
1242    b MPU_xTimerGetReloadModeImpl
1243
1244    PUBWEAK MPU_uxTimerGetReloadModeImpl
1245MPU_uxTimerGetReloadModeImpl:
1246    b MPU_uxTimerGetReloadModeImpl
1247
1248    PUBWEAK MPU_xTimerGetPeriodImpl
1249MPU_xTimerGetPeriodImpl:
1250    b MPU_xTimerGetPeriodImpl
1251
1252    PUBWEAK MPU_xTimerGetExpiryTimeImpl
1253MPU_xTimerGetExpiryTimeImpl:
1254    b MPU_xTimerGetExpiryTimeImpl
1255
1256    PUBWEAK MPU_xEventGroupWaitBitsImpl
1257MPU_xEventGroupWaitBitsImpl:
1258    b MPU_xEventGroupWaitBitsImpl
1259
1260    PUBWEAK MPU_xEventGroupClearBitsImpl
1261MPU_xEventGroupClearBitsImpl:
1262    b MPU_xEventGroupClearBitsImpl
1263
1264    PUBWEAK MPU_xEventGroupSetBitsImpl
1265MPU_xEventGroupSetBitsImpl:
1266    b MPU_xEventGroupSetBitsImpl
1267
1268    PUBWEAK MPU_xEventGroupSyncImpl
1269MPU_xEventGroupSyncImpl:
1270    b MPU_xEventGroupSyncImpl
1271
1272    PUBWEAK MPU_uxEventGroupGetNumberImpl
1273MPU_uxEventGroupGetNumberImpl:
1274    b MPU_uxEventGroupGetNumberImpl
1275
1276    PUBWEAK MPU_vEventGroupSetNumberImpl
1277MPU_vEventGroupSetNumberImpl:
1278    b MPU_vEventGroupSetNumberImpl
1279
1280    PUBWEAK MPU_xStreamBufferSendImpl
1281MPU_xStreamBufferSendImpl:
1282    b MPU_xStreamBufferSendImpl
1283
1284    PUBWEAK MPU_xStreamBufferReceiveImpl
1285MPU_xStreamBufferReceiveImpl:
1286    b MPU_xStreamBufferReceiveImpl
1287
1288    PUBWEAK MPU_xStreamBufferIsFullImpl
1289MPU_xStreamBufferIsFullImpl:
1290    b MPU_xStreamBufferIsFullImpl
1291
1292    PUBWEAK MPU_xStreamBufferIsEmptyImpl
1293MPU_xStreamBufferIsEmptyImpl:
1294    b MPU_xStreamBufferIsEmptyImpl
1295
1296    PUBWEAK MPU_xStreamBufferSpacesAvailableImpl
1297MPU_xStreamBufferSpacesAvailableImpl:
1298    b MPU_xStreamBufferSpacesAvailableImpl
1299
1300    PUBWEAK MPU_xStreamBufferBytesAvailableImpl
1301MPU_xStreamBufferBytesAvailableImpl:
1302    b MPU_xStreamBufferBytesAvailableImpl
1303
1304    PUBWEAK MPU_xStreamBufferSetTriggerLevelImpl
1305MPU_xStreamBufferSetTriggerLevelImpl:
1306    b MPU_xStreamBufferSetTriggerLevelImpl
1307
1308    PUBWEAK MPU_xStreamBufferNextMessageLengthBytesImpl
1309MPU_xStreamBufferNextMessageLengthBytesImpl:
1310    b MPU_xStreamBufferNextMessageLengthBytesImpl
1311
1312/*-----------------------------------------------------------*/
1313
1314#endif /* #if ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
1315
1316    END
1317