|
|
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 is only permitted until one year after the first shipment ! 11: * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and ! 12: * binary forms are permitted provided that: (1) source distributions retain ! 13: * this entire copyright notice and comment, and (2) distributions including ! 14: * binaries display the following acknowledgement: This product includes ! 15: * software developed by the University of California, Berkeley and its ! 16: * contributors'' in the documentation or other materials provided with the ! 17: * distribution and in all advertising materials mentioning features or use ! 18: * of this software. Neither the name of the University nor the names of ! 19: * its contributors may be used to endorse or promote products derived from ! 20: * this software without specific prior written permission. ! 21: * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 22: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 23: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 24: * ! 25: * from: Utah $Hdr: frame.h 1.6 89/02/24$ ! 26: * ! 27: * @(#)frame.h 7.1 (Berkeley) 5/8/90 ! 28: */ ! 29: ! 30: struct frame { ! 31: int f_regs[16]; ! 32: short f_stackadj; ! 33: u_short f_sr; ! 34: u_int f_pc; ! 35: u_short f_format:4, ! 36: f_vector:12; ! 37: union F_u { ! 38: struct fmt2 { ! 39: u_int f_iaddr; ! 40: } F_fmt2; ! 41: ! 42: struct fmt9 { ! 43: u_int f_iaddr; ! 44: u_short f_iregs[4]; ! 45: } F_fmt9; ! 46: ! 47: struct fmtA { ! 48: u_short f_ir0; ! 49: u_short f_ssw; ! 50: u_short f_ipsc; ! 51: u_short f_ipsb; ! 52: u_int f_dcfa; ! 53: u_short f_ir1, f_ir2; ! 54: u_int f_dob; ! 55: u_short f_ir3, f_ir4; ! 56: } F_fmtA; ! 57: ! 58: struct fmtB { ! 59: u_short f_ir0; ! 60: u_short f_ssw; ! 61: u_short f_ipsc; ! 62: u_short f_ipsb; ! 63: u_int f_dcfa; ! 64: u_short f_ir1, f_ir2; ! 65: u_int f_dob; ! 66: u_short f_ir3, f_ir4; ! 67: u_short f_ir5, f_ir6; ! 68: u_int f_sba; ! 69: u_short f_ir7, f_ir8; ! 70: u_int f_dib; ! 71: u_short f_iregs[22]; ! 72: } F_fmtB; ! 73: } F_u; ! 74: }; ! 75: ! 76: #define f_fmt2 F_u.F_fmt2 ! 77: #define f_fmtA F_u.F_fmtA ! 78: #define f_fmtB F_u.F_fmtB ! 79: ! 80: /* common frame size */ ! 81: #define CFSIZE (sizeof(struct frame) - sizeof(union F_u)) ! 82: #define NFMTSIZE 8 ! 83: ! 84: #define FMT0 0x0 ! 85: #define FMT1 0x1 ! 86: #define FMT2 0x2 ! 87: #define FMT9 0x9 ! 88: #define FMTA 0xA ! 89: #define FMTB 0xB ! 90: ! 91: /* frame specific info sizes */ ! 92: #define FMT0SIZE 0 ! 93: #define FMT1SIZE 0 ! 94: #define FMT2SIZE sizeof(struct fmt2) ! 95: #define FMT9SIZE sizeof(struct fmt9) ! 96: #define FMTASIZE sizeof(struct fmtA) ! 97: #define FMTBSIZE sizeof(struct fmtB) ! 98: ! 99: #define V_BUSERR 0x008 ! 100: #define V_ADDRERR 0x00C ! 101: #define V_TRAP1 0x084 ! 102: ! 103: #define SSW_RC 0x2000 ! 104: #define SSW_RB 0x1000 ! 105: #define SSW_DF 0x0100 ! 106: #define SSW_RM 0x0080 ! 107: #define SSW_RW 0x0040 ! 108: #define SSW_FCMASK 0x0007 ! 109: ! 110: struct fpframe { ! 111: union FPF_u1 { ! 112: u_int FPF_null; ! 113: struct { ! 114: u_char FPF_version; ! 115: u_char FPF_fsize; ! 116: u_short FPF_res1; ! 117: } FPF_nonnull; ! 118: } FPF_u1; ! 119: union FPF_u2 { ! 120: struct fpidle { ! 121: u_short fpf_ccr; ! 122: u_short fpf_res2; ! 123: u_int fpf_iregs1[8]; ! 124: u_int fpf_xops[3]; ! 125: u_int fpf_opreg; ! 126: u_int fpf_biu; ! 127: } FPF_idle; ! 128: ! 129: struct fpbusy { ! 130: u_int fpf_iregs[53]; ! 131: } FPF_busy; ! 132: } FPF_u2; ! 133: u_int fpf_regs[8*3]; ! 134: u_int fpf_fpcr; ! 135: u_int fpf_fpsr; ! 136: u_int fpf_fpiar; ! 137: }; ! 138: ! 139: #define fpf_null FPF_u1.FPF_null ! 140: #define fpf_version FPF_u1.FPF_nonnull.FPF_version ! 141: #define fpf_fsize FPF_u1.FPF_nonnull.FPF_fsize ! 142: #define fpf_res1 FPF_u1.FPF_nonnull.FPF_res1 ! 143: #define fpf_idle FPF_u2.FPF_idle ! 144: #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.