1 /*
2  * Copyright (c) 2013 Google Inc. All rights reserved
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining
5  * a copy of this software and associated documentation files
6  * (the "Software"), to deal in the Software without restriction,
7  * including without limitation the rights to use, copy, modify, merge,
8  * publish, distribute, sublicense, and/or sell copies of the Software,
9  * and to permit persons to whom the Software is furnished to do so,
10  * subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be
13  * included in all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22  */
23 #ifndef __LIB_SM_SM_ERR_H
24 #define __LIB_SM_SM_ERR_H
25 
26 /* Errors from the secure monitor */
27 
28 /* Unknown SMC (defined by ARM DEN 0028A(0.9.0) */
29 #define SM_ERR_UNDEFINED_SMC ((long)0xFFFFFFFF)
30 #define SM_ERR_INVALID_PARAMETERS -2
31 /* Got interrupted. Call back with restart SMC */
32 #define SM_ERR_INTERRUPTED -3
33 /* Got an restart SMC when we didn't expect it */
34 #define SM_ERR_UNEXPECTED_RESTART -4
35 /* Temporarily busy. Call back with original args */
36 #define SM_ERR_BUSY -5
37 /* Got a trusted_service SMC when a restart SMC is required */
38 #define SM_ERR_INTERLEAVED_SMC -6
39 /* Unknown error */
40 #define SM_ERR_INTERNAL_FAILURE -7
41 #define SM_ERR_NOT_SUPPORTED -8
42 /* SMC call not allowed */
43 #define SM_ERR_NOT_ALLOWED -9
44 #define SM_ERR_END_OF_INPUT -10
45 /* Secure OS crashed */
46 #define SM_ERR_PANIC -11
47 /* Got interrupted by FIQ. Call back with SMC_SC_RESTART_FIQ on same CPU */
48 #define SM_ERR_FIQ_INTERRUPTED -12
49 /* SMC call waiting for another CPU */
50 #define SM_ERR_CPU_IDLE -13
51 /* Got interrupted. Call back with new SMC_SC_NOP */
52 #define SM_ERR_NOP_INTERRUPTED -14
53 /* Cpu idle after SMC_SC_NOP (not an error) */
54 #define SM_ERR_NOP_DONE -15
55 
56 #endif
57