[BACK]Return to rpb.h CVS log [TXT][DIR] Up to [local] / sys / arch / vax / include

Annotation of sys/arch/vax/include/rpb.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: rpb.h,v 1.10 2002/06/11 09:36:24 hugh Exp $ */
        !             2: /*     $NetBSD: rpb.h,v 1.6 1998/07/01 09:37:11 ragge Exp $ */
        !             3: /*
        !             4:  * Copyright (c) 1995 Ludd, University of Lule}, Sweden.
        !             5:  * All rights reserved.
        !             6:  *
        !             7:  * This code is derived from software contributed to Ludd by Bertram Barth.
        !             8:  *
        !             9:  * Redistribution and use in source and binary forms, with or without
        !            10:  * modification, are permitted provided that the following conditions
        !            11:  * are met:
        !            12:  * 1. Redistributions of source code must retain the above copyright
        !            13:  *    notice, this list of conditions and the following disclaimer.
        !            14:  * 2. Redistributions in binary form must reproduce the above copyright
        !            15:  *    notice, this list of conditions and the following disclaimer in the
        !            16:  *    documentation and/or other materials provided with the distribution.
        !            17:  * 3. All advertising materials mentioning features or use of this software
        !            18:  *    must display the following acknowledgement:
        !            19:  *      This product includes software developed at Ludd, University of
        !            20:  *      Lule}, Sweden and its contributors.
        !            21:  * 4. The name of the author may not be used to endorse or promote products
        !            22:  *    derived from this software without specific prior written permission
        !            23:  *
        !            24:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
        !            25:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
        !            26:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
        !            27:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
        !            28:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
        !            29:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
        !            30:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        !            31:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
        !            32:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
        !            33:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        !            34:  */
        !            35:
        !            36: /*
        !            37:  * Look at "VAX/VMS Internals and Data Structures" around page 907
        !            38:  * to get more info about RPB.
        !            39:  */
        !            40:
        !            41: struct rpb {           /* size         description */
        !            42:        struct rpb *rpb_base;   /* 4  physical base address of block */
        !            43:        void    (*rpb_restart)(void);/* 4  physical address of restart routine */
        !            44:        long    rpb_chksum;/* 4  checksum of first 31 longwords of restart */
        !            45:        long    rpb_rstflg;     /* 4  Restart in progress flag */
        !            46:        long    rpb_haltpc;     /* 4  PC at HALT/restart */
        !            47:                        /* offset: 20 */
        !            48:        long    rpb_haltpsl;/* 4  PSL at HALT/restart */
        !            49:        long    rpb_haltcode;/* 4  reason for restart */
        !            50:        long    rpb_bootr0;/* 24  Saved bootstrap parameters (R0 through R5) */
        !            51:        long    rpb_bootr1;
        !            52:        long    rpb_bootr2;
        !            53:        long    rpb_bootr3;
        !            54:        long    rpb_bootr4;
        !            55:        long    rpb_bootr5;
        !            56:        long    iovec;  /* 4  Address of bootstrap driver */
        !            57:        long    iovecsz;/* 4  Size (in bytes) of bootstrap driver */
        !            58:                        /* offset: 60 */
        !            59:        long    fillbn; /* 4  LBN of seconday bootstrap file */
        !            60:        long    filsiz; /* 4  Size (in blocks) of seconday bootstrap file */
        !            61:        long    pfnmap[2];      /* 8  Descriptor of PFN bitmap */
        !            62:        long    pfncnt; /* 4  Count of physical pages */
        !            63:                        /* offset: 80 */
        !            64:        long    svaspt; /* 4  system virtual address of system page table */
        !            65:        long    csrphy; /* 4  Physical Address of UBA device CSR */
        !            66:        long    csrvir; /* 4  Virtual Address of UBA device CSR */
        !            67:        long    adpphy; /* 4  Physical Address of adapter configurate reg. */
        !            68:        long    adpvir; /* 4  Virtual Address of adapter configurate reg. */
        !            69:                        /* offset: 100 */
        !            70:        short   unit;   /* 2  Bootstrap device unit number */
        !            71:        u_char  devtyp; /* 1  Bootstrap device type code */
        !            72:        u_char  slave;  /* 1  Bootstrap device slave unit number */
        !            73:        char    file[40];       /* 40  Secondary bootstrap file name */
        !            74:        u_char  confreg[16];    /* 16  Byte array of adapter types */
        !            75:                        /* offset: 160 */
        !            76: #if 0
        !            77:        u_char  hdrpgcnt; /* 1  Count of header pages in 2nd bootstrap image */
        !            78:        short   bootndt;/* 2  Type of boot adapter */
        !            79:        u_char  flags;  /* 1  Miscellaneous flag bits */
        !            80: #else
        !            81:        long    align;  /* if the compiler doesnt proper alignment */
        !            82: #endif
        !            83:        long    max_pfn;/* 4  Absolute highest PFN */
        !            84:        long    sptep;  /* 4  System space PTE prototype register */
        !            85:        long    sbr;    /* 4  Saved system base register */
        !            86:        long    cpudbvec;/* 4  Physical address of per-CPU database vector */
        !            87:                        /* offset: 180 */
        !            88:        long    cca_addr;       /* 4  Physical address of CCA */
        !            89:        long    slr;    /* 4  Saved system length register */
        !            90:        long    memdesc[16];    /* 64  Longword array of memory descriptors */
        !            91:        long    smp_pc; /* 4  SMP boot page physical address */
        !            92:        long    wait;   /* 4  Bugcheck loop code for attached processor */
        !            93:                        /* offset: 260 */
        !            94:        long    badpgs; /* 4  Number of bad pages found in memory scan */
        !            95:        u_char  ctrlltr;/* 1  Controller letter designation */
        !            96:        u_char  scbpagct;       /* 1  SCB page count */
        !            97:        u_char  reserved[6];    /* 6  -- */
        !            98:        long    vmb_revision;   /* 4  VMB revision label */
        !            99: };
        !           100:
        !           101: /*
        !           102:  * Bootstrap device number encoding.
        !           103:  */
        !           104: #define        BDEV_HP         0
        !           105: #define        BDEV_RK         1
        !           106: #define        BDEV_RL         2
        !           107: #define        BDEV_IDC        3
        !           108: #define        BDEV_UDA        17
        !           109: #define        BDEV_TK         18
        !           110: #define        BDEV_HSC        32
        !           111: #define        BDEV_KDB        33
        !           112: #define        BDEV_KRB        34
        !           113: #define        BDEV_NK         35
        !           114: #define        BDEV_RD         36      /* ST506/MFM disk on HDC9224 */
        !           115: #define        BDEV_ST         37      /* SCSI tape on NCR5380 */
        !           116: #define        BDEV_SD         42      /* SCSI disk on NCR5380 */
        !           117: #define BDEV_SDN       46      /* SCSI disk on NCR5394 */
        !           118: #define        BDEV_CNSL       64
        !           119: #define        BDEV_QE         96
        !           120: #define        BDEV_DE         97
        !           121: #define        BDEV_NI         98
        !           122: #define        BDEV_LE         99
        !           123: #define        BDEV_ZE         100
        !           124:
        !           125: #define        BDEV_NET        BDEV_QE         /* first network BDEV */
        !           126:
        !           127: #ifdef _KERNEL
        !           128: extern struct rpb rpb;
        !           129: #endif

CVSweb