]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/sys/sdi.h
xnu-1456.1.26.tar.gz
[apple/xnu.git] / osfmk / sys / sdi.h
diff --git a/osfmk/sys/sdi.h b/osfmk/sys/sdi.h
deleted file mode 100644 (file)
index 6a92a8e..0000000
+++ /dev/null
@@ -1,505 +0,0 @@
-/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. The rights granted to you under the License
- * may not be used to create, or enable the creation or redistribution of,
- * unlawful or unlicensed copies of an Apple operating system, or to
- * circumvent, violate, or enable the circumvention or violation of, any
- * terms of an Apple operating system software license agreement.
- * 
- * Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
- */
-/*
- * @OSF_COPYRIGHT@
- * 
- */
-/*
- * HISTORY
- * 
- * Revision 1.1.1.1  1998/09/22 21:05:48  wsanchez
- * Import of Mac OS X kernel (~semeria)
- *
- * Revision 1.1.1.1  1998/03/07 02:25:59  wsanchez
- * Import of OSF Mach kernel (~mburg)
- *
- * Revision 1.1.7.1  1996/09/17  16:34:56  bruel
- *     removed size_t, already defined in types.h.
- *     [96/09/17            bruel]
- *
- * Revision 1.1.4.1  1996/04/17  17:48:54  davidp
- *     Created for use with SVR4 drivers.
- *     [1996/04/11  13:19:26  davidp]
- * 
- * Revision 1.1.1.2  1996/03/04  17:53:46  calvert
- *     Created for use with SVR4 drivers.
- * 
- * $EndLog$
- */
-/* In vi use ":set ts=4" to edit/view this file
- */
-#ifndef _SYS_SDI_H_
-#define _SYS_SDI_H_    1
-
-#include "scsi/scsi_endian.h"
-
-typedef u_long paddr_t;
-typedef u_int  rm_key_t;
-
-typedef long   hba_clock_t;
-
-typedef u_long major_t;
-typedef u_long minor_t;
-
-typedef u_long hba_buf_t;      /* just to satisfy declaration */
-typedef u_long hba_uio_t;      /* just to satisfy declaration */
-
-
-struct ver_no {
-       uchar_t                 sv_release;
-       uchar_t                 sv_machine;
-       short                   sv_modes;
-};
-
-struct hba_idata_v4 {
-       int                             version_num;
-       char                    *name;
-       uchar_t                 ha_id;
-       ulong_t                 ioaddr1;
-       int                             dmachan1;
-       int                             iov;
-       int                             cntlr;
-       int                             active;
-       ulong_t                 idata_memaddr;
-       uchar_t                 idata_ctlorder;
-       uchar_t                 idata_nbus;
-       ushort_t                idata_ntargets;
-       ushort_t                idata_nluns;
-       rm_key_t                idata_rmkey;
-       void                    *idata_intrcookie;
-       int                             idata_cpubind;
-};
-
-struct hba_idata {
-       int                             version_num;
-       char                    *name;
-       uchar_t                 ha_id;
-       ulong_t                 ioaddr1;
-       int                             dmachan1;
-       int                             iov;
-       int                             cntlr;
-       int                             active;
-};
-
-#define HBA_SVR4_2             1
-#define HBA_SVR4_2_2   2
-#define HBA_SVR4_2MP   3
-
-#define HBA_VMASK              0xffff
-
-#define HBA_IDATA_EXT  0x10000
-#define HBA_EXT_INFO   0x20000
-#define HBA_AUTOCONF   0x40000
-
-#define VID_LEN                8
-#define PID_LEN                16
-#define REV_LEN                4
-
-#define INQ_LEN                VID_LEN+PID_LEN+1
-#define INQ_EXLEN      INQ_LEN+REV_LEN
-
-struct ident {
-       BITFIELD_2( unsigned char,
-                                       id_type : 5,
-                                       id_pqual : 3);
-       BITFIELD_2(unsigned char,
-                                       id_qualif : 7,
-                                       id_rmb : 1);
-       uchar_t                 id_ver;
-       BITFIELD_2(unsigned char,
-                                       id_form : 4,
-                                       id_res1 : 4);
-       uchar_t                 id_len;
-       uchar_t                 id_vu [3];
-       char                    id_vendor [VID_LEN];
-       char                    id_prod [PID_LEN];
-       char                    id_revnum [REV_LEN];
-};
-
-#define SCSI_INQ_CON   0x0
-#define SCSI_INQ_TC            0x1
-#define SCSI_INQ_TNC   0x3
-
-struct scsi_adr {
-       int     scsi_ctl;
-       int     scsi_target;
-       int     scsi_lun;
-       int     scsi_bus;
-};
-
-struct scsi_ad {
-       ulong_t                 sa_major;
-       ulong_t                 sa_minor;
-       uchar_t                 sa_lun;
-       BITFIELD_2(unsigned char,
-                                       sa_bus : 3,
-                                       sa_exta : 5);
-       short                   sa_ct;
-};
-
-/* sa_ct */
-#define SDI_SA_CT(c,t) (((c) << 3) | ((t) & 0x07))
-#define SDI_HAN(sa)            (((sa)->sa_ct >> 3) & 0x07)
-#define SDI_TCN(sa)            ((sa)->sa_ct & 0x07)
-
-#define SDI_ETCN(sa)           ((sa)->sa_exta)
-#define SDI_EHAN(sa)           (((sa)->sa_ct >> 3) & 0x1f)
-
-struct sdi_edt {
-       struct sdi_edt  *hash_p;
-       short                   hba_no;
-       uchar_t                 scsi_id;
-       uchar_t                 lun;
-       struct owner    *curdrv;
-       struct owner    *owner_list;
-       ulong_t                 res1;
-       int                             pdtype;
-       uchar_t                 iotype;
-       char                    inquiry [INQ_EXLEN];
-       struct scsi_adr scsi_adr;
-       ulong_t                 memaddr;
-       uchar_t                 ctlorder;
-       struct ident    edt_ident;
-};
-
-/* iotype */
-#define F_DMA          0x001
-#define F_DMA_24       F_DMA
-#define F_PIO          0x002
-#define F_SCGTH                0x004
-#define F_RMB          0x008
-#define F_DMA_32       0x010
-#define F_HDWREA       0x020
-#define F_RESID                0x040
-
-struct mod_operations {
-       int     (*modm_install)(void);
-       int     (*modm_remove)(void);
-       int     (*modm_info)(void);
-       int     (*modm_bind)(void);
-};
-
-struct modlink {
-       struct mod_operations   *ml_ops;
-       void                                    *ml_type_data;
-};
-
-struct mod_type_data {
-       char    *mtd_info;
-       void    *mtd_pdata;
-};
-
-struct modwrapper {
-       int                             mw_rev;
-       int                             (*mw_load)(void);
-       int                             (*mw_unload)(void);
-       void                    (*mw_halt)(void);
-       void                    *mw_conf_data;
-       struct modlink  *mw_modlink;
-};
-
-struct hbadata {
-       struct xsb *sb;
-};
-
-typedef struct physreq {
-       paddr_t         phys_align;
-       paddr_t         phys_boundary;
-       uchar_t         phys_dmasize;
-       uchar_t         phys_max_scgth;
-       uchar_t         phys_flags;
-       void            *phys_brkup_poolp;
-} physreq_t;
-
-
-typedef struct bcb {
-       uchar_t         bcb_addrtypes;
-       uchar_t         bcb_flags;
-       size_t          bcb_max_xfer;
-       size_t          bcb_granularity;
-       physreq_t       *bcb_physreqp;
-} bcb_t;
-
-struct hbagetinfo {
-       char    *name;
-       char    iotype;
-       bcb_t   *bcbp;
-};
-
-struct hba_info {
-       int                             *hba_flag;
-       ulong_t                 max_xfer;
-       long                    (*hba_freeblk)(struct hbadata *hdp, int cntlr);
-       struct hbadata  *(*hba_getblk)(int flag, int cntlr);
-       long                    (*hba_icmd)(struct hbadata *hdp, int flag);
-       void                    (*hba_getinfo)(struct scsi_ad *sap,
-                                               struct hbagetinfo *hgip);
-       long                    (*hba_send)(struct hbadata *hdp, int flag);
-       int                             (*hba_xlat)(struct hbadata *hdp, int bflag, void *procp,
-                                               int flag);
-       int                             (*hba_open)(void);
-       int                             (*hba_close)(void);
-       int                             (*hba_ioctl)(void);
-};
-
-/* hba_flag */
-#define HBA_MP         0x01
-#define HBA_HOT                0x02
-#define HBA_TIMEOUT    0x04
-
-#define SC_EXHAN(minor)        (((minor) >> 5) & 0x1f)
-#define SC_EXTCN(minor)        ((((minor) >> 2) & 0x07) | ((minor >> 7) & 0x18))
-#define SC_EXLUN(minor)        (((minor) & 0x03) | ((minor>>10) & 0x1C))
-#define SC_BUS(minor)  (((minor) >> 15) & 0x07)
-
-#define SC_MKMINOR(h,t,l,b)    ( \
-                                                               (((h) & 0x1f) << 5) | \
-                                                               (((t) & 0x07) << 2) | (((t) & 0x18) << 7) | \
-                                                               ((l) & 0x03) | (((l) & 0x1c) << 10) | \
-                                                               (((b) & 0x07) << 15) \
-                                                       )
-
-#define SDI_NAMESZ             49
-
-#define SM_POOLSIZE            28
-#define LG_POOLSIZE            (sizeof (struct xsb))
-
-#define SCB_TYPE       1
-#define ISCB_TYPE      2
-#define SFB_TYPE       3
-
-#define SCB_WRITE      0x00
-#define SCB_READ       0x01
-#define SCB_LINK       0x02
-#define SCB_HAAD       0x04
-#define SCB_PARTBLK    0x08
-
-#define SDI_NOALLOC    0x00000000
-#define SDI_ASW                0x00000001
-#define SDI_LINKF0     0x00000002
-#define SDI_LINKF1     0x00000003
-#define SDI_QFLUSH     0xE0000004
-#define SDI_ABORT      0xF0000005
-#define SDI_RESET      0xF0000006
-#define SDI_CRESET     0xD0000007
-#define SDI_V2PERR     0xA0000008
-#define SDI_TIME       0xD0000009
-#define SDI_NOTEQ      0x8000000A
-#define SDI_HAERR      0xE000000B
-#define SDI_MEMERR     0xA000000C
-#define SDI_SBUSER     0xA000000D
-#define SDI_CKSTAT     0xD000000E
-#define SDI_SCBERR     0x8000000F
-#define SDI_OOS                0xA0000010
-#define SDI_NOSELE     0x90000011
-#define SDI_MISMAT     0x90000012
-#define SDI_PROGRES    0x00000013
-#define SDI_UNUSED     0x00000014
-#define SDI_ONEIC      0x80000017
-#define SDI_SFBERR     0x80000019
-#define SDI_TCERR      0x9000001A
-
-#define SDI_ERROR      0x80000000
-#define SDI_RETRY      0x40000000
-#define SDI_MESS       0x20000000
-#define SDI_SUSPEND    0x10000000
-
-#define SFB_NOPF               0x00
-#define SFB_RESETM             0x01
-#define SFB_ABORTM             0x02
-#define SFB_FLUSHR             0x03
-#define SFB_RESUME             0x04
-#define SFB_SUSPEND            0x05
-#define SFB_ADD_DEV            0x06
-#define SFB_RM_DEV             0x07
-#define SFB_PAUSE              0x08
-#define SFB_CONTINUE   0x09
-
-#define SDI_386_AT             0x06
-#define SDI_386_MCA            0x07
-#define SDI_386_EISA   0x08
-
-#define SDI_RET_OK             0
-#define SDI_RET_ERR            -1
-#define SDI_RET_RETRY  1
-
-#define SDI_SEND               0x0081
-#define SDI_TRESET             0x0082
-#define SDI_BRESET             0x0084
-#define HA_VER                 0x0083
-#define SDI_RESERVE            0x0085
-#define SDI_RELEASE            0x0086
-#define SDI_RESTAT             0x0087
-#define HA_GETPARMS            0x008a
-#define IHA_GETPARMS   0x008b
-#define HA_SETPARMS            0x008c
-#define IHA_SETPARMS   0x008d
-#define HA_GETPPARMS   0x008e
-
-struct sense {
-       uchar_t                 sd_pad0;
-       BITFIELD_2(unsigned char,
-                                       sd_errc : 7,
-                                       sd_valid : 1);
-       uchar_t                 sd_res1;
-       BITFIELD_5(unsigned char,
-                                       sd_key : 4,
-                                       sd_res2 : 1,
-                                       sd_ili : 1,
-                                       sd_eom : 1,
-                                       sd_fm : 1);
-       uint_t                  sd_ba;
-       uchar_t                 sd_len;
-       uchar_t                 sd_res3 [4];
-       uchar_t                 sd_sencode;
-       uchar_t                 sd_qualifier;
-       uchar_t                 sd_fru;
-       BITFIELD_5(unsigned char,
-                                       sd_bitpt : 3,
-                                       sd_bpv : 1,
-                                       sd_res4 : 2,
-                                       sd_cd : 1,
-                                       sd_res5 : 1);
-       uchar_t                 sd_field [2];
-       uchar_t                 sd_res6;
-       uchar_t                 sd_buffer;
-       uchar_t                 sd_res7 [2];
-};
-
-
-struct sb_extra {
-       struct sense    sb_sense;
-};
-
-#define sc_priv                sc_extra
-
-struct sb;
-
-struct scb {
-       ulong_t                 sc_comp_code;
-       void                    *sc_extra;
-       void                    (*sc_int)(struct sb *sbp);
-       caddr_t                 sc_cmdpt;
-       caddr_t                 sc_datapt;
-       long                    sc_wd;
-       time_t                  sc_time;
-       struct scsi_ad  sc_dev;
-       ushort_t                sc_mode;
-       uchar_t                 sc_status;
-       char                    sc_fill;
-       struct sb               *sc_link;
-       long                    sc_cmdsz;
-       long                    sc_datasz;
-       long                    sc_resid;
-       hba_clock_t             sc_start;
-};
-
-struct sfb {
-       ulong_t                 sf_comp_code;
-       char                    *sf_priv;
-       void                    (*sf_int)(struct sb *sbp);
-       struct scsi_ad  sf_dev;
-       ulong_t                 sf_func;
-       int                             sf_wd;
-};
-
-struct sb {
-       ulong_t                 sb_type;
-       union {
-               struct scb      b_scb;
-               struct sfb      b_sfb;
-       } sb_b;
-};
-
-#define SCB            sb_b.b_scb
-#define SFB            sb_b.b_sfb
-
-struct xsb {
-       struct sb               sb;
-       struct hbadata  *hbadata_p;
-       struct owner    *owner_p;
-       struct sb_extra extra;
-};
-
-#define S_GOOD         0X00
-#define S_CKCON                0X02
-#define S_METGD                0X04
-#define S_BUSY         0X08
-#define S_INGD         0X10
-#define S_INMET                0X12
-#define S_RESER                0X18
-#define S_CTERM                0x22
-#define S_QFULL                0x28
-
-#define SLEEP                  0
-#define NOSLEEP                        1
-
-#define KM_SLEEP               SLEEP
-#define KM_NOSLEEP             NOSLEEP
-#define KM_DMA                 2
-#define KM_REQ_DMA             4
-#define KM_PHYSCONTIG  8
-
-struct mod_drvintr {
-       ushort_t        di_magic;
-       ushort_t        di_version;
-       char            *di_modname;
-       int                     *di_devflagp;
-       void            (*di_handler)(int vect);
-       void            *di_hook;
-};
-
-#define MOD_INTR_MAGIC 0xEB13
-#define MOD_INTR_VER   1
-
-struct o_mod_drvintr {
-       struct intr_info        *drv_intrinfo;
-       void                            (*ihndler)(int vect);
-};
-
-#define MOD_INTRVER_MASK       0xff000000
-#define MOD_INTRVER_42         0x01000000
-
-#define INTRVER(infop) ((unsigned int)((infop)->ivect_no & MOD_INTRVER_MASK))
-#define INTRNO(infop)  ((infop)->ivect_no & ~MOD_INTRVER_MASK)
-
-struct intr_info0 {
-       int     ivect_no;
-       int     int_pri;
-       int     itype;
-};
-
-struct intr_info {
-       int     ivect_no;
-       int     int_pri;
-       int     itype;
-       int     int_cpu;
-       int     int_mp;
-};
-
-#endif /* _SYS_SDI_H_ */