|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1988 University of Utah. ! 3: * Copyright (c) 1982, 1990 The Regents of the University of California. ! 4: * All rights reserved. ! 5: * ! 6: * This code is derived from software contributed to Berkeley by ! 7: * the Systems Programming Group of the University of Utah Computer ! 8: * Science Department. ! 9: * ! 10: * Redistribution and use in source and binary forms, with or without ! 11: * modification, are permitted provided that the following conditions ! 12: * are met: ! 13: * 1. Redistributions of source code must retain the above copyright ! 14: * notice, this list of conditions and the following disclaimer. ! 15: * 2. Redistributions in binary form must reproduce the above copyright ! 16: * notice, this list of conditions and the following disclaimer in the ! 17: * documentation and/or other materials provided with the distribution. ! 18: * 3. All advertising materials mentioning features or use of this software ! 19: * must display the following acknowledgement: ! 20: * This product includes software developed by the University of ! 21: * California, Berkeley and its contributors. ! 22: * 4. Neither the name of the University nor the names of its contributors ! 23: * may be used to endorse or promote products derived from this software ! 24: * without specific prior written permission. ! 25: * ! 26: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ! 27: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ! 28: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ! 29: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ! 30: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ! 31: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ! 32: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ! 33: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ! 34: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ! 35: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ! 36: * SUCH DAMAGE. ! 37: * ! 38: * from: Utah $Hdr: frame.h 1.1 90/07/09$ ! 39: * ! 40: * @(#)frame.h 7.2 (Berkeley) 11/2/90 ! 41: */ ! 42: ! 43: struct frame { ! 44: int f_regs[16]; ! 45: short f_stackadj; ! 46: u_short f_sr; ! 47: u_int f_pc; ! 48: u_short f_format:4, ! 49: f_vector:12; ! 50: union F_u { ! 51: struct fmt2 { ! 52: u_int f_iaddr; ! 53: } F_fmt2; ! 54: ! 55: struct fmt9 { ! 56: u_int f_iaddr; ! 57: u_short f_iregs[4]; ! 58: } F_fmt9; ! 59: ! 60: struct fmtA { ! 61: u_short f_ir0; ! 62: u_short f_ssw; ! 63: u_short f_ipsc; ! 64: u_short f_ipsb; ! 65: u_int f_dcfa; ! 66: u_short f_ir1, f_ir2; ! 67: u_int f_dob; ! 68: u_short f_ir3, f_ir4; ! 69: } F_fmtA; ! 70: ! 71: struct fmtB { ! 72: u_short f_ir0; ! 73: u_short f_ssw; ! 74: u_short f_ipsc; ! 75: u_short f_ipsb; ! 76: u_int f_dcfa; ! 77: u_short f_ir1, f_ir2; ! 78: u_int f_dob; ! 79: u_short f_ir3, f_ir4; ! 80: u_short f_ir5, f_ir6; ! 81: u_int f_sba; ! 82: u_short f_ir7, f_ir8; ! 83: u_int f_dib; ! 84: u_short f_iregs[22]; ! 85: } F_fmtB; ! 86: } F_u; ! 87: }; ! 88: ! 89: #define f_fmt2 F_u.F_fmt2 ! 90: #define f_fmtA F_u.F_fmtA ! 91: #define f_fmtB F_u.F_fmtB ! 92: ! 93: /* common frame size */ ! 94: #define CFSIZE (sizeof(struct frame) - sizeof(union F_u)) ! 95: #define NFMTSIZE 8 ! 96: ! 97: #define FMT0 0x0 ! 98: #define FMT1 0x1 ! 99: #define FMT2 0x2 ! 100: #define FMT9 0x9 ! 101: #define FMTA 0xA ! 102: #define FMTB 0xB ! 103: ! 104: /* frame specific info sizes */ ! 105: #define FMT0SIZE 0 ! 106: #define FMT1SIZE 0 ! 107: #define FMT2SIZE sizeof(struct fmt2) ! 108: #define FMT9SIZE sizeof(struct fmt9) ! 109: #define FMTASIZE sizeof(struct fmtA) ! 110: #define FMTBSIZE sizeof(struct fmtB) ! 111: ! 112: #define V_BUSERR 0x008 ! 113: #define V_ADDRERR 0x00C ! 114: #define V_TRAP1 0x084 ! 115: ! 116: #define SSW_RC 0x2000 ! 117: #define SSW_RB 0x1000 ! 118: #define SSW_DF 0x0100 ! 119: #define SSW_RM 0x0080 ! 120: #define SSW_RW 0x0040 ! 121: #define SSW_FCMASK 0x0007 ! 122: ! 123: struct fpframe { ! 124: union FPF_u1 { ! 125: u_int FPF_null; ! 126: struct { ! 127: u_char FPF_version; ! 128: u_char FPF_fsize; ! 129: u_short FPF_res1; ! 130: } FPF_nonnull; ! 131: } FPF_u1; ! 132: union FPF_u2 { ! 133: struct fpidle { ! 134: u_short fpf_ccr; ! 135: u_short fpf_res2; ! 136: u_int fpf_iregs1[8]; ! 137: u_int fpf_xops[3]; ! 138: u_int fpf_opreg; ! 139: u_int fpf_biu; ! 140: } FPF_idle; ! 141: ! 142: struct fpbusy { ! 143: u_int fpf_iregs[53]; ! 144: } FPF_busy; ! 145: } FPF_u2; ! 146: u_int fpf_regs[8*3]; ! 147: u_int fpf_fpcr; ! 148: u_int fpf_fpsr; ! 149: u_int fpf_fpiar; ! 150: }; ! 151: ! 152: #define fpf_null FPF_u1.FPF_null ! 153: #define fpf_version FPF_u1.FPF_nonnull.FPF_version ! 154: #define fpf_fsize FPF_u1.FPF_nonnull.FPF_fsize ! 155: #define fpf_res1 FPF_u1.FPF_nonnull.FPF_res1 ! 156: #define fpf_idle FPF_u2.FPF_idle ! 157: #define fpf_busy FPF_u2.FPF_busy
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.