Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/ic Update FC icb type to have the variants for the 2...



details:   https://anonhg.NetBSD.org/src/rev/cf4e6ef260b4
branches:  trunk
changeset: 477178:cf4e6ef260b4
user:      mjacob <mjacob%NetBSD.org@localhost>
date:      Thu Oct 14 02:18:40 1999 +0000

description:
Update FC icb type to have the variants for the 2200 (we don't use it
yet). Remove all target mode definitions.

diffstat:

 sys/dev/ic/ispmbox.h |  412 ++------------------------------------------------
 1 files changed, 23 insertions(+), 389 deletions(-)

diffs (truncated from 449 to 300 lines):

diff -r 52ba6522afde -r cf4e6ef260b4 sys/dev/ic/ispmbox.h
--- a/sys/dev/ic/ispmbox.h      Thu Oct 14 02:16:55 1999 +0000
+++ b/sys/dev/ic/ispmbox.h      Thu Oct 14 02:18:40 1999 +0000
@@ -1,5 +1,4 @@
-/* $NetBSD: ispmbox.h,v 1.18 1999/07/05 20:31:36 mjacob Exp $ */
-/* release_6_5_99 */
+/* $NetBSD: ispmbox.h,v 1.19 1999/10/14 02:18:40 mjacob Exp $ */
 /*
  * Copyright (C) 1997, 1998, 1999 National Aeronautics & Space Administration
  * All rights reserved.
@@ -436,28 +435,38 @@
 /*
  * Initialization Control Block
  *
- * Version One format.
+ * Version One (prime) format.
  */
