1 /*
2  * Copyright (c) 2020 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 /**
8  * Mocks the CMSIS dependency of the nRF MDK headers.
9  * And the bare minimum of required content.
10  * The proper CMSIS headers replacements are provided by the integrating program
11  * In the case of Zephyr, this is by the nrf52_bsim.
12  */
13 
14 #ifndef HW_MODELS_CORE_CM4_H
15 #define HW_MODELS_CORE_CM4_H
16 
17 #if defined(CONFIG_SOC_SERIES_BSIM_NRFXX) || defined(INTEGRATOR_PROVIDES_CMSIS)
18   /* The real core_cm4.h includes a very significant number of definitions
19    * and further CMSIS includes. Which may be needed by the integrating program.
20    * We provide this include as a means to allow the integrating to add those.
21    * */
22 #include "cmsis.h"
23 #endif
24 
25 #ifndef __I
26 #define __I
27 #endif
28 #ifndef __IO
29 #define __IO
30 #endif
31 #ifndef __O
32 #define __O
33 #endif
34 
35 /**
36  * The model of the CPU & IRQ controller driver must provide
37  * these function. These HW models do not provide them.
38  */
39 extern void __WFE(void);
40 
41 #ifndef __DSB
42 #define __DSB()
43 #endif
44 
45 #ifndef __ISB
46 #define __ISB()
47 #endif
48 
49 #endif /* HW_MODELS_CORE_CM4_H */
50