]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_A5_SAMA5D4x_EK_IAR/AtmelFiles/libchip_sama5d4x/tz/mon.h
Core kernel files:
[freertos] / FreeRTOS / Demo / CORTEX_A5_SAMA5D4x_EK_IAR / AtmelFiles / libchip_sama5d4x / tz / mon.h
1 /* ----------------------------------------------------------------------------\r
2  *         ATMEL Microcontroller Software Support\r
3  * ----------------------------------------------------------------------------\r
4  * Copyright (c) 2013, Atmel Corporation\r
5  * All rights reserved.\r
6  *\r
7  * Redistribution and use in source and binary forms, with or without\r
8  * modification, are permitted provided that the following conditions are met:\r
9  *\r
10  * - Redistributions of source code must retain the above copyright notice,\r
11  * this list of conditions and the disclaimer below.\r
12  *\r
13  * Atmel's name may not be used to endorse or promote products derived from\r
14  * this software without specific prior written permission.\r
15  *\r
16  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
19  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
20  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
21  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
22  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
23  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
24  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
25  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
26  */\r
27 #ifndef __MON_H__\r
28 #define __MON_H__\r
29 \r
30 \r
31 #if defined(__ICCARM__)\r
32   #include <intrinsics.h>\r
33 #endif\r
34    \r
35 typedef struct {\r
36   unsigned int Mode_SPSR;\r
37   unsigned int Mode_SP;\r
38   unsigned int Mode_LR;\r
39 } Mode_Regs;\r
40 \r
41 typedef struct\r
42 {\r
43     unsigned int        r4;\r
44     unsigned int        r5;\r
45     unsigned int        r6;\r
46     unsigned int        r7;\r
47     unsigned int        r8;\r
48     unsigned int        r9;\r
49     unsigned int        r10;\r
50     unsigned int        r11;\r
51     unsigned int        r12;\r
52     Mode_Regs           Mon;\r
53     Mode_Regs           Svc;\r
54     Mode_Regs           Fiq;\r
55     Mode_Regs           Irq;\r
56     \r
57 } WorldContext, *pWorldContext;\r
58    \r
59 \r
60 extern void monitor_init(void);\r
61 extern void SecureMonitor_init(void);\r
62 extern void nw_start(void);\r
63 extern void InitMonitor(void);\r
64 extern void SwitchToNormalWorld(void);\r
65 extern void SwitchToSecureWorld(void);\r
66 \r
67 #endif\r