Annotation of researchv10no/cmd/adb/seq/Xregs.h, revision 1.1

1.1     ! root        1: /* $Copyright: $
        !             2:  * Copyright (c) 1984 Sequent Computer Systems, Inc.
        !             3:  * All rights reserved
        !             4:  * 
        !             5:  * This software is furnished under a license and may be used
        !             6:  * only in accordance with the terms of that license and with the
        !             7:  * inclusion of the above copyright notice.   This software may not
        !             8:  * be provided or otherwise made available to, or used by, any
        !             9:  * other person.  No title to or ownership of the software is
        !            10:  * hereby transferred.
        !            11:  */
        !            12: 
        !            13: /*
        !            14:  * $Header: reg.h 1.3 84/12/11 $
        !            15:  *
        !            16:  * reg.h
        !            17:  *     Defines location of the users' stored registers relative to R0.
        !            18:  *
        !            19:  * Usage is u.u_ar0[XX].
        !            20:  */
        !            21: 
        !            22: /* $Log:       reg.h,v $
        !            23:  */
        !            24: 
        !            25: /*
        !            26:  * Assumes use of cxp call into syscall/trap.
        !            27:  * Once in syscall/trap handler, stack looks like:
        !            28:  *
        !            29:  *     modpsr                  user program
        !            30:  *     pc                      return context
        !            31:  *     fp                      user FP
        !            32:  *     old spl value           to restore on exit (nested interrupts)
        !            33:  *     r0                      assumes "enter [r0,r1,r2],ENTLOCL*4"
        !            34:  *     r1
        !            35:  *     r2
        !            36:  *     user SP
        !            37:  *     trap-type               identify trap
        !            38:  *     modpsr                  of locore
        !            39:  *     pc                      into locore
        !            40:  *     fp                      of locore
        !            41:  *     <locals>                # stack variables
        !            42:  *     r3
        !            43:  *     r4
        !            44:  *     r5
        !            45:  *     r6
        !            46:  *     r7
        !            47:  */
        !            48: 
        !            49: #define        TRAPOFF 8               /* delta between sp&r3, includes trap locals */
        !            50: #define        ENTLOCL 1               /* # local words on trap entry */
        !            51: 
        !            52: #define        MODPSR  (R0+(3+ENTLOCL)*4)
        !            53: #define        PS      MODPSR
        !            54: #define        PC_OFF  (R0+(2+ENTLOCL)*4)
        !            55: #define        FP      (R0+(1+ENTLOCL)*4)
        !            56: 
        !            57: #define        R0      (ctob(UPAGES)-0x14)
        !            58: #define        R1      (R0-1*4)
        !            59: #define        R2      (R0-2*4)
        !            60: #define        SP      (R0-3*4)
        !            61: #define        R3      (R0-(4+TRAPOFF)*4)
        !            62: #define        R4      (R0-(5+TRAPOFF)*4)
        !            63: #define        R5      (R0-(6+TRAPOFF)*4)
        !            64: #define        R6      (R0-(7+TRAPOFF)*4)
        !            65: #define        R7      (R0-(8+TRAPOFF)*4)
        !            66: 
        !            67: #define        PSRADJ  (16)            /* # bits offset of PSR in MODPSR */
        !            68: 
        !            69: #define        BADREG  (-1)            /* guaranteed not a valid reg offset */
        !            70: 
        !            71: #define        MAXREG  7               /* biggest register number in stabs */
        !            72: #define        MINREG  0               /* smallest reg number */
        !            73: 
        !            74: #define        PC      (-2)            /* some number */

unix.superglobalmegacorp.com

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