Annotation of Gnu-Mach/scsi/mapped_scsi.h, revision 1.1

1.1     ! root        1: /* 
        !             2:  * Mach Operating System
        !             3:  * Copyright (c) 1991,1990,1989 Carnegie Mellon University
        !             4:  * All Rights Reserved.
        !             5:  * 
        !             6:  * Permission to use, copy, modify and distribute this software and its
        !             7:  * documentation is hereby granted, provided that both the copyright
        !             8:  * notice and this permission notice appear in all copies of the
        !             9:  * software, derivative works or modified versions, and any portions
        !            10:  * thereof, and that both notices appear in supporting documentation.
        !            11:  * 
        !            12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
        !            13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
        !            14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
        !            15:  * 
        !            16:  * Carnegie Mellon requests users of this software to return to
        !            17:  * 
        !            18:  *  Software Distribution Coordinator  or  [email protected]
        !            19:  *  School of Computer Science
        !            20:  *  Carnegie Mellon University
        !            21:  *  Pittsburgh PA 15213-3890
        !            22:  * 
        !            23:  * any improvements or extensions that they make and grant Carnegie Mellon
        !            24:  * the rights to redistribute these changes.
        !            25:  */
        !            26: /*
        !            27:  *     File: mapped_scsi.h
        !            28:  *     Author: Alessandro Forin, Carnegie Mellon University
        !            29:  *     Date:   11/90
        !            30:  *
        !            31:  *     Definitions for the User-level SCSI Driver
        !            32:  */
        !            33: 
        !            34: /*
        !            35:  * HBA chips of various sorts
        !            36:  */
        !            37: 
        !            38: /* DEC 7061 used on pmaxen */
        !            39: 
        !            40: typedef struct sii_volatile_regs {
        !            41:        unsigned short          sii_conn_csr;
        !            42:        unsigned short          sii_data_csr;
        !            43: } *sii_reg_t;
        !            44: 
        !            45: #define        HBA_DEC_7061    0x00000001
        !            46: 
        !            47:                                                /* layout of mapped stuff */
        !            48: #define        SII_REGS_BASE   (SCSI_INFO_BASE+SCSI_INFO_SIZE)
        !            49: #define        SII_REGS_SIZE   PAGE_SIZE
        !            50: #define        SII_RAM_BASE    (SII_REGS_BASE+SII_REGS_SIZE)
        !            51: 
        !            52: 
        !            53: /* National 53C94, used on 3maxen' PMAZ-AA boards */
        !            54: 
        !            55: typedef struct asc_volatile_regs {
        !            56:        unsigned char           csr;
        !            57:        unsigned char           isr;
        !            58:        unsigned char           seq;
        !            59:        unsigned char           cmd;
        !            60: } *asc_reg_t;
        !            61: 
        !            62: #define        HBA_NCR_53c94   0x00000002
        !            63: 
        !            64:                                                /* layout of mapped stuff */
        !            65: #define        ASC_REGS_BASE   (SCSI_INFO_BASE+SCSI_INFO_SIZE)
        !            66: #define        ASC_REGS_SIZE   PAGE_SIZE
        !            67: #define        ASC_DMAR_BASE   (ASC_REGS_BASE+ASC_REGS_SIZE)
        !            68: #define        ASC_DMAR_SIZE   PAGE_SIZE
        !            69: #define        ASC_RAM_BASE    (ASC_DMAR_BASE+ASC_DMAR_SIZE)
        !            70: 
        !            71: /*
        !            72:  * User-mapped information block, common to all
        !            73:  */
        !            74: #define        SCSI_INFO_BASE  0
        !            75: #define        SCSI_INFO_SIZE  PAGE_SIZE
        !            76: 
        !            77: #define        SCSI_MAX_MAPPED_SIZE    (ASC_RAM_BASE+128*1024)
        !            78: 
        !            79: typedef struct {
        !            80:        int                     interrupt_count;/* Counter kept by kernel */
        !            81:        unsigned int            wait_event;     /* To wait for interrupts */
        !            82:        unsigned                ram_size;
        !            83:        int                     hba_type;       /* Tag for regs union */
        !            84:        union {                                 /* Space for regs saved on
        !            85:                                                 * intr.  Only few used */
        !            86:            struct asc_volatile_regs    asc;
        !            87:            struct sii_volatile_regs    sii;
        !            88:        } saved_regs;
        !            89: } *mapped_scsi_info_t;
        !            90: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.