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