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