summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorArve Hjønnevåg <arve@android.com>2015-06-11 22:51:54 -0400
committerStephen Wolfe <swolfe@nvidia.com>2018-07-27 17:12:44 -0400
commit7abcf768d24edb227bc809d819e6b2544c496f34 (patch)
treeae2d5b7f1e1db57a24df6253b705f40fa6cfb151 /include/linux
parent4de081ad8ef79596293b299c05c2c0c67e8f2bf4 (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')
-rw-r--r--include/linux/trusty/sm_err.h1
-rw-r--r--include/linux/trusty/smcall.h15
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 */