Update to FreeBSD head 2017-01-09

Git mirror commit 1f8e4a995a6ede4bdb24e6d335ccda2bdb0175ab.
This commit is contained in:
Sebastian Huber
2017-01-09 14:47:04 +01:00
parent 75b706fde4
commit 0577772720
102 changed files with 4230 additions and 2832 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -228,6 +228,7 @@ struct scsi_mode_select_6
u_int8_t opcode;
u_int8_t byte2;
#define SMS_SP 0x01
#define SMS_RTD 0x02
#define SMS_PF 0x10
u_int8_t unused[2];
u_int8_t length;
@@ -662,6 +663,14 @@ struct scsi_log_fua_stat_and_perf {
uint8_t fuanv_write_int[8];
};
struct scsi_log_informational_exceptions {
struct scsi_log_param_header hdr;
#define SLP_IE_GEN 0x0000
uint8_t ie_asc;
uint8_t ie_ascq;
uint8_t temperature;
};
struct scsi_control_page {
u_int8_t page_code;
u_int8_t page_length;
@@ -765,21 +774,6 @@ struct scsi_caching_page {
uint8_t non_cache_seg_size[3];
};
/*
* XXX KDM move this off to a vendor shim.
*/
struct copan_debugconf_subpage {
uint8_t page_code;
#define DBGCNF_PAGE_CODE 0x00
uint8_t subpage;
#define DBGCNF_SUBPAGE_CODE 0xF0
uint8_t page_length[2];
uint8_t page_version;
#define DBGCNF_VERSION 0x00
uint8_t ctl_time_io_secs[2];
};
struct scsi_info_exceptions_page {
u_int8_t page_code;
#define SIEP_PAGE_SAVABLE 0x80 /* Page is savable */
@@ -793,6 +787,12 @@ struct scsi_info_exceptions_page {
#define SIEP_FLAGS_EBACKERR 0x02
#define SIEP_FLAGS_LOGERR 0x01
u_int8_t mrie;
#define SIEP_MRIE_NO 0x00
#define SIEP_MRIE_UA 0x02
#define SIEP_MRIE_REC_COND 0x03
#define SIEP_MRIE_REC_UNCOND 0x04
#define SIEP_MRIE_NO_SENSE 0x05
#define SIEP_MRIE_ON_REQ 0x06
u_int8_t interval_timer[4];
u_int8_t report_count[4];
};
@@ -1457,6 +1457,7 @@ struct scsi_report_supported_opcodes
#define RSO_OPTIONS_ALL 0x00
#define RSO_OPTIONS_OC 0x01
#define RSO_OPTIONS_OC_SA 0x02
#define RSO_OPTIONS_OC_ASA 0x03
uint8_t requested_opcode;
uint8_t requested_service_action[2];
uint8_t length[4];
@@ -1482,6 +1483,10 @@ struct scsi_report_supported_opcodes_descr
uint8_t flags;
#define RSO_SERVACTV 0x01
#define RSO_CTDP 0x02
#define RSO_CDLP_MASK 0x0c
#define RSO_CDLP_NO 0x00
#define RSO_CDLP_A 0x04
#define RSO_CDLP_B 0x08
uint8_t cdb_length[2];
struct scsi_report_supported_opcodes_timeout timeout[0];
};
@@ -1497,6 +1502,10 @@ struct scsi_report_supported_opcodes_one
uint8_t reserved;
uint8_t support;
#define RSO_ONE_CTDP 0x80
#define RSO_ONE_CDLP_MASK 0x18
#define RSO_ONE_CDLP_NO 0x00
#define RSO_ONE_CDLP_A 0x08
#define RSO_ONE_CDLP_B 0x10
#define RSO_ONE_SUP_MASK 0x07
#define RSO_ONE_SUP_UNAVAIL 0x00
#define RSO_ONE_SUP_NOT_SUP 0x01
@@ -1510,7 +1519,9 @@ struct scsi_report_supported_tmf
{
uint8_t opcode;
uint8_t service_action;
uint8_t reserved[4];
uint8_t options;
#define RST_REPD 0x80
uint8_t reserved[3];
uint8_t length[4];
uint8_t reserved1;
uint8_t control;
@@ -1531,7 +1542,34 @@ struct scsi_report_supported_tmf_data
#define RST_ITNRS 0x01
#define RST_QTSS 0x02
#define RST_QAES 0x04
uint8_t reserved[2];
uint8_t reserved;
uint8_t length;
};
struct scsi_report_supported_tmf_ext_data
{
uint8_t byte1;
uint8_t byte2;
uint8_t reserved;
uint8_t length;
uint8_t byte5;
#define RST_TMFTMOV 0x01
uint8_t reserved2;
uint8_t byte7;
#define RST_WAKETS 0x01
#define RST_TRTS 0x02
#define RST_QTTS 0x04
#define RST_LURTS 0x08
#define RST_CTSTS 0x10
#define RST_CACATS 0x20
#define RST_ATSTS 0x40
#define RST_ATTS 0x80
uint8_t byte8;
#define RST_ITNRTS 0x01
#define RST_QTSTS 0x02
#define RST_QAETS 0x04
uint8_t long_timeout[4];
uint8_t short_timeout[4];
};
struct scsi_report_timestamp
@@ -2157,6 +2195,7 @@ struct scsi_inquiry_data
#define SCSI_REV_SPC2 4
#define SCSI_REV_SPC3 5
#define SCSI_REV_SPC4 6
#define SCSI_REV_SPC5 7
#define SID_ECMA 0x38
#define SID_ISO 0xC0
@@ -2477,10 +2516,17 @@ struct scsi_vpd_extended_inquiry_data
#define SVPD_EID_NV_SUP 0x02
#define SVPD_EID_V_SUP 0x01
uint8_t flags4;
#define SVPD_EID_NO_PI_CHK 0x20
#define SVPD_EID_P_I_I_SUP 0x10
#define SVPD_EID_LUICLT 0x01
#define SVPD_EID_LUICLR 0x01
uint8_t flags5;
#define SVPD_EID_LUCT_MASK 0xe0
#define SVPD_EID_LUCT_NOT_REP 0x00
#define SVPD_EID_LUCT_CONGL 0x20
#define SVPD_EID_LUCT_GROUP 0x40
#define SVPD_EID_R_SUP 0x10
#define SVPD_EID_RTD_SUP 0x08
#define SVPD_EID_HSSRELEF 0x02
#define SVPD_EID_CBCS 0x01
uint8_t flags6;
#define SVPD_EID_MULTI_I_T_FW 0x0F
@@ -2491,10 +2537,16 @@ struct scsi_vpd_extended_inquiry_data
uint8_t est[2];
uint8_t flags7;
#define SVPD_EID_POA_SUP 0x80
#define SVPD_EID_HRA_SUP 0x80
#define SVPD_EID_VSA_SUP 0x80
#define SVPD_EID_HRA_SUP 0x40
#define SVPD_EID_VSA_SUP 0x20
uint8_t max_sense_length;
uint8_t reserved2[50];
uint8_t bind_flags;
#define SVPD_EID_IBS 0x80
#define SVPD_EID_IAS 0x40
#define SVPD_EID_SAC 0x04
#define SVPD_EID_NRD1 0x02
#define SVPD_EID_NRD0 0x01
uint8_t reserved2[49];
};
struct scsi_vpd_mode_page_policy_descr
@@ -3145,11 +3197,12 @@ struct scsi_sense_data_fixed
#define SSD_KEY_BLANK_CHECK 0x08
#define SSD_KEY_Vendor_Specific 0x09
#define SSD_KEY_COPY_ABORTED 0x0a
#define SSD_KEY_ABORTED_COMMAND 0x0b
#define SSD_KEY_ABORTED_COMMAND 0x0b
#define SSD_KEY_EQUAL 0x0c
#define SSD_KEY_VOLUME_OVERFLOW 0x0d
#define SSD_KEY_MISCOMPARE 0x0e
#define SSD_KEY_COMPLETED 0x0f
#define SSD_KEY_COMPLETED 0x0f
#define SSD_SDAT_OVFL 0x10
#define SSD_ILI 0x20
#define SSD_EOM 0x40
#define SSD_FILEMARK 0x80
@@ -3187,7 +3240,9 @@ struct scsi_sense_data_desc
uint8_t sense_key;
uint8_t add_sense_code;
uint8_t add_sense_code_qual;
uint8_t reserved[3];
uint8_t flags;
#define SSDD_SDAT_OVFL 0x80
uint8_t reserved[2];
/*
* Note that SPC-4, section 4.5.2.1 says that the extra_len field
* must be less than or equal to 244.
@@ -3481,6 +3536,8 @@ struct scsi_sense_forwarded
#define SSD_FORWARDED_SDS_UNK 0x00
#define SSD_FORWARDED_SDS_EXSRC 0x01
#define SSD_FORWARDED_SDS_EXDST 0x02
uint8_t status;
uint8_t sense_data[];
};
/*
@@ -3653,13 +3710,15 @@ void scsi_desc_iterate(struct scsi_sense_data_desc *sense, u_int sense_len,
void *), void *arg);
uint8_t *scsi_find_desc(struct scsi_sense_data_desc *sense, u_int sense_len,
uint8_t desc_type);
void scsi_set_sense_data(struct scsi_sense_data *sense_data,
void scsi_set_sense_data(struct scsi_sense_data *sense_data,
scsi_sense_data_type sense_format, int current_error,
int sense_key, int asc, int ascq, ...) ;
void scsi_set_sense_data_len(struct scsi_sense_data *sense_data,
u_int *sense_len, scsi_sense_data_type sense_format, int current_error,
int sense_key, int asc, int ascq, ...) ;
void scsi_set_sense_data_va(struct scsi_sense_data *sense_data,
scsi_sense_data_type sense_format,
int current_error, int sense_key, int asc,
int ascq, va_list ap);
u_int *sense_len, scsi_sense_data_type sense_format,
int current_error, int sense_key, int asc, int ascq, va_list ap);
int scsi_get_sense_info(struct scsi_sense_data *sense_data, u_int sense_len,
uint8_t info_type, uint64_t *info,
int64_t *signed_info);
@@ -3713,6 +3772,10 @@ void scsi_sense_ata_sbuf(struct sbuf *sb, struct scsi_sense_data *sense,
u_int sense_len, uint8_t *cdb, int cdb_len,
struct scsi_inquiry_data *inq_data,
struct scsi_sense_desc_header *header);
void scsi_sense_forwarded_sbuf(struct sbuf *sb, struct scsi_sense_data *sense,
u_int sense_len, uint8_t *cdb, int cdb_len,
struct scsi_inquiry_data *inq_data,
struct scsi_sense_desc_header *header);
void scsi_sense_generic_sbuf(struct sbuf *sb, struct scsi_sense_data *sense,
u_int sense_len, uint8_t *cdb, int cdb_len,
struct scsi_inquiry_data *inq_data,
@@ -3769,6 +3832,8 @@ int scsi_devid_is_lun_eui64(uint8_t *bufp);
int scsi_devid_is_lun_naa(uint8_t *bufp);
int scsi_devid_is_lun_name(uint8_t *bufp);
int scsi_devid_is_lun_t10(uint8_t *bufp);
int scsi_devid_is_lun_md5(uint8_t *bufp);
int scsi_devid_is_lun_uuid(uint8_t *bufp);
int scsi_devid_is_port_naa(uint8_t *bufp);
struct scsi_vpd_id_descriptor *
scsi_get_devid(struct scsi_vpd_device_id *id, uint32_t len,
@@ -3912,21 +3977,24 @@ void scsi_inquiry(struct ccb_scsiio *csio, u_int32_t retries,
u_int8_t sense_len, u_int32_t timeout);
void scsi_mode_sense(struct ccb_scsiio *csio, u_int32_t retries,
void (*cbfcnp)(struct cam_periph *,
union ccb *),
u_int8_t tag_action, int dbd,
u_int8_t page_code, u_int8_t page,
u_int8_t *param_buf, u_int32_t param_len,
u_int8_t sense_len, u_int32_t timeout);
void (*cbfcnp)(struct cam_periph *, union ccb *),
uint8_t tag_action, int dbd, uint8_t pc, uint8_t page,
uint8_t *param_buf, uint32_t param_len,
uint8_t sense_len, uint32_t timeout);
void scsi_mode_sense_len(struct ccb_scsiio *csio, u_int32_t retries,
void (*cbfcnp)(struct cam_periph *,
union ccb *),
u_int8_t tag_action, int dbd,
u_int8_t page_code, u_int8_t page,
u_int8_t *param_buf, u_int32_t param_len,
int minimum_cmd_size, u_int8_t sense_len,
u_int32_t timeout);
void (*cbfcnp)(struct cam_periph *, union ccb *),
uint8_t tag_action, int dbd, uint8_t pc, uint8_t page,
uint8_t *param_buf, uint32_t param_len,
int minimum_cmd_size, uint8_t sense_len, uint32_t timeout);
void scsi_mode_sense_subpage(struct ccb_scsiio *csio,
uint32_t retries,
void (*cbfcnp)(struct cam_periph *, union ccb *),
uint8_t tag_action, int dbd, uint8_t pc,
uint8_t page, uint8_t subpage,
uint8_t *param_buf, uint32_t param_len,
int minimum_cmd_size, uint8_t sense_len, uint32_t timeout);
void scsi_mode_select(struct ccb_scsiio *csio, u_int32_t retries,
void (*cbfcnp)(struct cam_periph *,

View File

@@ -634,6 +634,20 @@ struct scsi_da_rw_recovery_page {
u_int8_t recovery_time_limit[2];
};
struct scsi_da_verify_recovery_page {
u_int8_t page_code;
#define SMS_VERIFY_ERROR_RECOVERY_PAGE 0x07
u_int8_t page_length;
u_int8_t byte3;
#define SMS_VER_EER 0x08
#define SMS_VER_PER 0x04
#define SMS_VER_DTE 0x02
#define SMS_VER_DCR 0x01
u_int8_t read_retry_count;
u_int8_t reserved[6];
u_int8_t recovery_time_limit[2];
};
__BEGIN_DECLS
/*
* XXX These are only left out of the kernel build to silence warnings. If,