Annotation of 43BSDReno/sys/hp300/frame.h, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.