Annotation of lucent/sys/src/libmach/6.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * 960 definition
        !             3:  */
        !             4: #include <u.h>
        !             5: #include <bio.h>
        !             6: #include <mach.h>
        !             7: 
        !             8: #define        MINREG  0
        !             9: #define        MAXREG  0
        !            10: 
        !            11: #define USIZE          0x1000
        !            12: #define UR(x)          (USIZE-((32)*4)+4*(x))
        !            13: 
        !            14: /*
        !            15:  *  until we decide how we'll take faults, we really
        !            16:  *  don't know what the saved regs will look like.
        !            17:  *  this is just a guess. -- presotto
        !            18:  */
        !            19: #define SP     UR(29)
        !            20: #define PC     UR(30)
        !            21: #define        R4      UR(4)
        !            22: 
        !            23: Reglist i960reglist[] = {
        !            24:        { "R0",         UR(0), RINT, 'X'},
        !            25:        { "R1",         UR(1), RINT, 'X'},
        !            26:        { "R2",         UR(2), RINT, 'X'},
        !            27:        { "R3",         UR(3), RINT, 'X'},
        !            28:        { "R4",         UR(4), RINT, 'X'},
        !            29:        { "R5",         UR(5), RINT, 'X'},
        !            30:        { "R6",         UR(6), RINT, 'X'},
        !            31:        { "R7",         UR(7), RINT, 'X'},
        !            32:        { "R8",         UR(8), RINT, 'X'},
        !            33:        { "R9",         UR(9), RINT, 'X'},
        !            34:        { "R10",        UR(10), RINT, 'X'},
        !            35:        { "R11",        UR(11), RINT, 'X'},
        !            36:        { "R12",        UR(12), RINT, 'X'},
        !            37:        { "R13",        UR(13), RINT, 'X'},
        !            38:        { "R14",        UR(14), RINT, 'X'},
        !            39:        { "R15",        UR(15), RINT, 'X'},
        !            40:        { "R16",        UR(16), RINT, 'X'},
        !            41:        { "R17",        UR(17), RINT, 'X'},
        !            42:        { "R18",        UR(18), RINT, 'X'},
        !            43:        { "R19",        UR(19), RINT, 'X'},
        !            44:        { "R20",        UR(20), RINT, 'X'},
        !            45:        { "R21",        UR(21), RINT, 'X'},
        !            46:        { "R22",        UR(22), RINT, 'X'},
        !            47:        { "R23",        UR(23), RINT, 'X'},
        !            48:        { "R24",        UR(24), RINT, 'X'},
        !            49:        { "R25",        UR(25), RINT, 'X'},
        !            50:        { "R26",        UR(26), RINT, 'X'},
        !            51:        { "TMP",        UR(27), RINT, 'X'},
        !            52:        { "SB",         UR(28), RINT, 'X'},
        !            53:        { "SP",         SP, RINT, 'X'},
        !            54:        { "PC",         PC, RINT, 'X'},
        !            55:        { "R31",        UR(31), RINT, 'X' },
        !            56:        {  0 }
        !            57: };
        !            58: 
        !            59: Mach mi960 =
        !            60: {
        !            61:        "960",
        !            62:        MI960,          /* machine type */
        !            63:        i960reglist,            /* register list */
        !            64:        MINREG,         /* minimum register */
        !            65:        MAXREG,         /* maximum register */
        !            66:        "PC",
        !            67:        "SP",
        !            68:        0,              /* link register */
        !            69:        R4,             /* return register */
        !            70:        0x1000,         /* page size */
        !            71:        0x80000000,     /* kernel base */
        !            72:        0,              /* kernel text mask */
        !            73:        0,              /* offset of ksp in /proc/proc */
        !            74:        0,              /* correction to ksp value */
        !            75:        4,              /* offset of kpc in /proc/proc */
        !            76:        0,              /* correction to kpc value */
        !            77:        0,              /* offset in ublk of syscall #*/
        !            78:        1,              /* quantization of pc */
        !            79:        "setSB",        /* static base register name */
        !            80:        0,              /* value */
        !            81:        4,              /* szaddr */
        !            82:        4,              /* szreg */
        !            83:        4,              /* szfloat */
        !            84:        8,              /* szdouble */
        !            85: };

unix.superglobalmegacorp.com

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