-typedef struct {
+typedef struct isp_icb {
        u_int8_t        icb_version;
        u_int8_t        _reserved0;
-        u_int16_t      icb_fwoptions;
-        u_int16_t      icb_maxfrmlen;
+       u_int16_t       icb_fwoptions;
+       u_int16_t       icb_maxfrmlen;
        u_int16_t       icb_maxalloc;
        u_int16_t       icb_execthrottle;
        u_int8_t        icb_retry_count;
        u_int8_t        icb_retry_delay;
-        u_int8_t       icb_nodename[8];
+       u_int8_t        icb_portname[8];
        u_int16_t       icb_hardaddr;
        u_int8_t        icb_iqdevtype;
-       u_int8_t        _reserved1;
-        u_int8_t       icb_portname[8];
+       u_int8_t        icb_logintime;
+       u_int8_t        icb_nodename[8];
        u_int16_t       icb_rqstout;
        u_int16_t       icb_rspnsin;
-        u_int16_t      icb_rqstqlen;
-        u_int16_t      icb_rsltqlen;
-        u_int16_t      icb_rqstaddr[4];
-        u_int16_t      icb_respaddr[4];
+       u_int16_t       icb_rqstqlen;
+       u_int16_t       icb_rsltqlen;
+       u_int16_t       icb_rqstaddr[4];
+       u_int16_t       icb_respaddr[4];
+       u_int16_t       icb_lunenables;
+       u_int8_t        icb_ccnt;
+       u_int8_t        icb_icnt;
+       u_int16_t       icb_lunetimeout;
+       u_int16_t       _reserved1;
+       u_int16_t       icb_xfwoptions;
+       u_int8_t        icb_racctimer;
+       u_int8_t        icb_idelaytimer;
+       u_int16_t       icb_zfwoptions;
+       u_int16_t       _reserved2[13];
 } isp_icb_t;
 #define        ICB_VERSION1    1
 
@@ -476,6 +485,7 @@
 #define        ICBOPT_STOP_ON_QFULL    0x1000
 #define        ICBOPT_FULL_LOGIN       0x2000
 #define        ICBOPT_USE_PORTNAME     0x4000
+#define        ICBOPT_EXTENDED         0x8000
 
 
 #define        ICB_MIN_FRMLEN          256
@@ -604,380 +614,4 @@
 #define        SNS_GAN_RESP_SIZE       608     /* Maximum response size (bytes) */
 #define        SNS_GP3_RESP_SIZE       532     /* XXX: For 128 ports */
 
-/*
- * Target Mode Structures
- */
-#define TGTSVALID      0x80    /* scsi status & sense data valid */
-#define        SUGGSENSELEN    18
-
-/*
- * Structure for Enable Lun and Modify Lun queue entries
- */
-typedef struct {
-       isphdr_t                le_header;
-       u_int32_t               le_reserved2;
-       u_int8_t                le_lun;
-       u_int8_t                le_rsvd;
-       u_int8_t                le_ops;         /* Modify LUN only */
-       u_int8_t                le_tgt;         /* Not for FC */
-       u_int32_t               le_flags;       /* Not for FC */
-       u_int8_t                le_status;
-       u_int8_t                le_rsvd2;
-       u_int8_t                le_cmd_count;
-       u_int8_t                le_in_count;
-       u_int8_t                le_cdb6len;     /* Not for FC */
-       u_int8_t                le_cdb7len;     /* Not for FC */
-       u_int16_t               le_timeout;
-       u_int16_t               le_reserved[20];
-} lun_entry_t;
-
-/*
- * le_flags values
- */
-#define LUN_TQAE       0x00000001      /* Tagged Queue Action Enable */
-#define LUN_DSSM       0x01000000      /* Disable Sending SDP Message */
-#define LUN_DM         0x40000000      /* Disconnects Mandatory */
-
-/*
- * le_ops values
- */
-#define LUN_CCINCR     0x01    /* increment command count */
-#define LUN_CCDECR     0x02    /* decrement command count */
-#define LUN_ININCR     0x40    /* increment immed. notify count */
-#define LUN_INDECR     0x80    /* decrement immed. notify count */
-
-/*
- * le_status values
- */
-#define LUN_ERR                0x04    /* request completed with error */
-#define LUN_INVAL      0x06    /* invalid request */
-#define LUN_NOCAP      0x16    /* can't provide requested capability */
-#define LUN_ENABLED    0x3E    /* LUN already enabled */
-
-/*
- * Immediate Notify Entry structure
- */
-#define IN_MSGLEN      8       /* 8 bytes */
-#define IN_RSVDLEN     8       /* 8 words */
-typedef struct {
-       isphdr_t        in_header;
-       u_int32_t       in_reserved2;
-       u_int8_t        in_lun;                 /* lun */
-       u_int8_t        in_iid;                 /* initiator */
-       u_int8_t        in_rsvd;
-       u_int8_t        in_tgt;                 /* target */
-       u_int32_t       in_flags;
-       u_int8_t        in_status;
-       u_int8_t        in_rsvd2;
-       u_int8_t        in_tag_val;             /* tag value */
-       u_int8_t        in_tag_type;            /* tag type */
-       u_int16_t       in_seqid;               /* sequence id */
-       u_int8_t        in_msg[IN_MSGLEN];      /* SCSI message bytes */
-       u_int16_t       in_reserved[IN_RSVDLEN];
-       u_int8_t        in_sense[SUGGSENSELEN]; /* suggested sense data */
-} in_entry_t;
-
-typedef struct {
-       isphdr_t        in_header;
-       u_int32_t       in_reserved2;
-       u_int8_t        in_lun;         /* lun */
-       u_int8_t        in_iid;         /* initiator */
-       u_int16_t       in_rsvd;
-       u_int32_t       in_rsvd2;
-       u_int16_t       in_status;
-       u_int16_t       in_task_flags;
-       u_int16_t       in_seqid;       /* sequence id */
-} in_fcentry_t;
-
-/*
- * Values for the in_status field
- */
-#define IN_NO_RCAP     0x16    /* requested capability not available */
-#define IN_IDE_RECEIVED        0x33    /* Initiator Detected Error msg received */
-#define IN_RSRC_UNAVAIL        0x34    /* resource unavailable */
-#define IN_MSG_RECEIVED        0x36    /* SCSI message received */
-#define        IN_PORT_LOGOUT  0x29    /* port has logged out (FC) */
-#define        IN_ABORT_TASK   0x20    /* task named in RX_ID is being aborted (FC) */
-
-/*
- * Notify Acknowledge Entry structure
- */
-#define NA_RSVDLEN     22
-typedef struct {
-       isphdr_t        na_header;
-       u_int32_t       na_reserved2;
-       u_int8_t        na_lun;         /* lun */
-       u_int8_t        na_iid;         /* initiator */
-       u_int8_t        na_rsvd;
-       u_int8_t        na_tgt;         /* target */
-       u_int32_t       na_flags;
-       u_int8_t        na_status;
-       u_int8_t        na_event;
-       u_int16_t       na_seqid;       /* sequence id */
-       u_int16_t       na_reserved[NA_RSVDLEN];
-} na_entry_t;
-
-/*
- * Value for the na_event field
- */
-#define NA_RST_CLRD    0x80    /* Clear an async event notification */
-
-#define        NA2_RSVDLEN     21
-typedef struct {
-       isphdr_t        na_header;
-       u_int32_t       na_reserved2;
-       u_int8_t        na_lun;         /* lun */
-       u_int8_t        na_iid;         /* initiator */
-       u_int16_t       na_rsvd;
-       u_int16_t       na_flags;
-       u_int16_t       na_rsvd2;
-       u_int16_t       na_status;
-       u_int16_t       na_task_flags;
-       u_int16_t       na_seqid;       /* sequence id */
-       u_int16_t       na_reserved[NA2_RSVDLEN];
-} na_fcentry_t;
-#define        NAFC_RST_CLRD   0x40
-
-/*
- * Value for the na_event field
- */
-#define NA_RST_CLRD    0x80    /* Clear an async event notification */
-/*
- * Accept Target I/O Entry structure
- */
-#define ATIO_CDBLEN    26
-
-typedef struct {
-       isphdr_t        at_header;
-       u_int32_t       at_reserved2;
-       u_int8_t        at_lun;                 /* lun */
-       u_int8_t        at_iid;                 /* initiator */
-       u_int8_t        at_cdblen;              /* cdb length */
-       u_int8_t        at_tgt;                 /* target */
-       u_int32_t       at_flags;       
-       u_int8_t        at_status;              /* firmware status */
-       u_int8_t        at_scsi_status;         /* scsi status */
-       u_int8_t        at_tag_val;             /* tag value */
-       u_int8_t        at_tag_type;            /* tag type */
-       u_int8_t        at_cdb[ATIO_CDBLEN];    /* received CDB */
-       u_int8_t        at_sense[SUGGSENSELEN]; /* suggested sense data */
-} at_entry_t;
-
-/*
- * at_flags values
- */
-#define AT_NODISC      0x00008000      /* disconnect disabled */
-#define AT_TQAE                0x00000001      /* Tagged Queue Action enabled */
-
-/*
- * at_status values
- */
-#define AT_PATH_INVALID        0x07    /* ATIO sent to firmware for disabled lun */
-#define AT_PHASE_ERROR 0x14    /* Bus phase sequence error */
-#define AT_NOCAP       0x16    /* Requested capability not available */
-#define AT_BDR_MSG     0x17    /* Bus Device Reset msg received */
-#define AT_CDB         0x3D    /* CDB received */
-
-/*
- * Accept Target I/O Entry structure, Type 2
- */
-#define ATIO2_CDBLEN   16
-
-typedef struct {
-       isphdr_t        at_header;      
-       u_int32_t       at_reserved2;
-       u_int8_t        at_lun;                 /* lun */
-       u_int8_t        at_iid;                 /* initiator */
-       u_int16_t       at_rxid;                /* response ID */
-       u_int16_t       at_flags;
-       u_int16_t       at_status;              /* firmware status */
-       u_int8_t        at_reserved1;
-       u_int8_t        at_taskcodes;
-       u_int8_t        at_taskflags;
-       u_int8_t        at_execodes;
-       u_int8_t        at_cdb[ATIO2_CDBLEN];   /* received CDB */
-       u_int32_t       at_datalen;             /* allocated data len */
-       u_int16_t       at_scclun;
-       u_int16_t       at_reserved3;
-       u_int16_t       at_scsi_status;
-       u_int8_t        at_sense[SUGGSENSELEN]; /* suggested sense data */
-} at2_entry_t;
-
-#define        ATIO2_TC_ATTR_MASK      0x7
-#define        ATIO2_TC_ATTR_SIMPLEQ   0
-#define        ATIO2_TC_ATTR_HEADOFQ   1
-#define        ATIO2_TC_ATTR_ORDERED   2
-#define        ATIO2_TC_ATTR_ACAQ      4
-#define        ATIO2_TC_ATTR_UNTAGGED  5
-#define        TC2TT(code)     \
-       (((code) == ATIO2_TC_ATTR_SIMPLEQ)? 0x20 : \
-       (((code) == ATIO2_TC_ATTR_HEADOFQ)? 0x21 : \
-       (((code) == ATIO2_TC_ATTR_ORDERED)? 0x22 : \
-       (((code) == ATIO2_TC_ATTR_ACAQ)? 0x24 : 0))))
-            
-
-/*
- * Continue Target I/O Entry structure
- * Request from driver. The response from the
- * ISP firmware is the same except that the last 18
- * bytes are overwritten by suggested sense data if
- * the 'autosense valid' bit is set in the status byte.
- */
-typedef struct {
-       isphdr_t        ct_header;
-       u_int32_t       ct_reserved;
-       u_int8_t        ct_lun;         /* lun */
-       u_int8_t        ct_iid;         /* initiator id */
-       u_int8_t        ct_rsvd;
-       u_int8_t        ct_tgt;         /* our target id */
-       u_int32_t       ct_flags;
-       u_int8_t        ct_status;      /* isp status */



Home | Main Index | Thread Index | Old Index