mirror of
https://github.com/opnsense/src.git
synced 2026-04-04 17:05:14 -04:00
244 lines
15 KiB
C
244 lines
15 KiB
C
/*******************************************************************************
|
|
*Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved.
|
|
*
|
|
*Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
|
*that the following conditions are met:
|
|
*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
|
*following disclaimer.
|
|
*2. Redistributions in binary form must reproduce the above copyright notice,
|
|
*this list of conditions and the following disclaimer in the documentation and/or other materials provided
|
|
*with the distribution.
|
|
*
|
|
*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
|
*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
|
|
*
|
|
* $FreeBSD$
|
|
*
|
|
********************************************************************************/
|
|
/*******************************************************************************/
|
|
/*! \file sa_err.h
|
|
* \brief The file defines the error code constants, defined by LL API
|
|
*
|
|
*
|
|
*/
|
|
/******************************************************************************/
|
|
|
|
#ifndef __SA_ERR_H__
|
|
#define __SA_ERR_H__
|
|
|
|
/************************************************************************************
|
|
* *
|
|
* Error Code Constants defined for LL Layer starts *
|
|
* *
|
|
************************************************************************************/
|
|
|
|
/***********************************************************************************
|
|
* SSP/SMP/SATA IO Completion Status values
|
|
***********************************************************************************/
|
|
|
|
#define OSSA_IO_SUCCESS 0x00 /**< IO completes successfully */
|
|
#define OSSA_IO_ABORTED 0x01 /**< IO aborted */
|
|
#define OSSA_IO_OVERFLOW 0x02 /**< IO overflowed (SSP) */
|
|
#define OSSA_IO_UNDERFLOW 0x03 /**< IO underflowed (SSP) */
|
|
#define OSSA_IO_FAILED 0x04 /**< IO failed */
|
|
#define OSSA_IO_ABORT_RESET 0x05 /**< IO abort because of reset */
|
|
#define OSSA_IO_NOT_VALID 0x06 /**< IO not valid */
|
|
#define OSSA_IO_NO_DEVICE 0x07 /**< IO is for non-existing device */
|
|
#define OSSA_IO_ILLEGAL_PARAMETER 0x08 /**< IO is not supported (SSP) */
|
|
/* The following two error codes 0x09 and 0x0A are not using */
|
|
#define OSSA_IO_LINK_FAILURE 0x09 /**< IO failed because of link failure (SMP) */
|
|
#define OSSA_IO_PROG_ERROR 0x0A /**< IO failed because of program error (SMP) */
|
|
|
|
#define OSSA_IO_DIF_IN_ERROR 0x0B /**< IO failed inbound DIF error (SSP) */
|
|
#define OSSA_IO_DIF_OUT_ERROR 0x0C /**< IO failed outbound DIF error (SSP) */
|
|
#define OSSA_IO_ERROR_HW_TIMEOUT 0x0D /**< SMP request/response failed due to HW timeout (SMP) */
|
|
#define OSSA_IO_XFER_ERROR_BREAK 0x0E /**< IO aborted due to BREAK during connection */
|
|
#define OSSA_IO_XFER_ERROR_PHY_NOT_READY 0x0F /**< IO aborted due to PHY NOT READY during connection*/
|
|
#define OSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED 0x10 /**< Open connection error */
|
|
#define OSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION 0x11 /**< Open connection error */
|
|
#define OSSA_IO_OPEN_CNX_ERROR_BREAK 0x12 /**< Open connection error */
|
|
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS 0x13 /**< Open connection error */
|
|
#define OSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION 0x14 /**< Open connection error */
|
|
#define OSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED 0x15 /**< Open connection error */
|
|
#define OSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY 0x16 /**< Open connection error */
|
|
#define OSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION 0x17 /**< Open connection error */
|
|
/* This error code 0x18 is not used on SPCv */
|
|
#define OSSA_IO_OPEN_CNX_ERROR_UNKNOWN_ERROR 0x18 /**< Open connection error */
|
|
#define OSSA_IO_XFER_ERROR_NAK_RECEIVED 0x19 /**< IO aborted due to transfer error with data NAK received*/
|
|
#define OSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT 0x1A /**< IO aborted due to transfer error with data ACK/NAK timeout*/
|
|
#define OSSA_IO_XFER_ERROR_PEER_ABORTED 0x1B
|
|
#define OSSA_IO_XFER_ERROR_RX_FRAME 0x1C
|
|
#define OSSA_IO_XFER_ERROR_DMA 0x1D
|
|
#define OSSA_IO_XFER_ERROR_CREDIT_TIMEOUT 0x1E /**< IO aborted due to CREDIT TIMEOUT during data transfer*/
|
|
#define OSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT 0x1F
|
|
#define OSSA_IO_XFER_ERROR_SATA 0x20
|
|
|
|
/* This error code 0x22 is not used on SPCv */
|
|
#define OSSA_IO_XFER_ERROR_ABORTED_DUE_TO_SRST 0x22
|
|
#define OSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE 0x21
|
|
#define OSSA_IO_XFER_ERROR_ABORTED_NCQ_MODE 0x23
|
|
#define OSSA_IO_XFER_OPEN_RETRY_TIMEOUT 0x24 /**< IO OPEN_RETRY_TIMEOUT */
|
|
/* This error code 0x25 is not used on SPCv */
|
|
#define OSSA_IO_XFER_SMP_RESP_CONNECTION_ERROR 0x25
|
|
#define OSSA_IO_XFER_ERROR_UNEXPECTED_PHASE 0x26
|
|
#define OSSA_IO_XFER_ERROR_XFER_RDY_OVERRUN 0x27
|
|
#define OSSA_IO_XFER_ERROR_XFER_RDY_NOT_EXPECTED 0x28
|
|
|
|
#define OSSA_IO_XFER_ERROR_CMD_ISSUE_ACK_NAK_TIMEOUT 0x30
|
|
/* The following error code 0x31 and 0x32 are not using (obsolete) */
|
|
#define OSSA_IO_XFER_ERROR_CMD_ISSUE_BREAK_BEFORE_ACK_NAK 0x31
|
|
#define OSSA_IO_XFER_ERROR_CMD_ISSUE_PHY_DOWN_BEFORE_ACK_NAK 0x32
|
|
|
|
#define OSSA_IO_XFER_ERROR_OFFSET_MISMATCH 0x34
|
|
#define OSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN 0x35
|
|
#define OSSA_IO_XFER_CMD_FRAME_ISSUED 0x36
|
|
#define OSSA_IO_ERROR_INTERNAL_SMP_RESOURCE 0x37
|
|
#define OSSA_IO_PORT_IN_RESET 0x38
|
|
#define OSSA_IO_DS_NON_OPERATIONAL 0x39
|
|
#define OSSA_IO_DS_IN_RECOVERY 0x3A
|
|
#define OSSA_IO_TM_TAG_NOT_FOUND 0x3B
|
|
#define OSSA_IO_XFER_PIO_SETUP_ERROR 0x3C
|
|
#define OSSA_IO_SSP_EXT_IU_ZERO_LEN_ERROR 0x3D
|
|
#define OSSA_IO_DS_IN_ERROR 0x3E
|
|
#define OSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY 0x3F
|
|
#define OSSA_IO_ABORT_IN_PROGRESS 0x40
|
|
#define OSSA_IO_ABORT_DELAYED 0x41
|
|
#define OSSA_IO_INVALID_LENGTH 0x42
|
|
#define OSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY_ALT 0x43
|
|
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED 0x44
|
|
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO 0x45
|
|
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST 0x46
|
|
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE 0x47
|
|
#define OSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED 0x48
|
|
#define OSSA_IO_DS_INVALID 0x49
|
|
|
|
#define OSSA_IO_XFER_READ_COMPL_ERR 0x0050
|
|
/* WARNING: the value is not contiguous from here */
|
|
#define OSSA_IO_XFER_ERR_LAST_PIO_DATAIN_CRC_ERR 0x0052
|
|
#define OSSA_IO_XFER_ERROR_DMA_ACTIVATE_TIMEOUT 0x0053
|
|
#define OSSA_IO_XFR_ERROR_INTERNAL_CRC_ERROR 0x0054
|
|
#define OSSA_MPI_IO_RQE_BUSY_FULL 0x0055
|
|
#define OSSA_IO_XFER_ERR_EOB_DATA_OVERRUN 0x0056 /* This status is only for Hitach FW */
|
|
#define OSSA_IO_XFR_ERROR_INVALID_SSP_RSP_FRAME 0x0057
|
|
#define OSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED 0x0058
|
|
|
|
#define OSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE 0x1004
|
|
|
|
/*encrypt saSetOperator() response status */
|
|
#define OSSA_MPI_ENC_ERR_CONTROLLER_NOT_IDLE 0x1005
|
|
#define OSSA_MPI_ENC_NVM_MEM_ACCESS_ERR 0x100B
|
|
|
|
#ifdef SA_TESTBASE_EXTRA
|
|
/* TestBase */
|
|
#define OSSA_IO_HOST_BST_INVALID 0x1005
|
|
#endif /* SA_TESTBASE_EXTRA */
|
|
|
|
|
|
#define OSSA_MPI_ERR_OFFLOAD_RESOURCE_UNAVAILABLE 0x1012
|
|
#define OSSA_MPI_ERR_OFFLOAD_DIF_OR_ENC_NOT_ENABLED 0x1013
|
|
#define OSSA_MPI_ERR_ATAPI_DEVICE_BUSY 0x1024
|
|
|
|
/* Specifies the status of the PHY_START command */
|
|
#define OSSA_MPI_IO_SUCCESS 0x00000000 /* PhyStart operation completed successfully */
|
|
/* Specifies the status of the PHY_STOP command */
|
|
#define OSSA_MPI_ERR_DEVICES_ATTACHED 0x00001046 /* All the devices in a port need to be deregistered if the PHY_STOP is for the last phy. */
|
|
#define OSSA_MPI_ERR_INVALID_PHY_ID 0x00001061 /* identifier specified in the PHY_START command is invalid i.e out of supported range for this product. */
|
|
#define OSSA_MPI_ERR_PHY_ALREADY_STARTED 0x00001063 /* An attempt to start a phy which is already started. */
|
|
#define OSSA_MPI_ERR_PHY_NOT_STARTED 0x00001064 /* An attempt to stop a phy which is not started */
|
|
#define OSSA_MPI_ERR_PHY_SUBOP_NOT_SUPPORTED 0x00001065 /* An attempt to use a sub operation that is not supported */
|
|
|
|
#define OSSA_MPI_ERR_INVALID_ANALOG_TBL_IDX 0x00001067 /* The Analog Setup Table Index used in the PHY_START command in invalid. */
|
|
#define OSSA_MPI_ERR_PHY_PROFILE_PAGE_NOT_SUPPORTED 0x00001068 /* Unsupported profile page code specified in the GET_PHY_PROFILE Command */
|
|
#define OSSA_MPI_ERR_PHY_PROFILE_PAGE_NOT_FOUND 0x00001069 /* Unsupported profile page code specified in the GET_PHY_PROFILE Command */
|
|
|
|
#define OSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS 0x2040
|
|
/*
|
|
An encryption IO request failed due to DEK Key Tag mismatch.
|
|
The key tag supplied in the encryption IOMB does not match with the Key Tag in the referenced DEK Entry.
|
|
*/
|
|
#define OSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH 0x2041
|
|
#define OSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID 0x2042
|
|
/*
|
|
An encryption I/O request failed
|
|
because the initial value (IV) in the unwrapped DEK blob didn't match the IV used to unwrap it.
|
|
*/
|
|
#define OSSA_IO_XFR_ERROR_DEK_IV_MISMATCH 0x2043
|
|
/* An encryption I/O request failed due to an internal RAM ECC or interface error while unwrapping the DEK. */
|
|
#define OSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR 0x2044
|
|
/* An encryption I/O request failed due to an internal RAM ECC or interface error while unwrapping the DEK. */
|
|
#define OSSA_IO_XFR_ERROR_INTERNAL_RAM 0x2045
|
|
/*
|
|
An encryption I/O request failed
|
|
because the DEK index specified in the I/O was outside the bounds of thetotal number of entries in the host DEK table.
|
|
*/
|
|
#define OSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS 0x2046
|
|
#define OSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE 0x2047
|
|
|
|
#define OSSA_MPI_ENC_ERR_UNSUPPORTED_OPTION 0x2080
|
|
#define OSSA_MPI_ENC_ERR_ID_TRANSFER_FAILURE 0x2081
|
|
|
|
#define OSSA_MPI_ENC_OPERATOR_AUTH_FAILURE 0x2090
|
|
#define OSSA_MPI_ENC_OPERATOR_OPERATOR_ALREADY_LOGGED_IN 0x2091
|
|
#define OSSA_MPI_ENC_OPERATOR_ILLEGAL_PARAMETER 0x2092
|
|
|
|
/* define DIF IO response error status code */
|
|
#define OSSA_IO_XFR_ERROR_DIF_MISMATCH 0x3000
|
|
#define OSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH 0x3001
|
|
#define OSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH 0x3002
|
|
#define OSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH 0x3003
|
|
#define OSSA_IO_XFER_ERROR_DIF_INTERNAL_ERROR 0x3004
|
|
|
|
#define OSSA_MPI_ERR_DIF_IS_NOT_ENABLED /* Indicates that saPCIeDiagExecute() is
|
|
* called with DIF but DIF is not enabled.
|
|
*/
|
|
/* define operator management response status and error qualifier code */
|
|
#define OPR_MGMT_OP_NOT_SUPPORTED 0x2060
|
|
#define OPR_MGMT_MPI_ENC_ERR_OPR_PARAM_ILLEGAL 0x2061
|
|
#define OPR_MGMT_MPI_ENC_ERR_OPR_ID_NOT_FOUND 0x2062
|
|
#define OPR_MGMT_MPI_ENC_ERR_OPR_ROLE_NOT_MATCH 0x2063
|
|
#define OPR_MGMT_MPI_ENC_ERR_OPR_MAX_NUM_EXCEEDED 0x2064
|
|
#define OPR_MGMT_MPI_ENC_ERR_KEK_UNWRAP_FAIL 0x2022
|
|
#define OPR_MGMT_MPI_ENC_ERR_NVRAM_OPERATION_FAILURE 0x2023
|
|
|
|
/* When Status is 0x2061 */
|
|
#define OPR_MGMT_ERR_QLFR_ILLEGAL_AUTHENTICATIONKEK_INDEX 0x1
|
|
#define OPR_MGMT_ERR_QLFR_ILLEGAL_OPERATOR 0x2
|
|
#define OPR_MGMT_ERR_QLFR_ILLEGAL_KEK_FORMAT 0x3
|
|
#define OPR_MGMT_ERR_QLFR_WRONG_ROLE 0x4
|
|
|
|
/* When status is 0x2090 */
|
|
/* invalid certificate: the certificate can not be unwrapped successfully by existing operators's KEKs */
|
|
#define OPR_SET_ERR_QLFR_INVALID_CERT 0x01
|
|
/* role mismatch: the role from the certificate doesn't match the one inside the controller. */
|
|
#define OPR_SET_ERR_QLFR_ROLE_MISMATCH 0x02
|
|
/* ID mismatch: the ID string from the certificate doesn't match the one inside the controller. */
|
|
#define OPR_SET_ERR_QLFR_ID_MISMATCH 0x03
|
|
/* When status is 0x2092 */
|
|
/* invalid OPRIDX */
|
|
#define OPR_SET_ERR_QLFR_INVALID_OPRIDX 0x04
|
|
/* invalid access type */
|
|
#define OPR_SET_ERR_QLFR_INVALID_ACCESS_TYPE 0x05
|
|
|
|
/* WARNING: This error code must always be the last number.
|
|
* If you add error code, modify this code also
|
|
* It is used as an index
|
|
*/
|
|
|
|
/* SAS Reconfiguration error */
|
|
#define OSSA_CONTROLLER_NOT_IDLE 0x1
|
|
#define OSSA_INVALID_CONFIG_PARAM 0x2
|
|
|
|
|
|
/************************************************************************************
|
|
* *
|
|
* Constants defined for OS Layer ends *
|
|
* *
|
|
************************************************************************************/
|
|
|
|
#endif /*__SA_ERR_H__ */
|