File indexing completed on 2025-05-11 08:23:47
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 #include <rtems/asm.h>
0037
0038 BEGIN_CODE
0039
0040 PUBLIC (_INTERRUPT_VECTOR)
0041 SYM(_INTERRUPT_VECTOR):
0042
0043 .long _ISR_Stack_area_end
0044 .long SYM(start)
0045 .long SYM(_uhoh)
0046 .long SYM(_uhoh)
0047 .long SYM(_uhoh)
0048 .long SYM(_uhoh)
0049 .long SYM(_uhoh)
0050 .long SYM(_uhoh)
0051 .long SYM(_uhoh)
0052 .long SYM(_uhoh)
0053 .long SYM(_uhoh)
0054 .long SYM(_uhoh)
0055 .long SYM(_uhoh)
0056 .long SYM(_uhoh)
0057 .long SYM(_uhoh)
0058 .long SYM(_uhoh)
0059 .long SYM(_uhoh)
0060 .long SYM(_uhoh)
0061 .long SYM(_uhoh)
0062 .long SYM(_uhoh)
0063 .long SYM(_uhoh)
0064 .long SYM(_uhoh)
0065 .long SYM(_uhoh)
0066 .long SYM(_uhoh)
0067 .long SYM(_spuriousInterrupt)
0068 .long SYM(_uhoh)
0069 .long SYM(_uhoh)
0070 .long SYM(_uhoh)
0071 .long SYM(_uhoh)
0072 .long SYM(_uhoh)
0073 .long SYM(_uhoh)
0074 .long SYM(_uhoh)
0075 .long SYM(_uhoh)
0076 .long SYM(_uhoh)
0077 .long SYM(_uhoh)
0078 .long SYM(_uhoh)
0079 .long SYM(_uhoh)
0080 .long SYM(_uhoh)
0081 .long SYM(_uhoh)
0082 .long SYM(_uhoh)
0083 .long SYM(_uhoh)
0084 .long SYM(_uhoh)
0085 .long SYM(_uhoh)
0086 .long SYM(_uhoh)
0087 .long SYM(_uhoh)
0088 .long SYM(_uhoh)
0089 .long SYM(_uhoh)
0090 .long SYM(_uhoh)
0091 .long SYM(_uhoh)
0092 .long SYM(_uhoh)
0093 .long SYM(_uhoh)
0094 .long SYM(_uhoh)
0095 .long SYM(_uhoh)
0096 .long SYM(_uhoh)
0097 .long SYM(_uhoh)
0098 .long SYM(_uhoh)
0099 .long SYM(_uhoh)
0100 .long SYM(_uhoh)
0101 .long SYM(_uhoh)
0102 .long SYM(_uhoh)
0103 .long SYM(_uhoh)
0104 .long SYM(_uhoh)
0105 .long SYM(_uhoh)
0106 .long SYM(_uhoh)
0107
0108
0109
0110 .long SYM(_uhoh)
0111 .long SYM(_uhoh)
0112 .long SYM(_uhoh)
0113 .long SYM(_uhoh)
0114 .long SYM(_uhoh)
0115 .long SYM(_uhoh)
0116 .long SYM(_uhoh)
0117 .long SYM(_uhoh)
0118 .long SYM(_uhoh)
0119 .long SYM(_uhoh)
0120 .long SYM(_uhoh)
0121 .long SYM(_uhoh)
0122 .long SYM(_uhoh)
0123 .long SYM(_uhoh)
0124 .long SYM(_uhoh)
0125 .long SYM(_uhoh)
0126 .long SYM(_uhoh)
0127 .long SYM(_uhoh)
0128 .long SYM(_uhoh)
0129 .long SYM(_uhoh)
0130 .long SYM(_uhoh)
0131 .long SYM(_uhoh)
0132 .long SYM(_uhoh)
0133 .long SYM(_uhoh)
0134 .long SYM(_uhoh)
0135 .long SYM(_uhoh)
0136 .long SYM(_uhoh)
0137 .long SYM(_uhoh)
0138 .long SYM(_uhoh)
0139 .long SYM(_uhoh)
0140 .long SYM(_uhoh)
0141 .long SYM(_uhoh)
0142 .long SYM(_uhoh)
0143 .long SYM(_uhoh)
0144 .long SYM(_uhoh)
0145 .long SYM(_uhoh)
0146 .long SYM(_uhoh)
0147 .long SYM(_uhoh)
0148 .long SYM(_uhoh)
0149 .long SYM(_uhoh)
0150 .long SYM(_uhoh)
0151 .long SYM(_uhoh)
0152 .long SYM(_uhoh)
0153 .long SYM(_uhoh)
0154 .long SYM(_uhoh)
0155 .long SYM(_uhoh)
0156 .long SYM(_uhoh)
0157 .long SYM(_uhoh)
0158 .long SYM(_uhoh)
0159 .long SYM(_uhoh)
0160 .long SYM(_uhoh)
0161 .long SYM(_uhoh)
0162 .long SYM(_uhoh)
0163 .long SYM(_uhoh)
0164 .long SYM(_uhoh)
0165 .long SYM(_uhoh)
0166 .long SYM(_uhoh)
0167 .long SYM(_uhoh)
0168 .long SYM(_uhoh)
0169 .long SYM(_uhoh)
0170 .long SYM(_uhoh)
0171 .long SYM(_uhoh)
0172 .long SYM(_uhoh)
0173 .long SYM(_uhoh)
0174
0175
0176
0177 .long SYM(_uhoh)
0178 .long SYM(_uhoh)
0179 .long SYM(_uhoh)
0180 .long SYM(_uhoh)
0181 .long SYM(_uhoh)
0182 .long SYM(_uhoh)
0183 .long SYM(_uhoh)
0184 .long SYM(_uhoh)
0185 .long SYM(_uhoh)
0186 .long SYM(_uhoh)
0187 .long SYM(_uhoh)
0188 .long SYM(_uhoh)
0189 .long SYM(_uhoh)
0190 .long SYM(_uhoh)
0191 .long SYM(_uhoh)
0192 .long SYM(_uhoh)
0193 .long SYM(_uhoh)
0194 .long SYM(_uhoh)
0195 .long SYM(_uhoh)
0196 .long SYM(_uhoh)
0197 .long SYM(_uhoh)
0198 .long SYM(_uhoh)
0199 .long SYM(_uhoh)
0200 .long SYM(_uhoh)
0201 .long SYM(_uhoh)
0202 .long SYM(_uhoh)
0203 .long SYM(_uhoh)
0204 .long SYM(_uhoh)
0205 .long SYM(_uhoh)
0206 .long SYM(_uhoh)
0207 .long SYM(_uhoh)
0208 .long SYM(_uhoh)
0209 .long SYM(_uhoh)
0210 .long SYM(_uhoh)
0211 .long SYM(_uhoh)
0212 .long SYM(_uhoh)
0213 .long SYM(_uhoh)
0214 .long SYM(_uhoh)
0215 .long SYM(_uhoh)
0216 .long SYM(_uhoh)
0217 .long SYM(_uhoh)
0218 .long SYM(_uhoh)
0219 .long SYM(_uhoh)
0220 .long SYM(_uhoh)
0221 .long SYM(_uhoh)
0222 .long SYM(_uhoh)
0223 .long SYM(_uhoh)
0224 .long SYM(_uhoh)
0225 .long SYM(_uhoh)
0226 .long SYM(_uhoh)
0227 .long SYM(_uhoh)
0228 .long SYM(_uhoh)
0229 .long SYM(_uhoh)
0230 .long SYM(_uhoh)
0231 .long SYM(_uhoh)
0232 .long SYM(_uhoh)
0233 .long SYM(_uhoh)
0234 .long SYM(_uhoh)
0235 .long SYM(_uhoh)
0236 .long SYM(_uhoh)
0237 .long SYM(_uhoh)
0238 .long SYM(_uhoh)
0239 .long SYM(_uhoh)
0240 .long SYM(_uhoh)
0241 .long SYM(_uhoh)
0242
0243
0244
0245 .long SYM(_uhoh)
0246 .long SYM(_uhoh)
0247 .long SYM(_uhoh)
0248 .long SYM(_uhoh)
0249 .long SYM(_uhoh)
0250 .long SYM(_uhoh)
0251 .long SYM(_uhoh)
0252 .long SYM(_uhoh)
0253 .long SYM(_uhoh)
0254 .long SYM(_uhoh)
0255 .long SYM(_uhoh)
0256 .long SYM(_uhoh)
0257 .long SYM(_uhoh)
0258 .long SYM(_uhoh)
0259 .long SYM(_uhoh)
0260 .long SYM(_uhoh)
0261 .long SYM(_uhoh)
0262 .long SYM(_uhoh)
0263 .long SYM(_uhoh)
0264 .long SYM(_uhoh)
0265 .long SYM(_uhoh)
0266 .long SYM(_uhoh)
0267 .long SYM(_uhoh)
0268 .long SYM(_uhoh)
0269 .long SYM(_uhoh)
0270 .long SYM(_uhoh)
0271 .long SYM(_uhoh)
0272 .long SYM(_uhoh)
0273 .long SYM(_uhoh)
0274 .long SYM(_uhoh)
0275 .long SYM(_uhoh)
0276 .long SYM(_uhoh)
0277 .long SYM(_uhoh)
0278 .long SYM(_uhoh)
0279 .long SYM(_uhoh)
0280 .long SYM(_uhoh)
0281 .long SYM(_uhoh)
0282 .long SYM(_uhoh)
0283 .long SYM(_uhoh)
0284 .long SYM(_uhoh)
0285 .long SYM(_uhoh)
0286 .long SYM(_uhoh)
0287 .long SYM(_uhoh)
0288 .long SYM(_uhoh)
0289 .long SYM(_uhoh)
0290 .long SYM(_uhoh)
0291 .long SYM(_uhoh)
0292 .long SYM(_uhoh)
0293 .long SYM(_uhoh)
0294 .long SYM(_uhoh)
0295 .long SYM(_uhoh)
0296 .long SYM(_uhoh)
0297 .long SYM(_uhoh)
0298 .long SYM(_uhoh)
0299 .long SYM(_uhoh)
0300 .long SYM(_uhoh)
0301 .long SYM(_uhoh)
0302 .long SYM(_uhoh)
0303 .long SYM(_uhoh)
0304 .long SYM(_uhoh)
0305 .long SYM(_uhoh)
0306 .long SYM(_uhoh)
0307 .long SYM(_uhoh)
0308
0309
0310
0311
0312
0313
0314
0315 PUBLIC (_FLASH_CONFIGURATION_FIELD)
0316 SYM(_FLASH_CONFIGURATION_FIELD):
0317
0318 _key_upper: .long 0x5a5a5a5a
0319 _key_lower: .long 0x5a5a5a5a
0320 _cfm_prot: .long 0x00000000
0321 _cfm_sacc: .long 0x00000000
0322 _cfm_dacc: .long 0x00000000
0323 _cfm_msec: .long 0x80000000 //enable the KEYEN bit to bypass security in backdoor mode
0324
0325
0326
0327
0328
0329 .align 4
0330 PUBLIC (_uhoh)
0331 SYM(_uhoh):
0332 nop | Leave spot for breakpoint
0333 stop #0x2700 | Stop with interrupts disabled
0334 bra.w SYM(_uhoh) | Stuck forever
0335
0336
0337
0338
0339 .align 4
0340 PUBLIC (_spuriousInterrupt)
0341 SYM(_spuriousInterrupt):
0342 addql #1, SYM(_M68kSpuriousInterruptCount)
0343 rte
0344
0345
0346
0347
0348
0349
0350
0351
0352
0353
0354
0355
0356
0357
0358
0359
0360
0361
0362
0363
0364 .align 4
0365 PUBLIC (start)
0366 SYM(start):
0367
0368
0369 move.w #0x2700, sr
0370
0371
0372 move.l d0,d5;
0373 move.l d1,d6;
0374
0375
0376 move.l #RamBase, d7
0377 add.l #0x21, d7
0378 movec d7, %rambar
0379
0380
0381 move.l #_ISR_Stack_area_end, sp
0382
0383
0384 move.l #_FlashBase, d7
0385 cmp.l #0x00000000, d7
0386 bne _change_flashbar
0387 add.l #0x61, d7
0388 movec d7, %flashbar
0389
0390 _continue_startup:
0391
0392
0393 // move.l #_ISR_Stack_area_end, sp //is done automatically by the CPU
0394
0395
0396
0397
0398
0399
0400 jmp SYM(Init5225x)
0401
0402 _change_flashbar:
0403
0404
0405
0406
0407
0408
0409
0410
0411
0412
0413
0414
0415
0416
0417
0418
0419
0420
0421
0422
0423 move.l #RamBase, a0
0424
0425
0426 move.w #0x203C, d0
0427 move.w d0, (a0)+
0428 move.l #_FlashBase, d0
0429 add.l #0x61, d0
0430 move.l d0, (a0)+
0431
0432
0433 move.l #0x4e7b0C04, d0
0434 move.l d0, (a0)+
0435
0436
0437 move.w #0x4EF9, d0
0438 move.w d0, (a0)+
0439 move.l #_continue_startup, d0
0440 move.l d0, (a0)+
0441
0442
0443 jmp RamBase
0444
0445 END_CODE
0446
0447
0448 BEGIN_DATA_DCL
0449
0450 .align 4
0451
0452 PUBLIC (_M68kSpuriousInterruptCount)
0453 SYM (_M68kSpuriousInterruptCount):
0454 .long 0
0455
0456 PUBLIC (_d0_reset)
0457 SYM (_d0_reset):
0458 .long 0
0459
0460 PUBLIC (_d1_reset)
0461 SYM (_d1_reset):
0462 .long 0
0463
0464 END_DATA_DCL
0465
0466 END
0467