Update from Eric Norum:

Change label names so they can be seen from the debugger.
        Provide a start symbol -- gets rid of a loader warning message.
This commit is contained in:
Joel Sherrill
1997-10-08 18:19:43 +00:00
parent 6fd3979f63
commit 7de0960c0b
2 changed files with 540 additions and 530 deletions

View File

@@ -9,8 +9,8 @@
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* Copyright assigned to U.S. Government, 1994. * Copyright assigned to U.S. Government, 1994.
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may in
* found in the file LICENSE in this distribution or at * the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html. * http://www.OARcorp.com/rtems/license.html.
* *
* Based on the `gen68302' board support package, and covered by the * Based on the `gen68302' board support package, and covered by the
@@ -34,273 +34,275 @@ BEGIN_CODE
Entry: Entry:
.long SYM(m360)+1024 | 0: Initial SSP .long SYM(m360)+1024 | 0: Initial SSP
.long start | 1: Initial PC .long start | 1: Initial PC
.long uhoh | 2: Bus error .long SYM(_uhoh) | 2: Bus error
.long uhoh | 3: Address error .long SYM(_uhoh) | 3: Address error
.long uhoh | 4: Illegal instruction .long SYM(_uhoh) | 4: Illegal instruction
.long uhoh | 5: Zero division .long SYM(_uhoh) | 5: Zero division
.long uhoh | 6: CHK, CHK2 instruction .long SYM(_uhoh) | 6: CHK, CHK2 instruction
.long uhoh | 7: TRAPcc, TRAPV instructions .long SYM(_uhoh) | 7: TRAPcc, TRAPV instructions
.long uhoh | 8: Privilege violation .long SYM(_uhoh) | 8: Privilege violation
.long uhoh | 9: Trace .long SYM(_uhoh) | 9: Trace
.long uhoh | 10: Line 1010 emulator .long SYM(_uhoh) | 10: Line 1010 emulator
.long uhoh | 11: Line 1111 emulator .long SYM(_uhoh) | 11: Line 1111 emulator
.long uhoh | 12: Hardware breakpoint .long SYM(_uhoh) | 12: Hardware breakpoint
.long uhoh | 13: Reserved for coprocessor violation .long SYM(_uhoh) | 13: Reserved for coprocessor violation
.long uhoh | 14: Format error .long SYM(_uhoh) | 14: Format error
.long uhoh | 15: Uninitialized interrupt .long SYM(_uhoh) | 15: Uninitialized interrupt
.long uhoh | 16: Unassigned, reserved .long SYM(_uhoh) | 16: Unassigned, reserved
.long uhoh | 17: .long SYM(_uhoh) | 17:
.long uhoh | 18: .long SYM(_uhoh) | 18:
.long uhoh | 19: .long SYM(_uhoh) | 19:
.long uhoh | 20: .long SYM(_uhoh) | 20:
.long uhoh | 21: .long SYM(_uhoh) | 21:
.long uhoh | 22: .long SYM(_uhoh) | 22:
.long uhoh | 23: .long SYM(_uhoh) | 23:
.long spurious_interrupt | 24: Spurious interrupt .long SYM(_spuriousInterrupt) | 24: Spurious interrupt
.long uhoh | 25: Level 1 interrupt autovector .long SYM(_uhoh) | 25: Level 1 interrupt autovector
.long uhoh | 26: Level 2 interrupt autovector .long SYM(_uhoh) | 26: Level 2 interrupt autovector
.long uhoh | 27: Level 3 interrupt autovector .long SYM(_uhoh) | 27: Level 3 interrupt autovector
.long uhoh | 28: Level 4 interrupt autovector .long SYM(_uhoh) | 28: Level 4 interrupt autovector
.long uhoh | 29: Level 5 interrupt autovector .long SYM(_uhoh) | 29: Level 5 interrupt autovector
.long uhoh | 30: Level 6 interrupt autovector .long SYM(_uhoh) | 30: Level 6 interrupt autovector
.long uhoh | 31: Level 7 interrupt autovector .long SYM(_uhoh) | 31: Level 7 interrupt autovector
.long uhoh | 32: Trap instruction (0-15) .long SYM(_uhoh) | 32: Trap instruction (0-15)
.long uhoh | 33: .long SYM(_uhoh) | 33:
.long uhoh | 34: .long SYM(_uhoh) | 34:
.long uhoh | 35: .long SYM(_uhoh) | 35:
.long uhoh | 36: .long SYM(_uhoh) | 36:
.long uhoh | 37: .long SYM(_uhoh) | 37:
.long uhoh | 38: .long SYM(_uhoh) | 38:
.long uhoh | 39: .long SYM(_uhoh) | 39:
.long uhoh | 40: .long SYM(_uhoh) | 40:
.long uhoh | 41: .long SYM(_uhoh) | 41:
.long uhoh | 42: .long SYM(_uhoh) | 42:
.long uhoh | 43: .long SYM(_uhoh) | 43:
.long uhoh | 44: .long SYM(_uhoh) | 44:
.long uhoh | 45: .long SYM(_uhoh) | 45:
.long uhoh | 46: .long SYM(_uhoh) | 46:
.long uhoh | 47: .long SYM(_uhoh) | 47:
.long uhoh | 48: Reserved for coprocessor .long SYM(_uhoh) | 48: Reserved for coprocessor
.long uhoh | 49: .long SYM(_uhoh) | 49:
.long uhoh | 50: .long SYM(_uhoh) | 50:
.long uhoh | 51: .long SYM(_uhoh) | 51:
.long uhoh | 52: .long SYM(_uhoh) | 52:
.long uhoh | 53: .long SYM(_uhoh) | 53:
.long uhoh | 54: .long SYM(_uhoh) | 54:
.long uhoh | 55: .long SYM(_uhoh) | 55:
.long uhoh | 56: .long SYM(_uhoh) | 56:
.long uhoh | 57: .long SYM(_uhoh) | 57:
.long uhoh | 58: .long SYM(_uhoh) | 58:
.long uhoh | 59: Unassigned, reserved .long SYM(_uhoh) | 59: Unassigned, reserved
.long uhoh | 60: .long SYM(_uhoh) | 60:
.long uhoh | 61: .long SYM(_uhoh) | 61:
.long uhoh | 62: .long SYM(_uhoh) | 62:
.long uhoh | 63: .long SYM(_uhoh) | 63:
.long uhoh | 64: User defined vectors (192) .long SYM(_uhoh) | 64: User defined vectors (192)
.long uhoh | 65: .long SYM(_uhoh) | 65:
.long uhoh | 66: .long SYM(_uhoh) | 66:
.long uhoh | 67: .long SYM(_uhoh) | 67:
.long uhoh | 68: .long SYM(_uhoh) | 68:
.long uhoh | 69: .long SYM(_uhoh) | 69:
.long uhoh | 70: .long SYM(_uhoh) | 70:
.long uhoh | 71: .long SYM(_uhoh) | 71:
.long uhoh | 72: .long SYM(_uhoh) | 72:
.long uhoh | 73: .long SYM(_uhoh) | 73:
.long uhoh | 74: .long SYM(_uhoh) | 74:
.long uhoh | 75: .long SYM(_uhoh) | 75:
.long uhoh | 76: .long SYM(_uhoh) | 76:
.long uhoh | 77: .long SYM(_uhoh) | 77:
.long uhoh | 78: .long SYM(_uhoh) | 78:
.long uhoh | 79: .long SYM(_uhoh) | 79:
.long uhoh | 80: .long SYM(_uhoh) | 80:
.long uhoh | 81: .long SYM(_uhoh) | 81:
.long uhoh | 82: .long SYM(_uhoh) | 82:
.long uhoh | 83: .long SYM(_uhoh) | 83:
.long uhoh | 84: .long SYM(_uhoh) | 84:
.long uhoh | 85: .long SYM(_uhoh) | 85:
.long uhoh | 86: .long SYM(_uhoh) | 86:
.long uhoh | 87: .long SYM(_uhoh) | 87:
.long uhoh | 88: .long SYM(_uhoh) | 88:
.long uhoh | 89: .long SYM(_uhoh) | 89:
.long uhoh | 90: .long SYM(_uhoh) | 90:
.long uhoh | 91: .long SYM(_uhoh) | 91:
.long uhoh | 92: .long SYM(_uhoh) | 92:
.long uhoh | 93: .long SYM(_uhoh) | 93:
.long uhoh | 94: .long SYM(_uhoh) | 94:
.long uhoh | 95: .long SYM(_uhoh) | 95:
.long uhoh | 96: .long SYM(_uhoh) | 96:
.long uhoh | 97: .long SYM(_uhoh) | 97:
.long uhoh | 98: .long SYM(_uhoh) | 98:
.long uhoh | 99: .long SYM(_uhoh) | 99:
.long uhoh | 100: .long SYM(_uhoh) | 100:
.long uhoh | 101: .long SYM(_uhoh) | 101:
.long uhoh | 102: .long SYM(_uhoh) | 102:
.long uhoh | 103: .long SYM(_uhoh) | 103:
.long uhoh | 104: .long SYM(_uhoh) | 104:
.long uhoh | 105: .long SYM(_uhoh) | 105:
.long uhoh | 106: .long SYM(_uhoh) | 106:
.long uhoh | 107: .long SYM(_uhoh) | 107:
.long uhoh | 108: .long SYM(_uhoh) | 108:
.long uhoh | 109: .long SYM(_uhoh) | 109:
.long uhoh | 110: .long SYM(_uhoh) | 110:
.long uhoh | 111: .long SYM(_uhoh) | 111:
.long uhoh | 112: .long SYM(_uhoh) | 112:
.long uhoh | 113: .long SYM(_uhoh) | 113:
.long uhoh | 114: .long SYM(_uhoh) | 114:
.long uhoh | 115: .long SYM(_uhoh) | 115:
.long uhoh | 116: .long SYM(_uhoh) | 116:
.long uhoh | 117: .long SYM(_uhoh) | 117:
.long uhoh | 118: .long SYM(_uhoh) | 118:
.long uhoh | 119: .long SYM(_uhoh) | 119:
.long uhoh | 120: .long SYM(_uhoh) | 120:
.long uhoh | 121: .long SYM(_uhoh) | 121:
.long uhoh | 122: .long SYM(_uhoh) | 122:
.long uhoh | 123: .long SYM(_uhoh) | 123:
.long uhoh | 124: .long SYM(_uhoh) | 124:
.long uhoh | 125: .long SYM(_uhoh) | 125:
.long uhoh | 126: .long SYM(_uhoh) | 126:
.long uhoh | 127: .long SYM(_uhoh) | 127:
.long uhoh | 128: .long SYM(_uhoh) | 128:
.long uhoh | 129: .long SYM(_uhoh) | 129:
.long uhoh | 130: .long SYM(_uhoh) | 130:
.long uhoh | 131: .long SYM(_uhoh) | 131:
.long uhoh | 132: .long SYM(_uhoh) | 132:
.long uhoh | 133: .long SYM(_uhoh) | 133:
.long uhoh | 134: .long SYM(_uhoh) | 134:
.long uhoh | 135: .long SYM(_uhoh) | 135:
.long uhoh | 136: .long SYM(_uhoh) | 136:
.long uhoh | 137: .long SYM(_uhoh) | 137:
.long uhoh | 138: .long SYM(_uhoh) | 138:
.long uhoh | 139: .long SYM(_uhoh) | 139:
.long uhoh | 140: .long SYM(_uhoh) | 140:
.long uhoh | 141: .long SYM(_uhoh) | 141:
.long uhoh | 142: .long SYM(_uhoh) | 142:
.long uhoh | 143: .long SYM(_uhoh) | 143:
.long uhoh | 144: .long SYM(_uhoh) | 144:
.long uhoh | 145: .long SYM(_uhoh) | 145:
.long uhoh | 146: .long SYM(_uhoh) | 146:
.long uhoh | 147: .long SYM(_uhoh) | 147:
.long uhoh | 148: .long SYM(_uhoh) | 148:
.long uhoh | 149: .long SYM(_uhoh) | 149:
.long uhoh | 150: .long SYM(_uhoh) | 150:
.long uhoh | 151: .long SYM(_uhoh) | 151:
.long uhoh | 152: .long SYM(_uhoh) | 152:
.long uhoh | 153: .long SYM(_uhoh) | 153:
.long uhoh | 154: .long SYM(_uhoh) | 154:
.long uhoh | 155: .long SYM(_uhoh) | 155:
.long uhoh | 156: .long SYM(_uhoh) | 156:
.long uhoh | 157: .long SYM(_uhoh) | 157:
.long uhoh | 158: .long SYM(_uhoh) | 158:
.long uhoh | 159: .long SYM(_uhoh) | 159:
.long uhoh | 160: .long SYM(_uhoh) | 160:
.long uhoh | 161: .long SYM(_uhoh) | 161:
.long uhoh | 162: .long SYM(_uhoh) | 162:
.long uhoh | 163: .long SYM(_uhoh) | 163:
.long uhoh | 164: .long SYM(_uhoh) | 164:
.long uhoh | 165: .long SYM(_uhoh) | 165:
.long uhoh | 166: .long SYM(_uhoh) | 166:
.long uhoh | 167: .long SYM(_uhoh) | 167:
.long uhoh | 168: .long SYM(_uhoh) | 168:
.long uhoh | 169: .long SYM(_uhoh) | 169:
.long uhoh | 170: .long SYM(_uhoh) | 170:
.long uhoh | 171: .long SYM(_uhoh) | 171:
.long uhoh | 172: .long SYM(_uhoh) | 172:
.long uhoh | 173: .long SYM(_uhoh) | 173:
.long uhoh | 174: .long SYM(_uhoh) | 174:
.long uhoh | 175: .long SYM(_uhoh) | 175:
.long uhoh | 176: .long SYM(_uhoh) | 176:
.long uhoh | 177: .long SYM(_uhoh) | 177:
.long uhoh | 178: .long SYM(_uhoh) | 178:
.long uhoh | 179: .long SYM(_uhoh) | 179:
.long uhoh | 180: .long SYM(_uhoh) | 180:
.long uhoh | 181: .long SYM(_uhoh) | 181:
.long uhoh | 182: .long SYM(_uhoh) | 182:
.long uhoh | 183: .long SYM(_uhoh) | 183:
.long uhoh | 184: .long SYM(_uhoh) | 184:
.long uhoh | 185: .long SYM(_uhoh) | 185:
.long uhoh | 186: .long SYM(_uhoh) | 186:
.long uhoh | 187: .long SYM(_uhoh) | 187:
.long uhoh | 188: .long SYM(_uhoh) | 188:
.long uhoh | 189: .long SYM(_uhoh) | 189:
.long uhoh | 190: .long SYM(_uhoh) | 190:
.long uhoh | 191: .long SYM(_uhoh) | 191:
.long uhoh | 192: .long SYM(_uhoh) | 192:
.long uhoh | 193: .long SYM(_uhoh) | 193:
.long uhoh | 194: .long SYM(_uhoh) | 194:
.long uhoh | 195: .long SYM(_uhoh) | 195:
.long uhoh | 196: .long SYM(_uhoh) | 196:
.long uhoh | 197: .long SYM(_uhoh) | 197:
.long uhoh | 198: .long SYM(_uhoh) | 198:
.long uhoh | 199: .long SYM(_uhoh) | 199:
.long uhoh | 200: .long SYM(_uhoh) | 200:
.long uhoh | 201: .long SYM(_uhoh) | 201:
.long uhoh | 202: .long SYM(_uhoh) | 202:
.long uhoh | 203: .long SYM(_uhoh) | 203:
.long uhoh | 204: .long SYM(_uhoh) | 204:
.long uhoh | 205: .long SYM(_uhoh) | 205:
.long uhoh | 206: .long SYM(_uhoh) | 206:
.long uhoh | 207: .long SYM(_uhoh) | 207:
.long uhoh | 208: .long SYM(_uhoh) | 208:
.long uhoh | 209: .long SYM(_uhoh) | 209:
.long uhoh | 210: .long SYM(_uhoh) | 210:
.long uhoh | 211: .long SYM(_uhoh) | 211:
.long uhoh | 212: .long SYM(_uhoh) | 212:
.long uhoh | 213: .long SYM(_uhoh) | 213:
.long uhoh | 214: .long SYM(_uhoh) | 214:
.long uhoh | 215: .long SYM(_uhoh) | 215:
.long uhoh | 216: .long SYM(_uhoh) | 216:
.long uhoh | 217: .long SYM(_uhoh) | 217:
.long uhoh | 218: .long SYM(_uhoh) | 218:
.long uhoh | 219: .long SYM(_uhoh) | 219:
.long uhoh | 220: .long SYM(_uhoh) | 220:
.long uhoh | 221: .long SYM(_uhoh) | 221:
.long uhoh | 222: .long SYM(_uhoh) | 222:
.long uhoh | 223: .long SYM(_uhoh) | 223:
.long uhoh | 224: .long SYM(_uhoh) | 224:
.long uhoh | 225: .long SYM(_uhoh) | 225:
.long uhoh | 226: .long SYM(_uhoh) | 226:
.long uhoh | 227: .long SYM(_uhoh) | 227:
.long uhoh | 228: .long SYM(_uhoh) | 228:
.long uhoh | 229: .long SYM(_uhoh) | 229:
.long uhoh | 230: .long SYM(_uhoh) | 230:
.long uhoh | 231: .long SYM(_uhoh) | 231:
.long uhoh | 232: .long SYM(_uhoh) | 232:
.long uhoh | 233: .long SYM(_uhoh) | 233:
.long uhoh | 234: .long SYM(_uhoh) | 234:
.long uhoh | 235: .long SYM(_uhoh) | 235:
.long uhoh | 236: .long SYM(_uhoh) | 236:
.long uhoh | 237: .long SYM(_uhoh) | 237:
.long uhoh | 238: .long SYM(_uhoh) | 238:
.long uhoh | 239: .long SYM(_uhoh) | 239:
.long uhoh | 240: .long SYM(_uhoh) | 240:
.long uhoh | 241: .long SYM(_uhoh) | 241:
.long uhoh | 242: .long SYM(_uhoh) | 242:
.long uhoh | 243: .long SYM(_uhoh) | 243:
.long uhoh | 244: .long SYM(_uhoh) | 244:
.long uhoh | 245: .long SYM(_uhoh) | 245:
.long uhoh | 246: .long SYM(_uhoh) | 246:
.long uhoh | 247: .long SYM(_uhoh) | 247:
.long uhoh | 248: .long SYM(_uhoh) | 248:
.long uhoh | 249: .long SYM(_uhoh) | 249:
.long uhoh | 250: .long SYM(_uhoh) | 250:
.long uhoh | 251: .long SYM(_uhoh) | 251:
.long uhoh | 252: .long SYM(_uhoh) | 252:
.long uhoh | 253: .long SYM(_uhoh) | 253:
.long uhoh | 254: .long SYM(_uhoh) | 254:
.long uhoh | 255: .long SYM(_uhoh) | 255:
/* /*
* Default trap handler * Default trap handler
* With an oscilloscope you can see AS* stop * With an oscilloscope you can see AS* stop
*/ */
uhoh: nop | Leave spot for breakpoint PUBLIC (_uhoh)
SYM(_uhoh): nop | Leave spot for breakpoint
stop #0x2700 | Stop with interrupts disabled stop #0x2700 | Stop with interrupts disabled
bra.s uhoh | Stuck forever bra.s SYM(_uhoh) | Stuck forever
/* /*
* Log, but otherwise ignore, spurious interrupts * Log, but otherwise ignore, spurious interrupts
*/ */
spurious_interrupt: PUBLIC (_spuriousInterrupt)
SYM(_spuriousInterrupt):
addql #1,SYM(_M68kSpuriousInterruptCount) addql #1,SYM(_M68kSpuriousInterruptCount)
rte rte
@@ -320,7 +322,8 @@ spurious_interrupt:
/* /*
* Initial PC * Initial PC
*/ */
start: .globl start
start:
/* /*
* Step 2: Stay in Supervisor Mode * Step 2: Stay in Supervisor Mode
*/ */
@@ -353,11 +356,11 @@ start:
moveb #0x33,d0 | Set the test value moveb #0x33,d0 | Set the test value
moveb d0,a0@ | Set the memory location moveb d0,a0@ | Set the memory location
cmpb a0@,d0 | Does it read back? cmpb a0@,d0 | Does it read back?
bne uhoh | If not, bad news! bne SYM(_uhoh) | If not, bad news!
notb d0 | Flip bits notb d0 | Flip bits
moveb d0,a0@ | Set the memory location moveb d0,a0@ | Set the memory location
cmpb a0@,d0 | Does it read back? cmpb a0@,d0 | Does it read back?
bne uhoh | If not, bad news! bne SYM(_uhoh) | If not, bad news!
/* /*
* Remaining steps are handled by C code * Remaining steps are handled by C code
@@ -400,12 +403,13 @@ ZEROLOOPTEST:
movel d0,a7@- | argc movel d0,a7@- | argc
jsr SYM(main) | Call C main jsr SYM(main) | Call C main
| Should this just force a reset? PUBLIC (_mainDone)
mainDone: nop | Leave spot for breakpoint SYM(_mainDone):
nop | Leave spot for breakpoint
movew #1,a7 | Force a double bus error movew #1,a7 | Force a double bus error
movel d0,a7@- | This should cause a RESET movel d0,a7@- | This should cause a RESET
stop #0x2700 | Stop with interrupts disabled stop #0x2700 | Stop with interrupts disabled
bra.s mainDone | Stuck forever bra.s SYM(_mainDone) | Stuck forever
.align 2 .align 2
PUBLIC (_HeapSize) PUBLIC (_HeapSize)
@@ -427,3 +431,4 @@ SYM (_M68kSpuriousInterruptCount):
END_DATA_DCL END_DATA_DCL
END END

View File

@@ -9,8 +9,8 @@
* On-Line Applications Research Corporation (OAR). * On-Line Applications Research Corporation (OAR).
* Copyright assigned to U.S. Government, 1994. * Copyright assigned to U.S. Government, 1994.
* *
* The license and distribution terms for this file may be * The license and distribution terms for this file may in
* found in the file LICENSE in this distribution or at * the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html. * http://www.OARcorp.com/rtems/license.html.
* *
* Based on the `gen68302' board support package, and covered by the * Based on the `gen68302' board support package, and covered by the
@@ -34,273 +34,275 @@ BEGIN_CODE
Entry: Entry:
.long SYM(m360)+1024 | 0: Initial SSP .long SYM(m360)+1024 | 0: Initial SSP
.long start | 1: Initial PC .long start | 1: Initial PC
.long uhoh | 2: Bus error .long SYM(_uhoh) | 2: Bus error
.long uhoh | 3: Address error .long SYM(_uhoh) | 3: Address error
.long uhoh | 4: Illegal instruction .long SYM(_uhoh) | 4: Illegal instruction
.long uhoh | 5: Zero division .long SYM(_uhoh) | 5: Zero division
.long uhoh | 6: CHK, CHK2 instruction .long SYM(_uhoh) | 6: CHK, CHK2 instruction
.long uhoh | 7: TRAPcc, TRAPV instructions .long SYM(_uhoh) | 7: TRAPcc, TRAPV instructions
.long uhoh | 8: Privilege violation .long SYM(_uhoh) | 8: Privilege violation
.long uhoh | 9: Trace .long SYM(_uhoh) | 9: Trace
.long uhoh | 10: Line 1010 emulator .long SYM(_uhoh) | 10: Line 1010 emulator
.long uhoh | 11: Line 1111 emulator .long SYM(_uhoh) | 11: Line 1111 emulator
.long uhoh | 12: Hardware breakpoint .long SYM(_uhoh) | 12: Hardware breakpoint
.long uhoh | 13: Reserved for coprocessor violation .long SYM(_uhoh) | 13: Reserved for coprocessor violation
.long uhoh | 14: Format error .long SYM(_uhoh) | 14: Format error
.long uhoh | 15: Uninitialized interrupt .long SYM(_uhoh) | 15: Uninitialized interrupt
.long uhoh | 16: Unassigned, reserved .long SYM(_uhoh) | 16: Unassigned, reserved
.long uhoh | 17: .long SYM(_uhoh) | 17:
.long uhoh | 18: .long SYM(_uhoh) | 18:
.long uhoh | 19: .long SYM(_uhoh) | 19:
.long uhoh | 20: .long SYM(_uhoh) | 20:
.long uhoh | 21: .long SYM(_uhoh) | 21:
.long uhoh | 22: .long SYM(_uhoh) | 22:
.long uhoh | 23: .long SYM(_uhoh) | 23:
.long spurious_interrupt | 24: Spurious interrupt .long SYM(_spuriousInterrupt) | 24: Spurious interrupt
.long uhoh | 25: Level 1 interrupt autovector .long SYM(_uhoh) | 25: Level 1 interrupt autovector
.long uhoh | 26: Level 2 interrupt autovector .long SYM(_uhoh) | 26: Level 2 interrupt autovector
.long uhoh | 27: Level 3 interrupt autovector .long SYM(_uhoh) | 27: Level 3 interrupt autovector
.long uhoh | 28: Level 4 interrupt autovector .long SYM(_uhoh) | 28: Level 4 interrupt autovector
.long uhoh | 29: Level 5 interrupt autovector .long SYM(_uhoh) | 29: Level 5 interrupt autovector
.long uhoh | 30: Level 6 interrupt autovector .long SYM(_uhoh) | 30: Level 6 interrupt autovector
.long uhoh | 31: Level 7 interrupt autovector .long SYM(_uhoh) | 31: Level 7 interrupt autovector
.long uhoh | 32: Trap instruction (0-15) .long SYM(_uhoh) | 32: Trap instruction (0-15)
.long uhoh | 33: .long SYM(_uhoh) | 33:
.long uhoh | 34: .long SYM(_uhoh) | 34:
.long uhoh | 35: .long SYM(_uhoh) | 35:
.long uhoh | 36: .long SYM(_uhoh) | 36:
.long uhoh | 37: .long SYM(_uhoh) | 37:
.long uhoh | 38: .long SYM(_uhoh) | 38:
.long uhoh | 39: .long SYM(_uhoh) | 39:
.long uhoh | 40: .long SYM(_uhoh) | 40:
.long uhoh | 41: .long SYM(_uhoh) | 41:
.long uhoh | 42: .long SYM(_uhoh) | 42:
.long uhoh | 43: .long SYM(_uhoh) | 43:
.long uhoh | 44: .long SYM(_uhoh) | 44:
.long uhoh | 45: .long SYM(_uhoh) | 45:
.long uhoh | 46: .long SYM(_uhoh) | 46:
.long uhoh | 47: .long SYM(_uhoh) | 47:
.long uhoh | 48: Reserved for coprocessor .long SYM(_uhoh) | 48: Reserved for coprocessor
.long uhoh | 49: .long SYM(_uhoh) | 49:
.long uhoh | 50: .long SYM(_uhoh) | 50:
.long uhoh | 51: .long SYM(_uhoh) | 51:
.long uhoh | 52: .long SYM(_uhoh) | 52:
.long uhoh | 53: .long SYM(_uhoh) | 53:
.long uhoh | 54: .long SYM(_uhoh) | 54:
.long uhoh | 55: .long SYM(_uhoh) | 55:
.long uhoh | 56: .long SYM(_uhoh) | 56:
.long uhoh | 57: .long SYM(_uhoh) | 57:
.long uhoh | 58: .long SYM(_uhoh) | 58:
.long uhoh | 59: Unassigned, reserved .long SYM(_uhoh) | 59: Unassigned, reserved
.long uhoh | 60: .long SYM(_uhoh) | 60:
.long uhoh | 61: .long SYM(_uhoh) | 61:
.long uhoh | 62: .long SYM(_uhoh) | 62:
.long uhoh | 63: .long SYM(_uhoh) | 63:
.long uhoh | 64: User defined vectors (192) .long SYM(_uhoh) | 64: User defined vectors (192)
.long uhoh | 65: .long SYM(_uhoh) | 65:
.long uhoh | 66: .long SYM(_uhoh) | 66:
.long uhoh | 67: .long SYM(_uhoh) | 67:
.long uhoh | 68: .long SYM(_uhoh) | 68:
.long uhoh | 69: .long SYM(_uhoh) | 69:
.long uhoh | 70: .long SYM(_uhoh) | 70:
.long uhoh | 71: .long SYM(_uhoh) | 71:
.long uhoh | 72: .long SYM(_uhoh) | 72:
.long uhoh | 73: .long SYM(_uhoh) | 73:
.long uhoh | 74: .long SYM(_uhoh) | 74:
.long uhoh | 75: .long SYM(_uhoh) | 75:
.long uhoh | 76: .long SYM(_uhoh) | 76:
.long uhoh | 77: .long SYM(_uhoh) | 77:
.long uhoh | 78: .long SYM(_uhoh) | 78:
.long uhoh | 79: .long SYM(_uhoh) | 79:
.long uhoh | 80: .long SYM(_uhoh) | 80:
.long uhoh | 81: .long SYM(_uhoh) | 81:
.long uhoh | 82: .long SYM(_uhoh) | 82:
.long uhoh | 83: .long SYM(_uhoh) | 83:
.long uhoh | 84: .long SYM(_uhoh) | 84:
.long uhoh | 85: .long SYM(_uhoh) | 85:
.long uhoh | 86: .long SYM(_uhoh) | 86:
.long uhoh | 87: .long SYM(_uhoh) | 87:
.long uhoh | 88: .long SYM(_uhoh) | 88:
.long uhoh | 89: .long SYM(_uhoh) | 89:
.long uhoh | 90: .long SYM(_uhoh) | 90:
.long uhoh | 91: .long SYM(_uhoh) | 91:
.long uhoh | 92: .long SYM(_uhoh) | 92:
.long uhoh | 93: .long SYM(_uhoh) | 93:
.long uhoh | 94: .long SYM(_uhoh) | 94:
.long uhoh | 95: .long SYM(_uhoh) | 95:
.long uhoh | 96: .long SYM(_uhoh) | 96:
.long uhoh | 97: .long SYM(_uhoh) | 97:
.long uhoh | 98: .long SYM(_uhoh) | 98:
.long uhoh | 99: .long SYM(_uhoh) | 99:
.long uhoh | 100: .long SYM(_uhoh) | 100:
.long uhoh | 101: .long SYM(_uhoh) | 101:
.long uhoh | 102: .long SYM(_uhoh) | 102:
.long uhoh | 103: .long SYM(_uhoh) | 103:
.long uhoh | 104: .long SYM(_uhoh) | 104:
.long uhoh | 105: .long SYM(_uhoh) | 105:
.long uhoh | 106: .long SYM(_uhoh) | 106:
.long uhoh | 107: .long SYM(_uhoh) | 107:
.long uhoh | 108: .long SYM(_uhoh) | 108:
.long uhoh | 109: .long SYM(_uhoh) | 109:
.long uhoh | 110: .long SYM(_uhoh) | 110:
.long uhoh | 111: .long SYM(_uhoh) | 111:
.long uhoh | 112: .long SYM(_uhoh) | 112:
.long uhoh | 113: .long SYM(_uhoh) | 113:
.long uhoh | 114: .long SYM(_uhoh) | 114:
.long uhoh | 115: .long SYM(_uhoh) | 115:
.long uhoh | 116: .long SYM(_uhoh) | 116:
.long uhoh | 117: .long SYM(_uhoh) | 117:
.long uhoh | 118: .long SYM(_uhoh) | 118:
.long uhoh | 119: .long SYM(_uhoh) | 119:
.long uhoh | 120: .long SYM(_uhoh) | 120:
.long uhoh | 121: .long SYM(_uhoh) | 121:
.long uhoh | 122: .long SYM(_uhoh) | 122:
.long uhoh | 123: .long SYM(_uhoh) | 123:
.long uhoh | 124: .long SYM(_uhoh) | 124:
.long uhoh | 125: .long SYM(_uhoh) | 125:
.long uhoh | 126: .long SYM(_uhoh) | 126:
.long uhoh | 127: .long SYM(_uhoh) | 127:
.long uhoh | 128: .long SYM(_uhoh) | 128:
.long uhoh | 129: .long SYM(_uhoh) | 129:
.long uhoh | 130: .long SYM(_uhoh) | 130:
.long uhoh | 131: .long SYM(_uhoh) | 131:
.long uhoh | 132: .long SYM(_uhoh) | 132:
.long uhoh | 133: .long SYM(_uhoh) | 133:
.long uhoh | 134: .long SYM(_uhoh) | 134:
.long uhoh | 135: .long SYM(_uhoh) | 135:
.long uhoh | 136: .long SYM(_uhoh) | 136:
.long uhoh | 137: .long SYM(_uhoh) | 137:
.long uhoh | 138: .long SYM(_uhoh) | 138:
.long uhoh | 139: .long SYM(_uhoh) | 139:
.long uhoh | 140: .long SYM(_uhoh) | 140:
.long uhoh | 141: .long SYM(_uhoh) | 141:
.long uhoh | 142: .long SYM(_uhoh) | 142:
.long uhoh | 143: .long SYM(_uhoh) | 143:
.long uhoh | 144: .long SYM(_uhoh) | 144:
.long uhoh | 145: .long SYM(_uhoh) | 145:
.long uhoh | 146: .long SYM(_uhoh) | 146:
.long uhoh | 147: .long SYM(_uhoh) | 147:
.long uhoh | 148: .long SYM(_uhoh) | 148:
.long uhoh | 149: .long SYM(_uhoh) | 149:
.long uhoh | 150: .long SYM(_uhoh) | 150:
.long uhoh | 151: .long SYM(_uhoh) | 151:
.long uhoh | 152: .long SYM(_uhoh) | 152:
.long uhoh | 153: .long SYM(_uhoh) | 153:
.long uhoh | 154: .long SYM(_uhoh) | 154:
.long uhoh | 155: .long SYM(_uhoh) | 155:
.long uhoh | 156: .long SYM(_uhoh) | 156:
.long uhoh | 157: .long SYM(_uhoh) | 157:
.long uhoh | 158: .long SYM(_uhoh) | 158:
.long uhoh | 159: .long SYM(_uhoh) | 159:
.long uhoh | 160: .long SYM(_uhoh) | 160:
.long uhoh | 161: .long SYM(_uhoh) | 161:
.long uhoh | 162: .long SYM(_uhoh) | 162:
.long uhoh | 163: .long SYM(_uhoh) | 163:
.long uhoh | 164: .long SYM(_uhoh) | 164:
.long uhoh | 165: .long SYM(_uhoh) | 165:
.long uhoh | 166: .long SYM(_uhoh) | 166:
.long uhoh | 167: .long SYM(_uhoh) | 167:
.long uhoh | 168: .long SYM(_uhoh) | 168:
.long uhoh | 169: .long SYM(_uhoh) | 169:
.long uhoh | 170: .long SYM(_uhoh) | 170:
.long uhoh | 171: .long SYM(_uhoh) | 171:
.long uhoh | 172: .long SYM(_uhoh) | 172:
.long uhoh | 173: .long SYM(_uhoh) | 173:
.long uhoh | 174: .long SYM(_uhoh) | 174:
.long uhoh | 175: .long SYM(_uhoh) | 175:
.long uhoh | 176: .long SYM(_uhoh) | 176:
.long uhoh | 177: .long SYM(_uhoh) | 177:
.long uhoh | 178: .long SYM(_uhoh) | 178:
.long uhoh | 179: .long SYM(_uhoh) | 179:
.long uhoh | 180: .long SYM(_uhoh) | 180:
.long uhoh | 181: .long SYM(_uhoh) | 181:
.long uhoh | 182: .long SYM(_uhoh) | 182:
.long uhoh | 183: .long SYM(_uhoh) | 183:
.long uhoh | 184: .long SYM(_uhoh) | 184:
.long uhoh | 185: .long SYM(_uhoh) | 185:
.long uhoh | 186: .long SYM(_uhoh) | 186:
.long uhoh | 187: .long SYM(_uhoh) | 187:
.long uhoh | 188: .long SYM(_uhoh) | 188:
.long uhoh | 189: .long SYM(_uhoh) | 189:
.long uhoh | 190: .long SYM(_uhoh) | 190:
.long uhoh | 191: .long SYM(_uhoh) | 191:
.long uhoh | 192: .long SYM(_uhoh) | 192:
.long uhoh | 193: .long SYM(_uhoh) | 193:
.long uhoh | 194: .long SYM(_uhoh) | 194:
.long uhoh | 195: .long SYM(_uhoh) | 195:
.long uhoh | 196: .long SYM(_uhoh) | 196:
.long uhoh | 197: .long SYM(_uhoh) | 197:
.long uhoh | 198: .long SYM(_uhoh) | 198:
.long uhoh | 199: .long SYM(_uhoh) | 199:
.long uhoh | 200: .long SYM(_uhoh) | 200:
.long uhoh | 201: .long SYM(_uhoh) | 201:
.long uhoh | 202: .long SYM(_uhoh) | 202:
.long uhoh | 203: .long SYM(_uhoh) | 203:
.long uhoh | 204: .long SYM(_uhoh) | 204:
.long uhoh | 205: .long SYM(_uhoh) | 205:
.long uhoh | 206: .long SYM(_uhoh) | 206:
.long uhoh | 207: .long SYM(_uhoh) | 207:
.long uhoh | 208: .long SYM(_uhoh) | 208:
.long uhoh | 209: .long SYM(_uhoh) | 209:
.long uhoh | 210: .long SYM(_uhoh) | 210:
.long uhoh | 211: .long SYM(_uhoh) | 211:
.long uhoh | 212: .long SYM(_uhoh) | 212:
.long uhoh | 213: .long SYM(_uhoh) | 213:
.long uhoh | 214: .long SYM(_uhoh) | 214:
.long uhoh | 215: .long SYM(_uhoh) | 215:
.long uhoh | 216: .long SYM(_uhoh) | 216:
.long uhoh | 217: .long SYM(_uhoh) | 217:
.long uhoh | 218: .long SYM(_uhoh) | 218:
.long uhoh | 219: .long SYM(_uhoh) | 219:
.long uhoh | 220: .long SYM(_uhoh) | 220:
.long uhoh | 221: .long SYM(_uhoh) | 221:
.long uhoh | 222: .long SYM(_uhoh) | 222:
.long uhoh | 223: .long SYM(_uhoh) | 223:
.long uhoh | 224: .long SYM(_uhoh) | 224:
.long uhoh | 225: .long SYM(_uhoh) | 225:
.long uhoh | 226: .long SYM(_uhoh) | 226:
.long uhoh | 227: .long SYM(_uhoh) | 227:
.long uhoh | 228: .long SYM(_uhoh) | 228:
.long uhoh | 229: .long SYM(_uhoh) | 229:
.long uhoh | 230: .long SYM(_uhoh) | 230:
.long uhoh | 231: .long SYM(_uhoh) | 231:
.long uhoh | 232: .long SYM(_uhoh) | 232:
.long uhoh | 233: .long SYM(_uhoh) | 233:
.long uhoh | 234: .long SYM(_uhoh) | 234:
.long uhoh | 235: .long SYM(_uhoh) | 235:
.long uhoh | 236: .long SYM(_uhoh) | 236:
.long uhoh | 237: .long SYM(_uhoh) | 237:
.long uhoh | 238: .long SYM(_uhoh) | 238:
.long uhoh | 239: .long SYM(_uhoh) | 239:
.long uhoh | 240: .long SYM(_uhoh) | 240:
.long uhoh | 241: .long SYM(_uhoh) | 241:
.long uhoh | 242: .long SYM(_uhoh) | 242:
.long uhoh | 243: .long SYM(_uhoh) | 243:
.long uhoh | 244: .long SYM(_uhoh) | 244:
.long uhoh | 245: .long SYM(_uhoh) | 245:
.long uhoh | 246: .long SYM(_uhoh) | 246:
.long uhoh | 247: .long SYM(_uhoh) | 247:
.long uhoh | 248: .long SYM(_uhoh) | 248:
.long uhoh | 249: .long SYM(_uhoh) | 249:
.long uhoh | 250: .long SYM(_uhoh) | 250:
.long uhoh | 251: .long SYM(_uhoh) | 251:
.long uhoh | 252: .long SYM(_uhoh) | 252:
.long uhoh | 253: .long SYM(_uhoh) | 253:
.long uhoh | 254: .long SYM(_uhoh) | 254:
.long uhoh | 255: .long SYM(_uhoh) | 255:
/* /*
* Default trap handler * Default trap handler
* With an oscilloscope you can see AS* stop * With an oscilloscope you can see AS* stop
*/ */
uhoh: nop | Leave spot for breakpoint PUBLIC (_uhoh)
SYM(_uhoh): nop | Leave spot for breakpoint
stop #0x2700 | Stop with interrupts disabled stop #0x2700 | Stop with interrupts disabled
bra.s uhoh | Stuck forever bra.s SYM(_uhoh) | Stuck forever
/* /*
* Log, but otherwise ignore, spurious interrupts * Log, but otherwise ignore, spurious interrupts
*/ */
spurious_interrupt: PUBLIC (_spuriousInterrupt)
SYM(_spuriousInterrupt):
addql #1,SYM(_M68kSpuriousInterruptCount) addql #1,SYM(_M68kSpuriousInterruptCount)
rte rte
@@ -320,7 +322,8 @@ spurious_interrupt:
/* /*
* Initial PC * Initial PC
*/ */
start: .globl start
start:
/* /*
* Step 2: Stay in Supervisor Mode * Step 2: Stay in Supervisor Mode
*/ */
@@ -353,11 +356,11 @@ start:
moveb #0x33,d0 | Set the test value moveb #0x33,d0 | Set the test value
moveb d0,a0@ | Set the memory location moveb d0,a0@ | Set the memory location
cmpb a0@,d0 | Does it read back? cmpb a0@,d0 | Does it read back?
bne uhoh | If not, bad news! bne SYM(_uhoh) | If not, bad news!
notb d0 | Flip bits notb d0 | Flip bits
moveb d0,a0@ | Set the memory location moveb d0,a0@ | Set the memory location
cmpb a0@,d0 | Does it read back? cmpb a0@,d0 | Does it read back?
bne uhoh | If not, bad news! bne SYM(_uhoh) | If not, bad news!
/* /*
* Remaining steps are handled by C code * Remaining steps are handled by C code
@@ -400,12 +403,13 @@ ZEROLOOPTEST:
movel d0,a7@- | argc movel d0,a7@- | argc
jsr SYM(main) | Call C main jsr SYM(main) | Call C main
| Should this just force a reset? PUBLIC (_mainDone)
mainDone: nop | Leave spot for breakpoint SYM(_mainDone):
nop | Leave spot for breakpoint
movew #1,a7 | Force a double bus error movew #1,a7 | Force a double bus error
movel d0,a7@- | This should cause a RESET movel d0,a7@- | This should cause a RESET
stop #0x2700 | Stop with interrupts disabled stop #0x2700 | Stop with interrupts disabled
bra.s mainDone | Stuck forever bra.s SYM(_mainDone) | Stuck forever
.align 2 .align 2
PUBLIC (_HeapSize) PUBLIC (_HeapSize)
@@ -427,3 +431,4 @@ SYM (_M68kSpuriousInterruptCount):
END_DATA_DCL END_DATA_DCL
END END