cam_ccb.h (298142) | cam_ccb.h (298143) |
---|---|
1/*- 2 * Data structures and definitions for CAM Control Blocks (CCBs). 3 * 4 * Copyright (c) 1997, 1998 Justin T. Gibbs. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * | 1/*- 2 * Data structures and definitions for CAM Control Blocks (CCBs). 3 * 4 * Copyright (c) 1997, 1998 Justin T. Gibbs. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * |
28 * $FreeBSD: head/sys/cam/cam_ccb.h 298142 2016-04-17 05:24:28Z imp $ | 28 * $FreeBSD: head/sys/cam/cam_ccb.h 298143 2016-04-17 05:24:36Z imp $ |
29 */ 30 31#ifndef _CAM_CAM_CCB_H 32#define _CAM_CAM_CCB_H 1 33 34#include <sys/queue.h> 35#include <sys/cdefs.h> 36#include <sys/time.h> --- 539 unchanged lines hidden (view full) --- 576 PIT_PHASE = 0x40, /* Target mode phase cog. mode */ 577 PIT_DISCONNECT = 0x20, /* Disconnects supported in target mode */ 578 PIT_TERM_IO = 0x10, /* Terminate I/O message supported in TM */ 579 PIT_GRP_6 = 0x08, /* Group 6 commands supported */ 580 PIT_GRP_7 = 0x04 /* Group 7 commands supported */ 581} pi_tmflag; 582 583typedef enum { | 29 */ 30 31#ifndef _CAM_CAM_CCB_H 32#define _CAM_CAM_CCB_H 1 33 34#include <sys/queue.h> 35#include <sys/cdefs.h> 36#include <sys/time.h> --- 539 unchanged lines hidden (view full) --- 576 PIT_PHASE = 0x40, /* Target mode phase cog. mode */ 577 PIT_DISCONNECT = 0x20, /* Disconnects supported in target mode */ 578 PIT_TERM_IO = 0x10, /* Terminate I/O message supported in TM */ 579 PIT_GRP_6 = 0x08, /* Group 6 commands supported */ 580 PIT_GRP_7 = 0x04 /* Group 7 commands supported */ 581} pi_tmflag; 582 583typedef enum { |
584 PIM_NCQ_KLUDGE = 0x200, /* Supports the sata ncq trim kludge */ | 584 PIM_ATA_EXT = 0x200,/* ATA requests can understand ata_ext requests */ |
585 PIM_EXTLUNS = 0x100,/* 64bit extended LUNs supported */ 586 PIM_SCANHILO = 0x80, /* Bus scans from high ID to low ID */ 587 PIM_NOREMOVE = 0x40, /* Removeable devices not included in scan */ 588 PIM_NOINITIATOR = 0x20, /* Initiator role not supported. */ 589 PIM_NOBUSRESET = 0x10, /* User has disabled initial BUS RESET */ 590 PIM_NO_6_BYTE = 0x08, /* Do not send 6-byte commands */ 591 PIM_SEQSCAN = 0x04, /* Do bus scans sequentially, not in parallel */ 592 PIM_UNMAPPED = 0x02, --- 147 unchanged lines hidden (view full) --- 740 struct ccb_hdr ccb_h; 741 union ccb *next_ccb; /* Ptr for next CCB for action */ 742 struct ata_cmd cmd; /* ATA command register set */ 743 struct ata_res res; /* ATA result register set */ 744 u_int8_t *data_ptr; /* Ptr to the data buf/SG list */ 745 u_int32_t dxfer_len; /* Data transfer length */ 746 u_int32_t resid; /* Transfer residual length: 2's comp */ 747 u_int8_t ata_flags; /* Flags for the rest of the buffer */ | 585 PIM_EXTLUNS = 0x100,/* 64bit extended LUNs supported */ 586 PIM_SCANHILO = 0x80, /* Bus scans from high ID to low ID */ 587 PIM_NOREMOVE = 0x40, /* Removeable devices not included in scan */ 588 PIM_NOINITIATOR = 0x20, /* Initiator role not supported. */ 589 PIM_NOBUSRESET = 0x10, /* User has disabled initial BUS RESET */ 590 PIM_NO_6_BYTE = 0x08, /* Do not send 6-byte commands */ 591 PIM_SEQSCAN = 0x04, /* Do bus scans sequentially, not in parallel */ 592 PIM_UNMAPPED = 0x02, --- 147 unchanged lines hidden (view full) --- 740 struct ccb_hdr ccb_h; 741 union ccb *next_ccb; /* Ptr for next CCB for action */ 742 struct ata_cmd cmd; /* ATA command register set */ 743 struct ata_res res; /* ATA result register set */ 744 u_int8_t *data_ptr; /* Ptr to the data buf/SG list */ 745 u_int32_t dxfer_len; /* Data transfer length */ 746 u_int32_t resid; /* Transfer residual length: 2's comp */ 747 u_int8_t ata_flags; /* Flags for the rest of the buffer */ |
748 uint32_t unused[2]; /* Keep the same size */ | 748#define ATA_FLAG_AUX 0x1 749 uint32_t aux; 750 uint32_t unused; |
749}; 750 751struct ccb_accept_tio { 752 struct ccb_hdr ccb_h; 753 cdb_t cdb_io; /* Union for CDB bytes/pointer */ 754 u_int8_t cdb_len; /* Number of bytes for the CDB */ 755 u_int8_t tag_action; /* What to do for tag queueing */ 756 u_int8_t sense_len; /* Number of bytes of Sense Data */ --- 595 unchanged lines hidden --- | 751}; 752 753struct ccb_accept_tio { 754 struct ccb_hdr ccb_h; 755 cdb_t cdb_io; /* Union for CDB bytes/pointer */ 756 u_int8_t cdb_len; /* Number of bytes for the CDB */ 757 u_int8_t tag_action; /* What to do for tag queueing */ 758 u_int8_t sense_len; /* Number of bytes of Sense Data */ --- 595 unchanged lines hidden --- |