[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

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