|
|
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: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.