diff options
author | taylor <none@none> | 2006-05-19 07:19:16 -0700 |
---|---|---|
committer | taylor <none@none> | 2006-05-19 07:19:16 -0700 |
commit | 7c70629e029d553bf3c4b18894d5fe1b224f420d (patch) | |
tree | 75fc5c113cd654c266697b768766b049c0c71070 /usr/src/uts/common/sys/scsi | |
parent | fd5e9823d4460a5415f67ed45c1ba18531689ecc (diff) | |
download | illumos-gate-7c70629e029d553bf3c4b18894d5fe1b224f420d.tar.gz |
6422444 update inquiry.h to reflect latest spc-3 device types
6422447 remove some unused scsi headers
--HG--
rename : usr/src/uts/common/sys/dktp/hba.h => deleted_files/usr/src/uts/common/sys/dktp/hba.h
rename : usr/src/uts/common/sys/scsi/impl/pkt_wrapper.h => deleted_files/usr/src/uts/common/sys/scsi/impl/pkt_wrapper.h
rename : usr/src/uts/intel/sys/dktp/cdtypes.h => deleted_files/usr/src/uts/intel/sys/dktp/cdtypes.h
rename : usr/src/uts/intel/sys/dktp/scdk.h => deleted_files/usr/src/uts/intel/sys/dktp/scdk.h
rename : usr/src/uts/intel/sys/dktp/scdkwatch.h => deleted_files/usr/src/uts/intel/sys/dktp/scdkwatch.h
rename : usr/src/uts/intel/sys/dktp/sctarget.h => deleted_files/usr/src/uts/intel/sys/dktp/sctarget.h
rename : usr/src/uts/intel/sys/dktp/tgcd.h => deleted_files/usr/src/uts/intel/sys/dktp/tgcd.h
rename : usr/src/uts/intel/sys/dktp/tgpassthru.h => deleted_files/usr/src/uts/intel/sys/dktp/tgpassthru.h
Diffstat (limited to 'usr/src/uts/common/sys/scsi')
-rw-r--r-- | usr/src/uts/common/sys/scsi/generic/inquiry.h | 22 | ||||
-rw-r--r-- | usr/src/uts/common/sys/scsi/impl/pkt_wrapper.h | 240 |
2 files changed, 13 insertions, 249 deletions
diff --git a/usr/src/uts/common/sys/scsi/generic/inquiry.h b/usr/src/uts/common/sys/scsi/generic/inquiry.h index 65393e5eb5..fa2676747d 100644 --- a/usr/src/uts/common/sys/scsi/generic/inquiry.h +++ b/usr/src/uts/common/sys/scsi/generic/inquiry.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,8 +19,8 @@ * CDDL HEADER END */ /* - * Copyright (c) 1996-2000 by Sun Microsystems, Inc. - * All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. */ #ifndef _SYS_SCSI_GENERIC_INQUIRY_H @@ -204,17 +203,22 @@ struct scsi_inquiry { #define DTYPE_PROCESSOR 0x03 #define DTYPE_WORM 0x04 #define DTYPE_RODIRECT 0x05 -#define DTYPE_SCANNER 0x06 +#define DTYPE_SCANNER 0x06 /* obsolete */ #define DTYPE_OPTICAL 0x07 #define DTYPE_CHANGER 0x08 -#define DTYPE_COMM 0x09 +#define DTYPE_COMM 0x09 /* obsolete */ #define DTYPE_ARRAY_CTRL 0x0C #define DTYPE_ESI 0x0D - +#define DTYPE_RBC 0x0E +#define DTYPE_OCRW 0x0F +#define DTYPE_BCC 0x10 +#define DTYPE_OSD 0x11 +#define DTYPE_ADC 0x12 /* - * Device types 0x0E-0x1E are reserved + * Device types 0x13-0x1D are reserved in spc-3 (r23) */ +#define DTYPE_WELLKNOWN 0x1E #define DTYPE_UNKNOWN 0x1F #define DTYPE_MASK 0x1F diff --git a/usr/src/uts/common/sys/scsi/impl/pkt_wrapper.h b/usr/src/uts/common/sys/scsi/impl/pkt_wrapper.h deleted file mode 100644 index 5f5588b60e..0000000000 --- a/usr/src/uts/common/sys/scsi/impl/pkt_wrapper.h +++ /dev/null @@ -1,240 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ -/* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -#ifndef _SYS_SCSI_IMPL_PKT_WRAPPER_H -#define _SYS_SCSI_IMPL_PKT_WRAPPER_H - -#pragma ident "%Z%%M% %I% %E% SMI" - -/* - * The information in this file should be private to each - * particular Host Bus Adapter implementation, and should - * not be relied upon in any way. This file will be removed - * in a future release. - */ - -/* - * Implementation specific SCSI definitions for wrapping around - * the generic scsi command packet. The transport layer (host adapter) - * intimately understands and uses the definitions here. - */ - -#include <sys/scsi/scsi_types.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#define SC_XPKTP(X) ((struct target_private *)((X)->pkt_private)) -struct target_private { - struct scsi_pkt *x_fltpktp; /* link to autosense packet */ - struct buf *x_bp; /* request buffer */ - union { - struct buf *xx_rqsbp; /* request sense buffer */ - struct uscsi_cmd *xx_scmdp; /* user scsi command */ - } targ; - - daddr_t x_srtsec; /* starting sector */ - int x_seccnt; /* sector count */ - int x_byteleft; /* bytes left to do */ - int x_bytexfer; /* bytes xfered for this ops */ - int x_tot_bytexfer; /* total bytes xfered per cmd */ - - ushort_t x_cdblen; /* cdb length */ - short x_retry; /* retry count */ - int x_flags; /* flags */ - - opaque_t x_sdevp; /* backward ptr target unit */ - void (*x_callback)(); /* target drv internal cb func */ -}; -#define x_rqsbp targ.xx_rqsbp -#define x_scmdp targ.xx_scmdp - -#if defined(__sparc) -/* - * Managing possibly discontiguous data segments - * - * It is theoretically possible for a SCSI target to - * transfer data in a discontiguous fashion. In order - * to manage this possibility in an efficient manner, - * we'll define a bunch of structures for recording, - * in various ways, the history of data transfers. - * - * The only time that this can get complicated is - * when the target sends a MODIFY DATA POINTER message - * that moves the active data pointer completely out - * of bounds from a segment of data already transferred. - * - * The SAVE DATA POINTER and RESTORE POINTERS messages - * typically only cause moving around within an already - * defined segment. - */ - -/* - * An arbitrary structure that describes a data segment. - * This simply has a zero based offset and a count. In - * the case of a set of truly discontiguous transfers, - * a list of these things will be constructed as the - * transfer progresses. At the end of such a transfer - * some sorting and merging will then be done to then - * figure out how much data was actually moved. - * - * Please note that this is purely to do with counting - * how much data was moved and must bear absolutely no - * relationship whatsoever to pointer or DMA addresses. - */ - -struct sd_seg { - struct sd_seg *sd_next; /* next in a null terminated list */ - ulong_t sd_off; /* offset from 0 for this segment */ - ulong_t sd_cnt; /* size of this segment */ -}; -#endif /* defined(__sparc) */ - - -/* - * The transport layer deals with things in terms of the following structure. - * Note that the target driver's view of things is the scsi_pkt that is - * enfolded as the first element of the following structure. - */ - -#if defined(__i386) || defined(__amd64) -#define PKT_PRIV_LEN (sizeof (struct target_private)) -#define SCMD_PKTP(X) ((struct scsi_cmd *)(X)) -struct scsi_cmd { - struct scsi_pkt cmd_pkt; - ulong_t cmd_flags; /* flags from scsi_init_pkt */ - uint_t cmd_cflags; /* private hba CFLAG flags */ - struct scsi_cmd *cmd_cblinkp; /* link ptr for callback thread */ - ddi_dma_handle_t cmd_dmahandle; /* dma handle */ - union { - ddi_dma_win_t d_dmawin; /* dma window */ - caddr_t d_addr; /* transfer address */ - } cm; - ddi_dma_seg_t cmd_dmaseg; - opaque_t cmd_private; - uchar_t cmd_cdblen; /* length of cdb */ - uchar_t cmd_scblen; /* length of scb */ - uchar_t cmd_privlen; /* length of target private */ - uchar_t cmd_rqslen; /* len of requested rqsense */ - long cmd_totxfer; /* total transfer for cmd */ -/* keep target private at the end for allocation */ - uchar_t cmd_pkt_private[PKT_PRIV_LEN]; - -}; -#define cmd_dmawin cm.d_dmawin -#define cmd_addr cm.d_addr - -#else - -#define PKT_PRIV_LEN 8 /* preferred pkt_private length */ -#define SCMD_PKTP(X) ((struct scsi_cmd *)(X)) - -struct scsi_cmd { - struct scsi_pkt cmd_pkt; /* the generic packet itself */ - uchar_t *cmd_cdbp; /* active command pointer */ - uchar_t *cmd_scbp; /* active status pointer */ - ulong_t cmd_data; /* active data 'pointer' */ - ulong_t cmd_saved_data; /* saved data 'pointer' */ - ulong_t cmd_dmacount; - struct sd_seg *cmd_dsegp; /* current data count seg */ - struct sd_seg cmd_dsegs; /* first data count segment */ - ddi_dma_handle_t cmd_dmahandle; /* dma handle */ - ddi_dma_cookie_t cmd_dmacookie; /* current dma cookie */ - long cmd_timeout; /* command timeout */ - union scsi_cdb cmd_cdb_un; /* 'generic' Sun cdb */ -#define cmd_cdb cmd_cdb_un.cdb_opaque - ulong_t cmd_flags; /* private flags */ - uchar_t cmd_pkt_private[PKT_PRIV_LEN]; - uchar_t cmd_cdblen; /* length of cdb */ - uchar_t cmd_scblen; /* length of scb */ - uchar_t cmd_privlen; /* length of tgt private */ - uchar_t cmd_scb[STATUS_SIZE]; /* 4 byte scb */ - uchar_t cmd_reserved[1]; - struct scsi_cmd *cmd_forw; /* ready fifo que link */ - ushort_t cmd_age; /* cmd age (tagged queing) */ - uchar_t cmd_tag[2]; /* command tag */ -}; -#endif /* __i386 || __amd64 */ - -/* - * A note about the data 'pointers': - * - * XXXXXX - * - * A note about the cmd_cdb && cmd_scb structures: - * - * If the command allocation requested exceeds the size of CDB_SIZE, - * the cdb will be allocated outside this structure (via kmem_alloc) - * The same applies to cmd_scb. - * - */ - -#if defined(__sparc) - -/* - * define size of extended scsi cmd pkt (ie. includes ARQ) - */ -#define EXTCMDS_STATUS_SIZE (sizeof (struct scsi_arq_status)) -#define EXTCMDS_SIZE (EXTCMDS_STATUS_SIZE + sizeof (struct scsi_cmd)) -#endif /* defined(__sparc) */ - -/* - * These are the defined flags for this structure. - * - * The host adapter may not change the state of any - * flags that fall within the CFLAG_RESERVED area. - * The rest of the flag area can be used by the host - * adapter to get its job done, and the defines made - * here for that area are just suggested usages. - */ -#define CFLAG_RESERVED 0xff00 /* reserved read only area */ -#define CFLAG_CMDDISC 0x0001 /* cmd currently disconnected */ -#define CFLAG_WATCH 0x0002 /* watchdog time for this command */ -#define CFLAG_FINISHED 0x0004 /* command completed */ -#define CFLAG_CHKSEG 0x0008 /* check cmd_data within seg */ -#define CFLAG_COMPLETED 0x0010 /* completion routine called */ -#define CFLAG_PREPARED 0x0020 /* pkt has been init'ed */ -#define CFLAG_IN_TRANSPORT 0x0040 /* in use by host adapter driver */ -#define CFLAG_TRANFLAG 0x00ff /* covers transport part of flags */ -#define CFLAG_CMDPROXY 0x000100 /* cmd is a 'proxy' command */ -#define CFLAG_CMDARQ 0x000200 /* cmd is a 'rqsense' command */ -#define CFLAG_DMAVALID 0x000400 /* dma mapping valid */ -#define CFLAG_DMASEND 0x000800 /* data is going 'out' */ -#define CFLAG_CMDIOPB 0x001000 /* this is an 'iopb' packet */ -#define CFLAG_CDBEXTERN 0x002000 /* cdb kmem_alloc'd */ -#define CFLAG_SCBEXTERN 0x004000 /* scb kmem_alloc'd */ -#define CFLAG_FREE 0x008000 /* packet is on free list */ -#define CFLAG_EXTCMDS_ALLOC 0x10000 /* pkt has EXTCMDS_SIZE and */ - /* been fast alloc'ed */ -#define CFLAG_PRIVEXTERN 0x020000 /* target private kmem_alloc'd */ -#define CFLAG_DMA_PARTIAL 0x040000 /* partial xfer OK */ - -#ifdef __cplusplus -} -#endif - -#endif /* _SYS_SCSI_IMPL_PKT_WRAPPER_H */ |