Annotation of Gnu-Mach/scsi/mapped_scsi.h, revision 1.1.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.