]> begriffs open source - cmsis/blob - CMSIS/CoreValidation/Include/cmsis_cv.h
Doxygen: Added cross-reference from RTX5 hardware requirements to CMSIS-Core(A) IRQ...
[cmsis] / CMSIS / CoreValidation / Include / cmsis_cv.h
1 /*-----------------------------------------------------------------------------
2  *      Name:         cmsis_cv.h
3  *      Purpose:      cmsis_cv header
4  *----------------------------------------------------------------------------
5  *      Copyright (c) 2017 - 2018 Arm Limited. All rights reserved.
6  *----------------------------------------------------------------------------*/
7 #ifndef __CMSIS_CV_H
8 #define __CMSIS_CV_H
9
10 #include <stdint.h>
11 #include "CV_Config.h"
12
13 /* Expansion macro used to create CMSIS Driver references */
14 #define EXPAND_SYMBOL(name, port) name##port
15 #define CREATE_SYMBOL(name, port) EXPAND_SYMBOL(name, port)
16
17 // Simulator counter
18 #ifndef HW_PRESENT
19 extern uint32_t SIM_CYCCNT;
20 #endif
21
22 // SVC interrupt callback
23 extern void (*TST_IRQHandler)(void);
24
25 // Test main function
26 extern void cmsis_cv (void);
27
28 // Test cases
29 #if defined(RTE_CV_COREINSTR) && RTE_CV_COREINSTR
30   extern void TC_CoreInstr_NOP (void);
31   extern void TC_CoreInstr_SEV (void);
32   extern void TC_CoreInstr_BKPT (void);
33   extern void TC_CoreInstr_ISB (void);
34   extern void TC_CoreInstr_DSB (void);
35   extern void TC_CoreInstr_DMB (void);
36   extern void TC_CoreInstr_WFI (void);
37   extern void TC_CoreInstr_WFE (void);
38   extern void TC_CoreInstr_REV (void);
39   extern void TC_CoreInstr_REV16 (void);
40   extern void TC_CoreInstr_REVSH (void);
41   extern void TC_CoreInstr_ROR (void);
42   extern void TC_CoreInstr_RBIT (void);
43   extern void TC_CoreInstr_CLZ (void);
44   extern void TC_CoreInstr_SSAT (void);
45   extern void TC_CoreInstr_USAT (void);
46   extern void TC_CoreInstr_RRX (void);
47   extern void TC_CoreInstr_LoadStoreExclusive (void);
48   extern void TC_CoreInstr_LoadStoreUnpriv (void);
49   extern void TC_CoreInstr_LoadStoreAcquire (void);
50   extern void TC_CoreInstr_LoadStoreAcquireExclusive (void);
51   extern void TC_CoreInstr_UnalignedUint16 (void);
52   extern void TC_CoreInstr_UnalignedUint32 (void);
53 #endif
54
55 #if defined(RTE_CV_CORESIMD) && RTE_CV_CORESIMD
56   extern void TC_CoreSimd_SatAddSub (void);
57   extern void TC_CoreSimd_ParSat16 (void);
58   extern void TC_CoreSimd_PackUnpack (void);
59   extern void TC_CoreSimd_ParSel (void);
60   extern void TC_CoreSimd_ParAddSub8 (void);
61   extern void TC_CoreSimd_AbsDif8 (void);
62   extern void TC_CoreSimd_ParAddSub16 (void);
63   extern void TC_CoreSimd_ParMul16 (void);
64   extern void TC_CoreSimd_Pack16 (void);
65   extern void TC_CoreSimd_MulAcc32 (void);
66 #endif
67
68 #if defined(RTE_CV_COREFUNC) && RTE_CV_COREFUNC
69   #if defined(__CORTEX_M)
70     extern void TC_CoreFunc_EnDisIRQ (void);
71     extern void TC_CoreFunc_IRQPrio (void);
72     extern void TC_CoreFunc_EncDecIRQPrio (void);
73     extern void TC_CoreFunc_IRQVect (void);
74     extern void TC_CoreFunc_Control (void);
75     extern void TC_CoreFunc_IPSR (void);
76     extern void TC_CoreFunc_APSR (void);
77     extern void TC_CoreFunc_PSP (void);
78     extern void TC_CoreFunc_MSP (void);
79     extern void TC_CoreFunc_PSPLIM (void);
80     extern void TC_CoreFunc_PSPLIM_NS (void);
81     extern void TC_CoreFunc_MSPLIM (void);
82     extern void TC_CoreFunc_MSPLIM_NS (void);
83     extern void TC_CoreFunc_PRIMASK (void);
84     extern void TC_CoreFunc_FAULTMASK (void);
85     extern void TC_CoreFunc_BASEPRI (void);
86     extern void TC_CoreFunc_FPUType (void);
87     extern void TC_CoreFunc_FPSCR (void);
88
89   #elif defined(__CORTEX_A)
90     extern void TC_CoreAFunc_IRQ (void);
91     extern void TC_CoreAFunc_FPSCR (void);
92     extern void TC_CoreAFunc_CPSR (void);
93     extern void TC_CoreAFunc_Mode (void);
94     extern void TC_CoreAFunc_SP (void);
95     extern void TC_CoreAFunc_SP_usr (void);
96     extern void TC_CoreAFunc_FPEXC (void);
97     extern void TC_CoreAFunc_ACTLR (void);
98     extern void TC_CoreAFunc_CPACR (void);
99     extern void TC_CoreAFunc_DFSR (void);
100     extern void TC_CoreAFunc_IFSR (void);
101     extern void TC_CoreAFunc_ISR (void);
102     extern void TC_CoreAFunc_CBAR (void);
103     extern void TC_CoreAFunc_TTBR0 (void);
104     extern void TC_CoreAFunc_DACR (void);
105     extern void TC_CoreAFunc_SCTLR (void);
106     extern void TC_CoreAFunc_ACTRL (void);
107     extern void TC_CoreAFunc_MPIDR (void);
108     extern void TC_CoreAFunc_VBAR (void);
109     extern void TC_CoreAFunc_MVBAR (void);
110   #endif
111 #endif
112
113 #if defined(RTE_CV_MPUFUNC) && RTE_CV_MPUFUNC
114   #if defined(__MPU_PRESENT) && __MPU_PRESENT
115     extern void TC_MPU_SetClear (void);
116     extern void TC_MPU_Load (void);
117   #endif
118 #endif
119
120 #if defined(RTE_CV_GENTIMER) && RTE_CV_GENTIMER
121   extern void TC_GenTimer_CNTFRQ (void);
122   extern void TC_GenTimer_CNTP_TVAL (void);
123   extern void TC_GenTimer_CNTP_CTL (void);
124   extern void TC_GenTimer_CNTPCT(void);
125   extern void TC_GenTimer_CNTP_CVAL(void);
126 #endif
127
128 #if defined(RTE_CV_L1CACHE) && RTE_CV_L1CACHE
129   extern void TC_L1Cache_EnDisable(void);
130   extern void TC_L1Cache_EnDisableBTAC(void);
131   extern void TC_L1Cache_log2_up(void);
132   extern void TC_L1Cache_InvalidateDCacheAll(void);
133   extern void TC_L1Cache_CleanDCacheAll(void);
134   extern void TC_L1Cache_CleanInvalidateDCacheAll(void);
135 #endif
136
137 #endif /* __CMSIS_CV_H */