Merge branch 'sh/dwarf-unwinder'
[pandora-kernel.git] / arch / arm / mach-bcmring / include / csp / secHw.h
1 /*****************************************************************************
2 * Copyright 2004 - 2008 Broadcom Corporation.  All rights reserved.
3 *
4 * Unless you and Broadcom execute a separate written software license
5 * agreement governing use of this software, this software is licensed to you
6 * under the terms of the GNU General Public License version 2, available at
7 * http://www.broadcom.com/licenses/GPLv2.php (the "GPL").
8 *
9 * Notwithstanding the above, under no circumstances may you combine this
10 * software in any way with any other Broadcom software provided under a
11 * license other than the GPL, without Broadcom's express prior written
12 * consent.
13 *****************************************************************************/
14
15 /****************************************************************************/
16 /**
17 *  @file    secHw.h
18 *
19 *  @brief   Definitions for accessing low level security features
20 *
21 */
22 /****************************************************************************/
23 #ifndef SECHW_H
24 #define SECHW_H
25
26 typedef void (*secHw_FUNC_t) (void);
27
28 typedef enum {
29         secHw_MODE_SECURE = 0x0,        /* Switches processor into secure mode */
30         secHw_MODE_NONSECURE = 0x1      /* Switches processor into non-secure mode */
31 } secHw_MODE;
32
33 /****************************************************************************/
34 /**
35 *  @brief   Requesting to execute the function in secure mode
36 *
37 *  This function requests the given function to run in secure mode
38 *
39 */
40 /****************************************************************************/
41 void secHw_RunSecure(secHw_FUNC_t       /* Function to run in secure mode */
42     );
43
44 /****************************************************************************/
45 /**
46 *  @brief   Sets the  mode
47 *
48 *  his function sets the processor mode (secure/non-secure)
49 *
50 */
51 /****************************************************************************/
52 void secHw_SetMode(secHw_MODE   /* Processor mode */
53     );
54
55 /****************************************************************************/
56 /**
57 *  @brief   Get the current mode
58 *
59 *  This function retieves the processor mode (secure/non-secure)
60 *
61 */
62 /****************************************************************************/
63 void secHw_GetMode(secHw_MODE *);
64
65 #endif /* SECHW_H */