54#define PMC_SIERRA_SIGNATURE 0x1234
55#define PMC_SIERRA_IOCTL_SIGNATURE "PMC-STRG"
60#define IOCTL_MJ_CARD_PARAMETER 0x01
61#define IOCTL_MJ_FW_CONTROL 0x02
62#define IOCTL_MJ_NVMD_GET 0x03
63#define IOCTL_MJ_NVMD_SET 0x04
64#define IOCTL_MJ_GET_EVENT_LOG1 0x05
65#define IOCTL_MJ_GET_EVENT_LOG2 0x06
66#define IOCTL_MJ_GET_CORE_DUMP 0x07
67#define IOCTL_MJ_LL_TRACING 0x08
68#define IOCTL_MJ_FW_PROFILE 0x09
69#define IOCTL_MJ_MNID 0x0A
70#define IOCTL_MJ_ENCRYPTION_CTL 0x0B
72#define IOCTL_MJ_FW_INFO 0x0C
74#define IOCTL_MJ_LL_API_TEST 0x11
75#define IOCTL_MJ_CHECK_DPMC_EVENT 0x16
76#define IOCTL_MJ_GET_FW_REV 0x1A
77#define IOCTL_MJ_GET_DEVICE_INFO 0x1B
78#define IOCTL_MJ_GET_IO_ERROR_STATISTIC 0x1C
79#define IOCTL_MJ_GET_IO_EVENT_STATISTIC 0x1D
80#define IOCTL_MJ_GET_FORENSIC_DATA 0x1E
81#define IOCTL_MJ_GET_DEVICE_LIST 0x1F
82#define IOCTL_MJ_SMP_REQUEST 0x6D
83#define IOCTL_MJ_GET_DEVICE_LUN 0x7A1
84#define IOCTL_MJ_PHY_GENERAL_STATUS 0x7A6
85#define IOCTL_MJ_PHY_DETAILS 0x7A7
86#define IOCTL_MJ_SEND_BIST 0x20
87#define IOCTL_MJ_CHECK_FATAL_ERROR 0x70
88#define IOCTL_MJ_FATAL_ERROR_DUMP_COMPLETE 0x71
89#define IOCTL_MJ_GPIO 0x41
90#define IOCTL_MJ_SGPIO 0x42
91#define IOCTL_MJ_SEND_TMF 0x6E
92#define IOCTL_MJ_FATAL_ERROR_SOFT_RESET_TRIG 0x72
93#define IOCTL_MJ_FATAL_ERR_CHK_RET_FALSE 0x76
94#define IOCTL_MJ_FATAL_ERR_CHK_SEND_FALSE 0x76
95#define IOCTL_MJ_FATAL_ERR_CHK_SEND_TRUE 0x77
101#define IOCTL_MJ_INI_ISCSI_DISCOVERY 0x21
102#define IOCTL_MJ_INI_SESSION_CONTROL 0x22
103#define IOCTL_MJ_INI_SNIA_IMA 0x23
104#define IOCTL_MJ_INI_SCSI 0x24
105#define IOCTL_MJ_INI_WMI 0x25
106#define IOCTL_MJ_INI_DRIVER_EVENT_LOG 0x26
107#define IOCTL_MJ_INI_PERSISTENT_BINDING 0x27
108#define IOCTL_MJ_INI_DRIVER_IDENTIFY 0x28
111#define IOCTL_MJ_PORT_STOP 0x29
112#define IOCTL_MJ_PORT_START 0x30
115#define IOCTL_MJ_MODE_CTL_PAGE 0x40
117#define IOCTL_MJ_SET_OR_GET_REGISTER 0x41
119#define IOCTL_MJ_GET_PHY_PROFILE 0x44
120#define IOCTL_MJ_SET_PHY_PROFILE 0x43
122#define IOCTL_MJ_GET_DRIVER_VERSION 0x101
124#define IOCTL_MN_PHY_PROFILE_COUNTERS 0x01
125#define IOCTL_MN_PHY_PROFILE_COUNTERS_CLR 0x02
126#define IOCTL_MN_PHY_PROFILE_BW_COUNTERS 0x03
127#define IOCTL_MN_PHY_PROFILE_ANALOG_SETTINGS 0x04
132#define IOCTL_MN_CARD_GET_VPD_INFO 0x01
133#define IOCTL_MN_CARD_GET_PORTSTART_INFO 0x02
134#define IOCTL_MN_CARD_GET_INTERRUPT_CONFIG 0x03
135#define IOCTL_MN_CARD_GET_PHY_ANALOGSETTING 0x04
136#define IOCTL_MN_CARD_GET_TIMER_CONFIG 0x05
137#define IOCTL_MN_CARD_GET_TYPE_FATAL_DUMP 0x06
145#define IOCTL_MN_FW_DOWNLOAD_DATA 0x01
149#define IOCTL_MN_FW_DOWNLOAD_BURN 0x02
155#define IOCTL_MN_FW_BURN_POLL 0x03
159#define IOCTL_MN_FW_ROLL_BACK_FW 0x04
163#define IOCTL_MN_FW_VERSION 0x05
167#define IOCTL_MN_FW_GET_OSPD_SIZE 0x06
171#define IOCTL_MN_FW_GET_OSPD 0x07
175#define IOCTL_MN_FW_BURN_OSPD 0x08
180#define IOCTL_MN_FW_GET_TRACE_BUFFER 0x0f
182#define IOCTL_MN_NVMD_GET_CONFIG 0x0A
183#define IOCTL_MN_NVMD_SET_CONFIG 0x0B
185#define IOCTL_MN_FW_GET_CORE_DUMP_AAP1 0x0C
186#define IOCTL_MN_FW_GET_CORE_DUMP_IOP 0x0D
187#define IOCTL_MN_FW_GET_CORE_DUMP_FLASH_AAP1 0x12
188#define IOCTL_MN_FW_GET_CORE_DUMP_FLASH_IOP 0x13
190#define IOCTL_MN_LL_RESET_TRACE_INDEX 0x0e
191#define IOCTL_MN_LL_GET_TRACE_BUFFER_INFO 0x0f
192#define IOCTL_MN_LL_GET_TRACE_BUFFER 0x10
194#define IOCTL_MN_ENCRYPTION_GET_INFO 0x13
195#define IOCTL_MN_ENCRYPTION_SET_MODE 0x14
196#define IOCTL_MN_ENCRYPTION_KEK_ADD 0x15
197#define IOCTL_MN_ENCRYPTION_DEK_ADD 0x16
198#define IOCTL_MN_ENCRYPTION_DEK_INVALID 0x17
199#define IOCTL_MN_ENCRYPTION_KEK_NVRAM 0x18
200#define IOCTL_MN_ENCRYPTION_DEK_ASSIGN 0x19
201#define IOCTL_MN_ENCRYPTION_LUN_QUERY 0x1A
202#define IOCTL_MN_ENCRYPTION_KEK_LOAD_NVRAM 0x1B
203#define IOCTL_MN_ENCRYPTION_ERROR_QUERY 0x1C
204#define IOCTL_MN_ENCRYPTION_DEK_TABLE_INIT 0x1D
205#define IOCTL_MN_ENCRYPT_LUN_VERIFY 0x1E
206#define IOCTL_MN_ENCRYPT_OPERATOR_MGMT 0x1F
207#define IOCTL_MN_ENCRYPT_SET_DEK_CONFIG_PAGE 0x21
208#define IOCTL_MN_ENCRYPT_SET_CONTROL_PAGE 0x22
209#define IOCTL_MN_ENCRYPT_SET_OPERATOR_CMD 0x23
210#define IOCTL_MN_ENCRYPT_TEST_EXECUTE 0x24
211#define IOCTL_MN_ENCRYPT_SET_HMAC_CONFIG_PAGE 0x25
212#define IOCTL_MN_ENCRYPT_GET_OPERATOR_CMD 0x26
213#define IOCTL_MN_ENCRYPT_RESCAN 0x27
214#ifdef SOFT_RESET_TEST
215#define IOCTL_MN_SOFT_RESET 0x28
218#define IOCTL_MN_MODE_SENSE 0x30
219#define IOCTL_MN_MODE_SELECT 0x31
221#define IOCTL_MN_TISA_TEST_ENCRYPT_DEK_DUMP 0x51
223#define IOCTL_MN_FW_GET_EVENT_FLASH_LOG1 0x5A
224#define IOCTL_MN_FW_GET_EVENT_FLASH_LOG2 0x6A
225#define IOCTL_MN_GET_EVENT_LOG1 0x5B
226#define IOCTL_MN_GET_EVENT_LOG2 0x6B
228#define IOCTL_MN_GPIO_PINSETUP 0x01
229#define IOCTL_MN_GPIO_EVENTSETUP 0x02
230#define IOCTL_MN_GPIO_READ 0x03
231#define IOCTL_MN_GPIO_WRITE 0x04
233#define IOCTL_MN_TMF_DEVICE_RESET 0x6F
234#define IOCTL_MN_TMF_LUN_RESET 0x70
268#ifdef SPC_ENABLE_PROFILE
269typedef struct tdFWProfile
284#define FW_PROFILE_PROCESSOR_ID_IOP 0x00
285#define FW_PROFILE_PROCESSOR_ID_AAP1 0x02
287#define START_TIMER_PROFILE 0x01
288#define START_CODE_PROFILE 0x02
289#define STOP_TIMER_PROFILE 0x81
290#define STOP_CODE_PROFILE 0x82
293typedef struct tdFWProfileEx
295 tdFWProfile_t *tdFWProfile;
538#define FORENSIC_DATA_TYPE_GSM_SPACE 1
539#define FORENSIC_DATA_TYPE_QUEUE 2
540#define FORENSIC_DATA_TYPE_FATAL 3
541#define FORENSIC_DATA_TYPE_NON_FATAL 4
542#define FORENSIC_DATA_TYPE_IB_QUEUE 5
543#define FORENSIC_DATA_TYPE_OB_QUEUE 6
544#define FORENSIC_DATA_TYPE_CHECK_FATAL 0x70
546#define FORENSIC_Q_TYPE_INBOUND 1
547#define FORENSIC_Q_TYPE_OUTBOUND 2
616#define FetchBufferSIZE 32
617#define LowFence32Bits 0xFCFD1234
618#define HighFence32Bits 0x5678ABDC
685#define PHY_SETTINGS_LEN 1024
bit8 attached_sasAddressHi[4]
bit8 attached_sasAddressLo[4]
bit8 Data[FetchBufferSIZE]
bit32 CurrentTraceIndexWrapCount
unsigned long DeviceHandle
tdDeviceInfoIOCTL_t devInfo
tdFWControl_t * tdFWControl
struct tdForensicDataPayload_s::@10::@14 dataBuffer
struct tdForensicDataPayload_s::@10::@13 queueBuffer
struct tdForensicDataPayload_s::@10::@12 gsmBuffer
bit32 agOSSA_IO_XFR_ERROR_INTERNAL_CRC_ERROR
bit32 agOSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR
bit32 agOSSA_IO_XFER_ERROR_SATA
bit32 agOSSA_IO_XFER_ERROR_BREAK
bit32 agOSSA_IO_DS_INVALID
bit32 agOSSA_IO_XFER_SMP_RESP_CONNECTION_ERROR
bit32 agOSSA_MPI_ERR_OFFLOAD_DIF_OR_ENC_NOT_ENABLED
bit32 agOSSA_IO_ABORT_RESET
bit32 agOSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE
bit32 agOSSA_IO_DIF_IN_ERROR
bit32 agOSSA_IO_DS_IN_RECOVERY
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED
bit32 agOSSA_IO_ABORT_IN_PROGRESS
bit32 agOSSA_IO_INVALID_LENGTH
bit32 agOSSA_IO_XFER_ERROR_CREDIT_TIMEOUT
bit32 agOSSA_IO_XFR_ERROR_INTERNAL_RAM
bit32 agOSSA_IO_XFER_ERROR_PHY_NOT_READY
bit32 agOSSA_IO_XFER_ERROR_CMD_ISSUE_BREAK_BEFORE_ACK_NAK
bit32 agOSSA_IO_XFER_ERROR_DIF_INTERNAL_ERROR
bit32 agOSSA_IO_XFER_ERROR_DMA
bit32 agOSSA_IO_DS_NON_OPERATIONAL
bit32 agOSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT
bit32 agOSSA_IO_OPEN_CNX_ERROR_UNKNOWN_ERROR
bit32 agOSSA_IO_XFER_READ_COMPL_ERR
bit32 agOSSA_IO_XFER_ERROR_RX_FRAME
bit32 agOSSA_IO_NOT_VALID
bit32 agOSSA_IO_UNDERFLOW
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE
bit32 agOSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED
bit32 agOSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY
bit32 agOSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION
bit32 agOSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION
bit32 agOSSA_IO_ILLEGAL_PARAMETER
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED
bit32 agOSSA_IO_XFR_ERROR_DIF_MISMATCH
bit32 agOSSA_IO_XFER_ERR_EOB_DATA_OVERRUN
bit32 agOSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH
bit32 agOSSA_IO_XFER_ERROR_XFER_RDY_OVERRUN
bit32 agOSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH
bit32 agOSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN
bit32 agOSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE
bit32 agOSSA_IO_XFR_ERROR_INVALID_SSP_RSP_FRAME
bit32 agOSSA_IO_TM_TAG_NOT_FOUND
bit32 agOSSA_IO_XFER_ERROR_CMD_ISSUE_ACK_NAK_TIMEOUT
bit32 agOSSA_IO_PROG_ERROR
bit32 agOSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED
bit32 agOSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST
bit32 agOSSA_IO_SSP_EXT_IU_ZERO_LEN_ERROR
bit32 agOSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED
bit32 agOSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH
bit32 agOSSA_IO_ERROR_HW_TIMEOUT
bit32 agOSSA_MPI_IO_RQE_BUSY_FULL
bit32 agOSSA_IO_ERROR_INTERNAL_SMP_RESOURCE
bit32 agOSSA_IO_XFER_ERROR_CMD_ISSUE_PHY_DOWN_BEFORE_ACK_NAK
bit32 agOSSA_IO_XFER_ERROR_OFFSET_MISMATCH
bit32 agOSSA_IO_OPEN_CNX_ERROR_BREAK
bit32 agOSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH
bit32 agOSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION
bit32 agOSSA_IO_XFER_CMD_FRAME_ISSUED
bit32 agOSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT
bit32 agOSSA_IO_XFR_ERROR_DEK_IV_MISMATCH
bit32 agOSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY
bit32 agOSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS
bit32 agOSSA_IO_XFER_ERROR_ABORTED_NCQ_MODE
bit32 agOSSA_IO_XFER_OPEN_RETRY_TIMEOUT
bit32 agOSSA_IO_XFER_ERR_LAST_PIO_DATAIN_CRC_ERR
bit32 agOSSA_IO_LINK_FAILURE
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS
bit32 agOSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE
bit32 agOSSA_IO_DIF_OUT_ERROR
bit32 agOSSA_MPI_ERR_ATAPI_DEVICE_BUSY
bit32 agOSSA_IO_DS_IN_ERROR
bit32 agOSSA_IO_UNKNOWN_ERROR
bit32 agOSSA_IO_XFER_ERROR_PEER_ABORTED
bit32 agOSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS
bit32 agOSSA_IO_COMPLETED_ERROR_SCSI_STATUS
bit32 agOSSA_IO_XFER_ERROR_ABORTED_DUE_TO_SRST
bit32 agOSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY_ALT
bit32 agOSSA_IO_ABORT_DELAYED
bit32 agOSSA_IO_XFER_ERROR_XFER_RDY_NOT_EXPECTED
bit32 agOSSA_IO_PORT_IN_RESET
bit32 agOSSA_IO_XFER_ERROR_UNEXPECTED_PHASE
bit32 agOSSA_IO_XFER_ERROR_NAK_RECEIVED
bit32 agOSSA_IO_NO_DEVICE
bit32 agOSSA_IO_XFER_PIO_SETUP_ERROR
tdSenseKeyCount_t SenseKeyCounter
tdIoErrorEventStatisticIOCTL_t IoError
tdSCSIStatusCount_t ScsiStatusCounter
tdIoErrorEventStatisticIOCTL_t IoEvent
bit32 runningDisparityError
struct tdDeviceListPayload_s tdDeviceListPayload_t
struct _TSTMTID_TRACE_BUFFER_RESET TSTMTID_TRACE_BUFFER_RESET
struct tdSenseKeyCount_s tdSenseKeyCount_t
struct _TSTMTID_CARD_LOCATION_INFO TSTMTID_CARD_LOCATION_INFO
@ SAS_PHY_EXPANDER_DEVICE
struct tdBistPayload_s tdBistPayload_t
struct _PHY_DETAILS_ PhyDetails_t
struct agsaPhyGeneralState_s agsaPhyGeneralState_t
struct tdVPDControl tdVPDControl_t
struct tdForensicDataPayload_s tdForensicDataPayload_t
struct _TSTMTID_TRACE_BUFFER_FETCH TSTMTID_TRACE_BUFFER_FETCH
struct _TSTMTID_TRACE_BUFFER_INFO TSTMTID_TRACE_BUFFER_INFO
struct tdFWControlEx tdFWControlEx_t
struct tdPhyCount_s tdPhyCount_t
struct tdRegisterPayload_s tdRegisterPayload_t
struct tdDeviceInfoIOCTL_s tdDeviceInfoIOCTL_t
struct tdDeviceInfoPayload_s tdDeviceInfoPayload_t
struct _PHY_GENERAL_STATE GetPhyGenState_t
struct tdIoErrorStatisticPayload_s tdIoErrorStatisticPayload_t
struct tdIoEventStatisticPayload_s tdIoEventStatisticPayload_t
struct tdIoErrorEventStatisticIOCTL_s tdIoErrorEventStatisticIOCTL_t
struct tdSCSIStatusCount_s tdSCSIStatusCount_t
struct tdFWControl tdFWControl_t