sec_status.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. /* Copyright Statement:
  2. *
  3. * This software/firmware and related documentation ("MediaTek Software") are
  4. * protected under relevant copyright laws. The information contained herein
  5. * is confidential and proprietary to MediaTek Inc. and/or its licensors.
  6. * Without the prior written permission of MediaTek inc. and/or its licensors,
  7. * any reproduction, modification, use or disclosure of MediaTek Software,
  8. * and information contained herein, in whole or in part, shall be strictly prohibited.
  9. */
  10. /* MediaTek Inc. (C) 2015. All rights reserved.
  11. *
  12. * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  13. * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  14. * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
  15. * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  16. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  17. * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  18. * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  19. * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  20. * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
  21. * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
  22. * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
  23. * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
  24. * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
  25. * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
  26. * CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  27. * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  28. * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
  29. * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
  30. */
  31. #ifndef _SEC_STATUS_H_
  32. #define _SEC_STATUS_H_
  33. typedef enum {
  34. B_OK = 0,
  35. /* ==========================*/
  36. /* operation error codes */
  37. INVALID_PARAMETER = 0x1000,
  38. INVALID_NAME_SIZE,
  39. INVALID_BUFFER_SIZE,
  40. INFO_NOT_FOUND,
  41. ROM_INFO_NOT_FOUND,
  42. CUST_NAME_NOT_FOUND,
  43. PRELOADER_NOT_FOUND,
  44. STORAGE_DRIVER_NOT_FOUND,
  45. STORAGE_READ_FAILED,
  46. LIST_ENTRY_ALLOCATION_FAILED,
  47. SECURE_DATA_BUF_OVERFLOW,
  48. /* ==========================*/
  49. /* security image releated error code */
  50. SECHDR_NOT_FOUND = 0x2000,
  51. SECEXTHDR_NOT_FOUND,
  52. SECEXTHDR_CORRUPTED,
  53. SECHDR_NOT_PARSED_YET,
  54. SECVER_NOT_SUPPORTED,
  55. SECEXTHDR_NOT_SUPPORTED,
  56. HASH_TYPE_NOT_SUPPORTED,
  57. SIG_TYPE_NOT_SUPPORTED,
  58. INCORRECT_SIG_SIZE,
  59. INVALID_SIG,
  60. VERIFY_BUF_TOO_SMALL,
  61. HASH_FAILED,
  62. AUTH_FAILED,
  63. CIPHER_MODE_INVALID,
  64. CIPHER_KEY_INVALID,
  65. CIPHER_DATA_UNALIGNED,
  66. /* 0x2010 */
  67. WAITING_SECURE_DATA,
  68. CHUNK_VERIFY_FAILED,
  69. SEC_DOWNLOAD_NOT_SUPPORT_THIS_IMAGE,
  70. SEC_DOWNLOAD_SIGNATURE_NOT_REQUIRED,
  71. SW_SEC_BOOT_IMAGE_DL_IS_NOT_ALLOWED,
  72. SW_SEC_BOOT_SIGNATURE_NOT_REQUIRED,
  73. SIG_NOT_FOUND,
  74. SW_SEC_BOOT_SIGNATURE_REQUIRED,
  75. SEC_IMG_VERSION_NOT_ALLOWED,
  76. SEC_CUSTOMER_NAME_NOT_ALLOWED,
  77. SEC_UNSIGNED_IMAGE_IS_REQUIRED,
  78. SEC_SIGNED_IMAGE_IS_REQUIRED,
  79. /* ==========================*/
  80. /* seccfg related error code */
  81. ROM_INFO_NOT_INIT = 0x3000,
  82. SECCFG_NOT_FOUND,
  83. SECCFG_MAGIC_INCORRECT,
  84. SECCFG_CAN_NOT_WRITE_TO_FIRST_BLOCK,
  85. SECCFG_EXT_REGION_SPACE_OVERFLOW,
  86. ERASE_SECCFG_NAND_PARTITION_FAILED,
  87. IMAGE_INFO_CHECK_CMD_EXT_HEADER_SELF_COPY_FAIL,
  88. IMAGE_INFO_CHECK_CMD_EXT_HEADER_OFFSET_INVALID,
  89. SECCFG_NOT_VALID,
  90. /* ==========================*/
  91. /* secro related error code */
  92. S_SECURITY_AC_REGION_NOT_FOUND_IN_SECROIMG = 0x4000,
  93. S_SECURITY_SECRO_MEMORY_ALLOCATE_FAIL,
  94. S_SECURITY_SECRO_ANTICLONE_LENGTH_INVALID,
  95. S_SECURITY_SECRO_HASH_INCORRECT,
  96. SECRO_NOT_FOUND,
  97. /* ==========================*/
  98. /* sec status code */
  99. S_SECURITY_GO_ON_CHECK = 0x5000,
  100. S_SECURITY_UNKONWN_STATUS,
  101. /* secure boot error code */
  102. ERR_LIB_SEC_CFG_NOT_EXIST = 0x6000,
  103. ERR_IMG_VERIFY_THIS_IMG_INFO_NOT_EXIST,
  104. ERR_IMG_VERIFY_INVALID_IMG_INFO_ATTR,
  105. ERR_IMG_NOT_FOUND,
  106. ERR_IMG_EXTENSION_MAGIC_WRONG,
  107. ERR_IMG_EXTENSION_TYPE_NOT_SUPPORT,
  108. ERR_IMG_EXTENSION_HDR_NOT_FOUND,
  109. ERR_IMG_SIGN_FORMAT_NOT_MATCH,
  110. ERR_IMG_EXTENSION_HASH_CAL_FAIL,
  111. ERR_IMG_VERIFY_SIGNATURE_FAIL,
  112. ERR_IMG_VERIFY_HASH_COMPARE_FAIL,
  113. /* ==========================*/
  114. /* fastboot unlock error code */
  115. ERR_UNLOCK_KEY_WRONG_LENGTH = 0x7000,
  116. ERR_UNLOCK_WRONG_KEY_CODE,
  117. ERR_SECURE_DOWNLOAD_NOT_SUPPORTED,
  118. /* ==========================*/
  119. /* sml data sync error code */
  120. ERR_PROTECT1_PART_NOT_FOUND,
  121. ERR_PROTECT2_PART_NOT_FOUND,
  122. ERR_PROTECT1_PART_OFF_NOT_FOUND,
  123. ERR_PROTECT2_PART_OFF_NOT_FOUND,
  124. ERR_GEN_RANDOM_PATTERN_FAILED,
  125. ERR_MAGIC_PATTERN_NOT_MATCH,
  126. ERR_MAGIC_PATTERN_NOT_EXIST,
  127. ERR_EMMC_READ_FAILED,
  128. ERR_EMMC_WRITE_FAILED,
  129. /* ==========================*/
  130. /* cert engine error code */
  131. ERR_INVALID_OID_SZ,
  132. ERR_INVALID_OID_DER_SZ,
  133. ERR_END_OF_CERT,
  134. ERR_OBJ_ID_NOT_MATCH,
  135. ERR_OBJ_LEN_NOT_MATCH,
  136. ERR_OBJ_TRAVERSE_UNKNOWN_MODE,
  137. ERR_INVALID_OID_IDX,
  138. ERR_OID_NOT_FOUND,
  139. ERR_OBJ_NOT_FOUND,
  140. ERR_E_KEY_LEN_NOT_MATCH,
  141. ERR_E_KEY_NOT_MATCH,
  142. ERR_N_KEY_LEN_NOT_MATCH,
  143. ERR_N_KEY_NOT_MATCH,
  144. ERR_PUBK_AUTH_FAIL,
  145. ERR_SW_ID_MISMATCH,
  146. ERR_RETRY_WITH_VERIFIED_BOOT,
  147. ERR_NO_VERIFIED_BOOT_SIG,
  148. ERR_NOT_OEM_KEY,
  149. ERR_TARGET_STRING_OVERFLOW,
  150. ERR_TARGET_NOT_MATCH,
  151. /* crypto op */
  152. ERR_SHA256_OP_FAIL,
  153. ERR_PSS_OP_FAIL,
  154. ERR_SIG_VFY_FAIL,
  155. ERR_IMG_HDR_HASH_NOT_MATCH,
  156. ERR_IMG_HASH_NOT_MATCH,
  157. /* invalid size */
  158. ERR_INVALID_SIG_SZ,
  159. ERR_INVALID_PUBK_SZ,
  160. ERR_INVALID_CERT_SZ,
  161. ERR_INVALID_HASH_SZ,
  162. /* image */
  163. ERR_INVALID_IMG_HDR,
  164. ERR_UNEXPECTED_IMG_TYPE,
  165. ERR_NOT_BOOT_IMG_FORMAT,
  166. /* buffer */
  167. ERR_BUF_ALLOCATE_FAIL,
  168. } STATUS;
  169. #endif /* _SEC_STATUS_H_ */