diff options
| author | Arve Hjønnevåg <arve@android.com> | 2015-06-11 22:51:54 -0400 |
|---|---|---|
| committer | Stephen Wolfe <swolfe@nvidia.com> | 2018-07-27 17:12:44 -0400 |
| commit | 7abcf768d24edb227bc809d819e6b2544c496f34 (patch) | |
| tree | ae2d5b7f1e1db57a24df6253b705f40fa6cfb151 /include/linux/trusty | |
| parent | 4de081ad8ef79596293b299c05c2c0c67e8f2bf4 (diff) | |
trusty: Handle fiqs without calling notifier and enabling interrupts
Change-Id: Iab318f0efd7ca0217bd64a30918f040938af5b76
Signed-off-by: Michael Ryleev <gmar@google.com>
Diffstat (limited to 'include/linux/trusty')
| -rw-r--r-- | include/linux/trusty/sm_err.h | 1 | ||||
| -rw-r--r-- | include/linux/trusty/smcall.h | 15 |
2 files changed, 15 insertions, 1 deletions
diff --git a/include/linux/trusty/sm_err.h b/include/linux/trusty/sm_err.h index 4ee67589c..7de09b46f 100644 --- a/include/linux/trusty/sm_err.h +++ b/include/linux/trusty/sm_err.h | |||
| @@ -35,5 +35,6 @@ | |||
| 35 | #define SM_ERR_NOT_ALLOWED -9 /* SMC call not allowed */ | 35 | #define SM_ERR_NOT_ALLOWED -9 /* SMC call not allowed */ |
| 36 | #define SM_ERR_END_OF_INPUT -10 | 36 | #define SM_ERR_END_OF_INPUT -10 |
| 37 | #define SM_ERR_PANIC -11 /* Secure OS crashed */ | 37 | #define SM_ERR_PANIC -11 /* Secure OS crashed */ |
| 38 | #define SM_ERR_FIQ_INTERRUPTED -12 /* Got interrupted by FIQ. Call back with SMC_SC_RESTART_FIQ on same CPU */ | ||
| 38 | 39 | ||
| 39 | #endif | 40 | #endif |
diff --git a/include/linux/trusty/smcall.h b/include/linux/trusty/smcall.h index cdb4eccd7..7d8950a88 100644 --- a/include/linux/trusty/smcall.h +++ b/include/linux/trusty/smcall.h | |||
| @@ -58,6 +58,18 @@ | |||
| 58 | #define SMC_SC_RESTART_LAST SMC_STDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 0) | 58 | #define SMC_SC_RESTART_LAST SMC_STDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 0) |
| 59 | #define SMC_SC_NOP SMC_STDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 1) | 59 | #define SMC_SC_NOP SMC_STDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 1) |
| 60 | 60 | ||
| 61 | /** | ||
| 62 | * SMC_SC_RESTART_FIQ - Re-enter trusty after it was interrupted by an fiq | ||
| 63 | * | ||
| 64 | * No arguments, no return value. | ||
| 65 | * | ||
| 66 | * Re-enter trusty after returning to ns to process an fiq. Must be called iff | ||
| 67 | * trusty returns SM_ERR_FIQ_INTERRUPTED. | ||
| 68 | * | ||
| 69 | * Enable by selecting api version TRUSTY_API_VERSION_RESTART_FIQ (1) or later. | ||
| 70 | */ | ||
| 71 | #define SMC_SC_RESTART_FIQ SMC_STDCALL_NR (SMC_ENTITY_SECURE_MONITOR, 2) | ||
| 72 | |||
| 61 | /* | 73 | /* |
| 62 | * Return from secure os to non-secure os with return value in r1 | 74 | * Return from secure os to non-secure os with return value in r1 |
| 63 | */ | 75 | */ |
| @@ -94,7 +106,8 @@ | |||
| 94 | * | 106 | * |
| 95 | * This call must be made before any calls that are affected by the api version. | 107 | * This call must be made before any calls that are affected by the api version. |
| 96 | */ | 108 | */ |
| 97 | #define TRUSTY_API_VERSION_CURRENT (0) | 109 | #define TRUSTY_API_VERSION_RESTART_FIQ (1) |
| 110 | #define TRUSTY_API_VERSION_CURRENT (1) | ||
| 98 | #define SMC_FC_API_VERSION SMC_FASTCALL_NR (SMC_ENTITY_SECURE_MONITOR, 11) | 111 | #define SMC_FC_API_VERSION SMC_FASTCALL_NR (SMC_ENTITY_SECURE_MONITOR, 11) |
| 99 | 112 | ||
| 100 | /* TRUSTED_OS entity calls */ | 113 | /* TRUSTED_OS entity calls */ |
