uboot/include/fsl_secboot_err.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * Copyright 2015 Freescale Semiconductor, Inc.
   4 */
   5
   6#ifndef _FSL_SECBOOT_ERR_H
   7#define _FSL_SECBOOT_ERR_H
   8
   9#define ERROR_ESBC_PAMU_INIT                                    0x100000
  10#define ERROR_ESBC_SEC_RESET                                    0x200000
  11#define ERROR_ESBC_SEC_INIT                                     0x400000
  12#define ERROR_ESBC_SEC_DEQ                                      0x800000
  13#define ERROR_ESBC_SEC_DEQ_TO                                   0x1000000
  14#define ERROR_ESBC_SEC_ENQ                                      0x2000000
  15#define ERROR_ESBC_SEC_JOBQ_STATUS                              0x4000000
  16#define ERROR_ESBC_CLIENT_CPUID_NO_MATCH                        0x1
  17#define ERROR_ESBC_CLIENT_HDR_LOC                               0x2
  18#define ERROR_ESBC_CLIENT_HEADER_BARKER                         0x4
  19#define ERROR_ESBC_CLIENT_HEADER_KEY_LEN                        0x8
  20#define ERROR_ESBC_CLIENT_HEADER_SIG_LEN                        0x10
  21#define ERROR_ESBC_CLIENT_HEADER_KEY_REVOKED                    0x11
  22#define ERROR_ESBC_CLIENT_HEADER_INVALID_SRK_NUM_ENTRY          0x12
  23#define ERROR_ESBC_CLIENT_HEADER_INVALID_KEY_NUM                0x13
  24#define ERROR_ESBC_CLIENT_HEADER_INV_SRK_ENTRY_KEYLEN           0x14
  25#define ERROR_ESBC_CLIENT_HEADER_IE_KEY_REVOKED                 0x15
  26#define ERROR_ESBC_CLIENT_HEADER_INVALID_IE_NUM_ENTRY           0x16
  27#define ERROR_ESBC_CLIENT_HEADER_INVALID_IE_KEY_NUM             0x17
  28#define ERROR_ESBC_CLIENT_HEADER_INV_IE_ENTRY_KEYLEN            0x18
  29#define ERROR_IE_TABLE_NOT_FOUND                                0x19
  30#define ERROR_ESBC_CLIENT_HEADER_KEY_LEN_NOT_TWICE_SIG_LEN      0x20
  31#define ERROR_KEY_TABLE_NOT_FOUND                               0x21
  32#define ERROR_ESBC_CLIENT_HEADER_KEY_MOD_1                      0x40
  33#define ERROR_ESBC_CLIENT_HEADER_KEY_MOD_2                      0x80
  34#define ERROR_ESBC_CLIENT_HEADER_SIG_KEY_MOD                    0x100
  35#define ERROR_ESBC_CLIENT_HEADER_SG_ESBC_EP                     0x200
  36#define ERROR_ESBC_CLIENT_HASH_COMPARE_KEY                      0x400
  37#define ERROR_ESBC_CLIENT_HASH_COMPARE_EM                       0x800
  38#define ERROR_ESBC_CLIENT_SSM_TRUSTSTS                          0x1000
  39#define ERROR_ESBC_CLIENT_BAD_ADDRESS                           0x2000
  40#define ERROR_ESBC_CLIENT_MISC                                  0x4000
  41#define ERROR_ESBC_CLIENT_HEADER_SG_ENTIRES_BAD                 0x8000
  42#define ERROR_ESBC_CLIENT_HEADER_SG                             0x10000
  43#define ERROR_ESBC_CLIENT_HEADER_IMG_SIZE                       0x20000
  44#define ERROR_ESBC_WRONG_CMD                                    0x40000
  45#define ERROR_ESBC_MISSING_BOOTM                                0x80000
  46#define ERROR_ESBC_CLIENT_MAX                                   0x0
  47
  48struct fsl_secboot_errcode {
  49        int errcode;
  50        const char *name;
  51};
  52
  53static const struct fsl_secboot_errcode fsl_secboot_errcodes[] = {
  54        { ERROR_ESBC_PAMU_INIT,
  55                "Error in initializing PAMU"},
  56        { ERROR_ESBC_SEC_RESET,
  57                "Error in resetting Job ring of SEC"},
  58        { ERROR_ESBC_SEC_INIT,
  59                "Error in initializing SEC"},
  60        { ERROR_ESBC_SEC_ENQ,
  61                "Error in enqueue operation by SEC"},
  62        { ERROR_ESBC_SEC_DEQ_TO,
  63                "Dequeue operation by SEC is timed out"},
  64        { ERROR_ESBC_SEC_DEQ,
  65                "Error in dequeue operation by SEC"},
  66        { ERROR_ESBC_SEC_JOBQ_STATUS,
  67                "Error in status of the job submitted to SEC"},
  68        { ERROR_ESBC_CLIENT_CPUID_NO_MATCH,
  69                "Current core is not boot core i.e core0" },
  70        { ERROR_ESBC_CLIENT_HDR_LOC,
  71                "Header address not in allowed memory range" },
  72        { ERROR_ESBC_CLIENT_HEADER_BARKER,
  73                "Wrong barker code in header" },
  74        { ERROR_ESBC_CLIENT_HEADER_KEY_LEN,
  75                "Wrong public key length in header" },
  76        { ERROR_ESBC_CLIENT_HEADER_SIG_LEN,
  77                "Wrong signature length in header" },
  78        { ERROR_ESBC_CLIENT_HEADER_KEY_LEN_NOT_TWICE_SIG_LEN,
  79                "Public key length not twice of signature length" },
  80        { ERROR_ESBC_CLIENT_HEADER_KEY_MOD_1,
  81                "Public key Modulus most significant bit not set" },
  82        { ERROR_ESBC_CLIENT_HEADER_KEY_MOD_2,
  83                "Public key Modulus in header not odd" },
  84        { ERROR_ESBC_CLIENT_HEADER_SIG_KEY_MOD,
  85                "Signature not less than modulus" },
  86        { ERROR_ESBC_CLIENT_HEADER_SG_ESBC_EP,
  87                "Entry point not in allowed space or one of the SG entries" },
  88        { ERROR_ESBC_CLIENT_HASH_COMPARE_KEY,
  89                "Public key hash comparison failed" },
  90        { ERROR_ESBC_CLIENT_HASH_COMPARE_EM,
  91                "RSA verification failed" },
  92        { ERROR_ESBC_CLIENT_SSM_TRUSTSTS,
  93                "SNVS not in TRUSTED state" },
  94        { ERROR_ESBC_CLIENT_BAD_ADDRESS,
  95                "Bad address error" },
  96        { ERROR_ESBC_CLIENT_MISC,
  97                "Miscallaneous error" },
  98        { ERROR_ESBC_CLIENT_HEADER_SG,
  99                "No SG support"  },
 100        { ERROR_ESBC_CLIENT_HEADER_IMG_SIZE,
 101                "Invalid Image size"  },
 102        { ERROR_ESBC_WRONG_CMD,
 103                "Unknown cmd/Wrong arguments. Core in infinite loop"},
 104        { ERROR_ESBC_MISSING_BOOTM,
 105                "Bootm command missing from bootscript" },
 106        { ERROR_ESBC_CLIENT_HEADER_KEY_REVOKED,
 107                "Selected key is revoked" },
 108        { ERROR_ESBC_CLIENT_HEADER_INVALID_SRK_NUM_ENTRY,
 109                "Wrong key entry" },
 110        { ERROR_ESBC_CLIENT_HEADER_INVALID_KEY_NUM,
 111                "Wrong key is selected" },
 112        { ERROR_ESBC_CLIENT_HEADER_INV_SRK_ENTRY_KEYLEN,
 113                "Wrong srk public key len in header" },
 114        { ERROR_ESBC_CLIENT_HEADER_IE_KEY_REVOKED,
 115                "Selected IE key is revoked" },
 116        { ERROR_ESBC_CLIENT_HEADER_INVALID_IE_NUM_ENTRY,
 117                "Wrong key entry in IE Table" },
 118        { ERROR_ESBC_CLIENT_HEADER_INVALID_IE_KEY_NUM,
 119                "Wrong IE key is selected" },
 120        { ERROR_ESBC_CLIENT_HEADER_INV_IE_ENTRY_KEYLEN,
 121                "Wrong IE public key len in header" },
 122        { ERROR_IE_TABLE_NOT_FOUND,
 123                "Information about IE Table missing" },
 124        { ERROR_KEY_TABLE_NOT_FOUND,
 125                "No Key/ Key Table Found in header"},
 126        { ERROR_ESBC_CLIENT_MAX, "NULL" }
 127};
 128
 129void fsl_secboot_handle_error(int error);
 130#endif
 131