Leo Chen | a364143 | 2009-08-07 20:10:24 +0100 | [diff] [blame] | 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 */ |