Search
lxdream.org :: lxdream/test/sh4/testutlb.s :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename test/sh4/testutlb.s
changeset 976:e57a25d9eb7d
next1044:01e46b0aafaf
author nkeynes
date Sun Jun 14 21:46:05 2009 +0000 (14 years ago)
permissions -rw-r--r--
last change Add -framework Carbon to go with previous change (SetSystemUIMode is tucked away in
Carbon)
file annotate diff log raw
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/test/sh4/testutlb.s Sun Jun 14 21:46:05 2009 +0000
1.3 @@ -0,0 +1,720 @@
1.4 +
1.5 +
1.6 +.global _install_utlb_test_handler
1.7 +_install_utlb_test_handler:
1.8 + mov.l utlb_old_vbr_k, r0
1.9 + stc vbr, r1
1.10 + mov.l r1, @r0
1.11 +
1.12 + mov.l utlb_vbr_k, r0
1.13 + ldc r0, vbr
1.14 + rts
1.15 + nop
1.16 +
1.17 +.global _uninstall_utlb_test_handler
1.18 +_uninstall_utlb_test_handler:
1.19 + mov.l utlb_old_vbr_k, r0
1.20 + mov.l @r0, r0
1.21 + ldc r0, vbr
1.22 + rts
1.23 + nop
1.24 +
1.25 +utlb_exc_handler:
1.26 + mov.l utlb_exc_stack_k, r15
1.27 + mov.l r0, @-r15
1.28 + mov.l r1, @-r15
1.29 + mov.l r2, @-r15
1.30 + sts pr, r0
1.31 + mov.l r0, @-r15
1.32 +
1.33 + mov.l mmu_expevt_k, r2
1.34 + mov.l @r2, r2
1.35 + mov r2, r0
1.36 + shlr2 r0
1.37 + cmp/eq #0x58, r0
1.38 + bt utlb_trap
1.39 +
1.40 + mov.l utlb_exc_k_1, r0
1.41 + mov.l @(16,r0), r1
1.42 + tst r1, r1
1.43 + bt utlb_exc_unexpected
1.44 +
1.45 + mov.l @r0, r1
1.46 + tst r1, r1
1.47 + bf utlb_exc_set
1.48 + mov.l r2, @r0
1.49 + stc spc, r2
1.50 + mov.l r2, @(8,r0)
1.51 +
1.52 +utlb_exc_set:
1.53 + mov.l @(4,r0), r2
1.54 + add #1, r2
1.55 + mov.l r2, @(4,r0)
1.56 +
1.57 + mov.l @(12,r0), r2
1.58 + stc spc, r1
1.59 + add r2, r1
1.60 + ldc r1, spc
1.61 +
1.62 +utlb_exc_done:
1.63 + mov.l @r15+, r0
1.64 + lds r0, pr
1.65 + mov.l @r15+, r2
1.66 + mov.l @r15+, r1
1.67 + mov.l @r15+, r0
1.68 + rte
1.69 + stc sgr, r15
1.70 +
1.71 +utlb_trap:
1.72 + mov.l mmu_tra_k, r2
1.73 + mov.l @r2, r0
1.74 + shlr2 r0
1.75 + cmp/eq #42, r0
1.76 + bt utlb_trap_priv
1.77 + cmp/eq #41, r0
1.78 + bt utlb_trap_printf
1.79 + bra utlb_exc_done
1.80 + nop
1.81 +utlb_trap_priv:
1.82 + stc ssr, r0
1.83 + mov.l mmu_sr_md, r1
1.84 + or r1, r0
1.85 + ldc r0, ssr
1.86 + bra utlb_exc_done
1.87 + nop
1.88 +utlb_trap_printf:
1.89 + stc sr, r0
1.90 + mov.l mmu_sr_rb_mask, r1
1.91 + and r1, r0
1.92 + ldc r0, sr
1.93 + mov.l utlb_printf_k, r0
1.94 + jsr @r0
1.95 + nop
1.96 + bra utlb_exc_done
1.97 + nop
1.98 +utlb_exc_unexpected: /* Report an unexpected exception. Save everything in case printf clobbers it */
1.99 + mov.l r3, @-r15
1.100 + mov.l r4, @-r15
1.101 + mov.l r5, @-r15
1.102 + mov.l r6, @-r15
1.103 + mov.l r7, @-r15
1.104 + mov.l r8, @-r15
1.105 + mov.l r9, @-r15
1.106 + mov.l r10, @-r15
1.107 + mov.l r11, @-r15
1.108 + mov.l r12, @-r15
1.109 + mov.l r13, @-r15
1.110 + mov.l r14, @-r15
1.111 + sts fpscr, r0
1.112 + mov.l r0, @-r15
1.113 +
1.114 + stc spc, r6
1.115 + mov r2, r5
1.116 + mov.l utlb_unexpected_msg_k, r4
1.117 + mov.l utlb_printf_k, r3
1.118 + jsr @r3
1.119 + nop
1.120 +
1.121 + mov.l @r15+, r0
1.122 + lds r0, fpscr
1.123 + mov.l @r15+, r14
1.124 + mov.l @r15+, r13
1.125 + mov.l @r15+, r12
1.126 + mov.l @r15+, r11
1.127 + mov.l @r15+, r10
1.128 + mov.l @r15+, r9
1.129 + mov.l @r15+, r8
1.130 + mov.l @r15+, r7
1.131 + mov.l @r15+, r6
1.132 + mov.l @r15+, r5
1.133 + mov.l @r15+, r4
1.134 + mov.l @r15+, r3
1.135 + mov.l utlb_exc_k_1, r0
1.136 + bra utlb_exc_set
1.137 + nop
1.138 +
1.139 +
1.140 +.align 4
1.141 +utlb_vbr_k:
1.142 + .long utlb_vbr
1.143 +utlb_old_vbr_k:
1.144 + .long utlb_old_vbr
1.145 +utlb_exc_k_1:
1.146 + .long utlb_exc
1.147 +mmu_expevt_k:
1.148 + .long 0xFF000024
1.149 +mmu_tra_k:
1.150 + .long 0xFF000020
1.151 +mmu_sr_md:
1.152 + .long 0x40000000
1.153 +mmu_sr_rb_mask:
1.154 + .long 0x50000000
1.155 +utlb_exc_stack_k:
1.156 + .long utlb_exc_stack
1.157 +utlb_printf_k:
1.158 + .long _printf
1.159 +utlb_unexpected_msg_k:
1.160 + .long utlb_unexpected_msg
1.161 +
1.162 + .skip 0x1F00 /* 8K stack */
1.163 +utlb_vbr:
1.164 + .skip 0x100
1.165 +utlb_exc_stack:
1.166 + mov.l utlb_exc_handler_k1, r15
1.167 + jmp @r15
1.168 + nop
1.169 + nop
1.170 +utlb_exc_handler_k1:
1.171 + .long utlb_exc_handler
1.172 +
1.173 + .skip 0x2F4
1.174 + mov.l utlb_exc_handler_k2, r15
1.175 + jmp @r15
1.176 + nop
1.177 + nop
1.178 +utlb_exc_handler_k2:
1.179 + .long utlb_exc_handler
1.180 + .skip 0x1F4
1.181 + rte
1.182 + stc sgr, r15
1.183 +
1.184 +
1.185 +utlb_expect_exc:
1.186 + mova utlb_exc, r0
1.187 + xor r1, r1
1.188 + mov.l r1, @r0
1.189 + mov.l r1, @(4,r0)
1.190 + mov.l r1, @(8,r0)
1.191 + mov #1, r1
1.192 + mov.l r1, @(16,r0)
1.193 + mov #2, r1
1.194 + mov.l r1, @(12,r0)
1.195 + rts
1.196 + nop
1.197 +
1.198 +utlb_noexpect_exc:
1.199 + mova utlb_exc, r0
1.200 + xor r1, r1
1.201 + mov.l r1, @r0
1.202 + mov.l r1, @(4,r0)
1.203 + mov.l r1, @(8,r0)
1.204 + mov.l r1, @(16,r0)
1.205 + mov #2, r1
1.206 + mov.l r1, @(12,r0)
1.207 + rts
1.208 + nop
1.209 +
1.210 +/* Check the result of a read test. Call with:
1.211 + * r0 = expected spc
1.212 + * r1 = value read (if any)
1.213 + * r9 = (char *) testname
1.214 + * r10 = test VMA
1.215 + * r11 = test PMA
1.216 + * r12 = expected exc
1.217 + *
1.218 + * Trashes r0..r7
1.219 + */
1.220 +utlb_check_read_exc:
1.221 + mov.l utlb_exc_k, r3
1.222 + mov.l addr_mask, r2
1.223 + and r2, r3
1.224 +
1.225 + mov.l @r3, r2
1.226 + cmp/eq r2, r12
1.227 + bf test_read_exc_bad
1.228 + tst r12, r12
1.229 + bt test_read_ok /* Expected no exception, and got none */
1.230 + mov.l @(4,r3), r2
1.231 + dt r2
1.232 + bf test_read_count_bad
1.233 + mov.l @(8,r3), r2
1.234 + cmp/eq r0, r2
1.235 + bt test_read_ok
1.236 +test_read_pc_bad:
1.237 + add #1, r14
1.238 + mov r0, r6
1.239 + mov.l err_read_pc_msg_k, r4
1.240 + mov r2, r7
1.241 + mov r9, r5
1.242 + trapa #41
1.243 + bra test_read_ok
1.244 + nop
1.245 +test_read_count_bad:
1.246 + add #1, r14
1.247 + add #2, r2
1.248 + mov.l err_read_count_msg_k, r4
1.249 + mov r2, r6
1.250 + mov r9, r5
1.251 + trapa #41
1.252 + bra test_read_ok
1.253 + nop
1.254 +test_read_exc_bad:
1.255 + add #1, r14
1.256 + mov.l err_read_exc_msg_k, r4
1.257 + mov r12, r6
1.258 + mov r2, r7
1.259 + mov r9, r5
1.260 + trapa #41
1.261 + bra test_read_ok
1.262 + nop
1.263 +test_read_ok:
1.264 + bra utlb_expect_exc
1.265 + nop
1.266 +
1.267 +/* Check the result of a write test (and clears the exception). Call with:
1.268 + * r0 = expected spc
1.269 + * r1 = written value
1.270 + * r9 = (char *) testname
1.271 + * r10 = test VMA
1.272 + * r11 = test PMA
1.273 + * r13 = expected exc
1.274 + * r14 = fail count (updated)
1.275 + *
1.276 + * Trashes r0..r7
1.277 + */
1.278 +utlb_check_write_exc:
1.279 + mov.l utlb_exc_k, r3
1.280 + mov.l addr_mask, r2
1.281 + and r2, r3
1.282 +
1.283 + mov.l @r3, r2
1.284 + cmp/eq r2, r13
1.285 + bf test_write_exc_bad
1.286 + tst r13, r13
1.287 + bt test_write_ok /* Expected no exception, and got none */
1.288 + mov.l @(4,r3), r2
1.289 + dt r2
1.290 + bf test_write_count_bad
1.291 + mov.l @(8,r3), r2
1.292 + cmp/eq r0, r2
1.293 + bt test_write_ok
1.294 +test_write_pc_bad:
1.295 + add #1, r14
1.296 + mov r0, r6
1.297 + mov.l err_write_pc_msg_k, r4
1.298 + mov r2, r7
1.299 + mov r9, r5
1.300 + trapa #41
1.301 + bra test_write_ok
1.302 + nop
1.303 +test_write_count_bad:
1.304 + add #1, r14
1.305 + add #1, r2
1.306 + mov.l err_write_count_msg_k, r4
1.307 + mov r2, r6
1.308 + mov r9, r5
1.309 + trapa #41
1.310 + bra test_write_ok
1.311 + nop
1.312 +test_write_exc_bad:
1.313 + add #1, r14
1.314 + mov.l err_write_exc_msg_k, r4
1.315 + mov r13, r6
1.316 + mov r2, r7
1.317 + mov r9, r5
1.318 + trapa #41
1.319 + bra test_write_ok
1.320 + nop
1.321 +test_write_ok:
1.322 + bra utlb_expect_exc
1.323 + nop
1.324 +.align 4
1.325 +utlb_exc_k:
1.326 + .long utlb_exc
1.327 +err_read_exc_msg_k:
1.328 + .long err_read_exc_msg
1.329 +err_read_count_msg_k:
1.330 + .long err_read_count_msg
1.331 +err_read_pc_msg_k:
1.332 + .long err_read_pc_msg
1.333 +err_write_exc_msg_k:
1.334 + .long err_write_exc_msg
1.335 +err_write_count_msg_k:
1.336 + .long err_write_count_msg
1.337 +err_write_pc_msg_k:
1.338 + .long err_write_pc_msg
1.339 +
1.340 +.align 4
1.341 +utlb_old_vbr:
1.342 + .long 0
1.343 +utlb_exc:
1.344 + .long 0
1.345 +utlb_exc_count:
1.346 + .long 0
1.347 +utlb_exc_spc:
1.348 + .long 0
1.349 +utlb_rte_offset:
1.350 + .long 2
1.351 +utlb_expected:
1.352 + .long 0
1.353 +
1.354 +.global _run_utlb_priv_test
1.355 +_run_utlb_priv_test:
1.356 + mov.l r14, @-r15
1.357 + sts pr, r0
1.358 + mov.l r0, @-r15
1.359 + mov.l r13, @-r15
1.360 + mov.l r12, @-r15
1.361 + mov.l r11, @-r15
1.362 + mov.l r10, @-r15
1.363 + mov.l r9, @-r15
1.364 + mov.l r8, @-r15
1.365 +
1.366 + mov.l @(0,r4), r9 /* Test name */
1.367 + mov.l @(4,r4), r10 /* Test VMA */
1.368 + mov.l @(8,r4), r11 /* Test PMA */
1.369 + mov.l @(12,r4), r12 /* Read exception */
1.370 + mov.l @(16,r4), r13 /* Write exception */
1.371 + xor r14, r14 /* Fail count */
1.372 +
1.373 + mov.l @r11, r0 /* Save original memory value */
1.374 + ocbp @r11
1.375 + mov.l r0, @-r15
1.376 +
1.377 + tst r12, r12
1.378 + bt utlb_read_test_noexc
1.379 +
1.380 +/* Exception test cases - all should fail with the same exception */
1.381 +utlb_read_test_exc:
1.382 + mov r10, r8
1.383 + bsr utlb_expect_exc
1.384 + nop
1.385 +
1.386 +/* Test mov.l Rm, Rn */
1.387 + mova test_readl_1, r0
1.388 +.align 4
1.389 +test_readl_1:
1.390 + mov.l @r10, r1
1.391 + bsr utlb_check_read_exc
1.392 + nop
1.393 +
1.394 +/* Test mov.l @Rm+, Rn */
1.395 + mova test_readl_2, r0
1.396 +.align 4
1.397 +test_readl_2:
1.398 + mov.l @r8+, r1
1.399 + bsr utlb_check_read_exc
1.400 + nop
1.401 + cmp/eq r8,r10
1.402 + bt test_readl_2_ok
1.403 +
1.404 + add #1, r14
1.405 + mov.l err_readlp_bad_msg_k, r4
1.406 + mov r9, r5
1.407 + trapa #41
1.408 +
1.409 +test_readl_2_ok:
1.410 +/* Test mov.w @Rm, Rn */
1.411 + mova test_readw_1, r0
1.412 +.align 4
1.413 +test_readw_1:
1.414 + mov.w @r10, r1
1.415 + bsr utlb_check_read_exc
1.416 + nop
1.417 +
1.418 +/* Test mov.w @Rm+, Rn */
1.419 + mova test_readw_2, r0
1.420 +.align 4
1.421 +test_readw_2:
1.422 + mov.w @r8+, r1
1.423 + bsr utlb_check_read_exc
1.424 + nop
1.425 + cmp/eq r8, r10
1.426 + bt test_readw_2_ok
1.427 +
1.428 + add #1, r14
1.429 + mov.l err_readwp_bad_msg_k, r4
1.430 + mov r9, r5
1.431 + trapa #41
1.432 +
1.433 +test_readw_2_ok:
1.434 +
1.435 +/* Test mov.b @Rm, Rn */
1.436 + mova test_readb_1, r0
1.437 +.align 4
1.438 +test_readb_1:
1.439 + mov.b @r10, r1
1.440 + bsr utlb_check_read_exc
1.441 + nop
1.442 +
1.443 +/* Test mov.b @Rm+, Rn */
1.444 + mova test_readb_2, r0
1.445 +.align 4
1.446 +test_readb_2:
1.447 + mov.b @r8+, r1
1.448 + bsr utlb_check_read_exc
1.449 + nop
1.450 + cmp/eq r8, r10
1.451 + bt test_readb_2_ok
1.452 +
1.453 + add #1, r14
1.454 + mov.l err_readbp_bad_msg_k, r4
1.455 + mov r9, r5
1.456 + trapa #41
1.457 +
1.458 +test_readb_2_ok:
1.459 +
1.460 + bra utlb_read_test_done
1.461 + nop
1.462 +
1.463 +/* Non-exception read tests */
1.464 +utlb_read_test_noexc:
1.465 + mov.l utlb_exc_k_2, r8
1.466 + mov.l addr_mask, r0
1.467 + and r0, r8
1.468 + bsr utlb_noexpect_exc
1.469 + nop
1.470 +
1.471 + mov.l @r10, r1
1.472 + not r1, r2
1.473 + mov.l r2, @r11
1.474 + ocbp @r11
1.475 + ocbi @r10
1.476 + mov.l @r10, r1
1.477 + ocbi @r10
1.478 + cmp/eq r1, r2
1.479 + bt noexc_readl_ok
1.480 +
1.481 +
1.482 + add #1, r14
1.483 + mov.l err_read_mismatch_msg_k, r4
1.484 + mov r9, r5
1.485 + trapa #41
1.486 +
1.487 +noexc_readl_ok:
1.488 +
1.489 + mov.l @(4,r8), r0
1.490 + add r0, r14
1.491 +utlb_read_test_done:
1.492 +
1.493 +/*********************** Begin write tests *****************************/
1.494 + tst r13, r13
1.495 + bt utlb_write_test_noexc
1.496 +
1.497 +/* Exception write tests */
1.498 +utlb_write_test_exc:
1.499 + bsr utlb_expect_exc
1.500 + nop
1.501 +
1.502 + mova test_writel_pc, r0
1.503 +.align 4
1.504 +test_writel_pc:
1.505 + mov.l r1, @r10
1.506 + bsr utlb_check_write_exc
1.507 + nop
1.508 +
1.509 + mova test_writelp_pc, r0
1.510 + mov r10, r8
1.511 +.align 4
1.512 +test_writelp_pc:
1.513 + mov.l r1, @-r8
1.514 + bsr utlb_check_write_exc
1.515 + nop
1.516 + cmp/eq r8, r10
1.517 + bt test_writelp_ok
1.518 + add #1, r14
1.519 + mov.l err_writelp_bad_msg_k, r4
1.520 + mov r9, r5
1.521 + trapa #41
1.522 +test_writelp_ok:
1.523 +
1.524 + mova test_writew_pc, r0
1.525 +.align 4
1.526 +test_writew_pc:
1.527 + mov.w r1, @r10
1.528 + bsr utlb_check_write_exc
1.529 + nop
1.530 +
1.531 + mova test_writewp_pc, r0
1.532 + mov r10, r8
1.533 +.align 4
1.534 +test_writewp_pc:
1.535 + mov.w r1, @-r8
1.536 + bsr utlb_check_write_exc
1.537 + nop
1.538 + cmp/eq r8, r10
1.539 + bt test_writewp_ok
1.540 + add #1, r14
1.541 + mov.l err_writewp_bad_msg_k, r4
1.542 + mov r9, r5
1.543 + trapa #41
1.544 +test_writewp_ok:
1.545 +
1.546 + mova test_writeb_pc, r0
1.547 +.align 4
1.548 +test_writeb_pc:
1.549 + mov.b r1, @r10
1.550 + bsr utlb_check_write_exc
1.551 + nop
1.552 +
1.553 + mova test_writebp_pc, r0
1.554 + mov r10, r8
1.555 +.align 4
1.556 +test_writebp_pc:
1.557 + mov.b r1, @-r8
1.558 + bsr utlb_check_write_exc
1.559 + nop
1.560 + cmp/eq r8, r10
1.561 + bt test_writebp_ok
1.562 + add #1, r14
1.563 + mov.l err_writelp_bad_msg_k, r4
1.564 + mov r9, r5
1.565 + trapa #41
1.566 +test_writebp_ok:
1.567 +
1.568 + bra utlb_write_test_done
1.569 + nop
1.570 +
1.571 +/* Non-exception write tests */
1.572 +utlb_write_test_noexc:
1.573 + mov.l utlb_exc_k_2, r8
1.574 + mov.l addr_mask, r0
1.575 + and r0, r8
1.576 + bsr utlb_noexpect_exc
1.577 + nop
1.578 +
1.579 + mov.l @r11, r7
1.580 + ocbp @r11
1.581 + not r7, r1
1.582 +
1.583 + mov.l r1, @r10
1.584 + ocbp @r10
1.585 + mov.l @r11, r6
1.586 + cmp/eq r6, r1
1.587 + bt test_writel_1_ok
1.588 +
1.589 + add #1, r14
1.590 + mov.l err_write_ignored_msg_k, r4
1.591 + mov r9, r5
1.592 + trapa #41
1.593 +
1.594 +test_writel_1_ok:
1.595 +
1.596 + mov.l @(4,r8), r0
1.597 + add r0, r14
1.598 +utlb_write_test_done:
1.599 +
1.600 + xor r0, r0
1.601 + mov.l r0, @(16,r8)
1.602 +
1.603 + mov.l @r15+, r0
1.604 + mov.l r0, @r11
1.605 + mov.l @r15+, r8
1.606 + mov.l @r15+, r9
1.607 + mov.l @r15+, r10
1.608 + mov.l @r15+, r11
1.609 + mov.l @r15+, r12
1.610 + mov.l @r15+, r13
1.611 + mov.l @r15+, r1
1.612 + lds r1, pr
1.613 + mov r14, r0
1.614 + mov.l @r15+, r14
1.615 + rts
1.616 + nop
1.617 +
1.618 +.align 4
1.619 +err_read_mismatch_msg_k:
1.620 + .long err_read_mismatch_msg
1.621 +err_write_ignored_msg_k:
1.622 + .long err_write_ignored_msg
1.623 +err_readlp_bad_msg_k:
1.624 + .long err_readlp_bad_msg
1.625 +err_readwp_bad_msg_k:
1.626 + .long err_readwp_bad_msg
1.627 +err_readbp_bad_msg_k:
1.628 + .long err_readbp_bad_msg
1.629 +err_writelp_bad_msg_k:
1.630 + .long err_readlp_bad_msg
1.631 +err_writewp_bad_msg_k:
1.632 + .long err_readwp_bad_msg
1.633 +err_writebp_bad_msg_k:
1.634 + .long err_readbp_bad_msg
1.635 +
1.636 +
1.637 +
1.638 +.global _run_utlb_user_test
1.639 +_run_utlb_user_test:
1.640 + sts pr, r0
1.641 + mov.l r0, @-r15
1.642 + stc sr, r2
1.643 + mov.l sr_mask, r1
1.644 + and r1, r2
1.645 +
1.646 + mova user_entry_point, r0
1.647 + mov.l addr_mask, r1
1.648 + and r1, r0
1.649 +
1.650 + mov.l r15, @-r15
1.651 +
1.652 + jmp @r0
1.653 + nop
1.654 +
1.655 +user_entry_point:
1.656 + nop
1.657 + ldc r2, sr
1.658 +
1.659 + /* In user mode */
1.660 +
1.661 + mov.l main_test_k, r0
1.662 + and r1, r0
1.663 + and r1, r4
1.664 + and r1, r15
1.665 + jsr @r0
1.666 + nop
1.667 +
1.668 + /* Done, return to priv mode */
1.669 + trapa #42
1.670 + mov.l user_retaddr, r1
1.671 + jmp @r1
1.672 + nop
1.673 +
1.674 +user_exit_point:
1.675 + /* Back to priv mode */
1.676 + mov.l @r15+, r15
1.677 + mov.l @r15+, r1
1.678 + lds r1, pr
1.679 + rts
1.680 + nop
1.681 +.align 4
1.682 +
1.683 +utlb_exc_k_2:
1.684 + .long utlb_exc
1.685 +main_test_k:
1.686 + .long _run_utlb_priv_test
1.687 +addr_mask:
1.688 + .long 0x1FFFFFFF
1.689 +sr_mask:
1.690 + .long 0x3FFFFFFF
1.691 +user_retaddr:
1.692 + .long user_exit_point
1.693 +
1.694 +err_read_exc_msg:
1.695 + .string "%s: Read failed: Expected Exc %04X but got %04X\n"
1.696 +err_read_count_msg:
1.697 + .string "%s: Read bad exception: Exception 1 exception, but got %d\n"
1.698 +err_read_pc_msg:
1.699 + .string "%s: Read bad exception: Expected PC=%08X but was %08X\n"
1.700 +err_read_mismatch_msg:
1.701 + .string "%s: Read failed: Data mismatch!\n"
1.702 +err_readlp_bad_msg:
1.703 + .string "%s: Mov.l @Rm+, Rn failed: Rm changed!\n"
1.704 +err_readwp_bad_msg:
1.705 + .string "%s: Mov.w @Rm+, Rn failed: Rm changed!\n"
1.706 +err_readbp_bad_msg:
1.707 + .string "%s: Mov.b @Rm+, Rn failed: Rm changed!\n"
1.708 +err_writelp_bad_msg:
1.709 + .string "%s: Mov.l Rm, @-Rn failed: Rm changed!\n"
1.710 +err_writewp_bad_msg:
1.711 + .string "%s: Mov.w Rm, @-Rn failed: Rm changed!\n"
1.712 +err_writebp_bad_msg:
1.713 + .string "%s: Mov.b Rm, @-Rn failed: Rm changed!\n"
1.714 +err_write_exc_msg:
1.715 + .string "%s: Write failed: Expected Exc %04X but got %04X\n"
1.716 +err_write_count_msg:
1.717 + .string "%s: Write bad exception: Expected 1 exception, but got %d\n"
1.718 +err_write_pc_msg:
1.719 + .string "%s: Write bad exception: Expected PC=%08X but was %08X\n"
1.720 +err_write_ignored_msg:
1.721 + .string "%s: Write failed: write didn't happen!\n"
1.722 +utlb_unexpected_msg:
1.723 + .string "*** Unexpected exception %04X at %08X!\n"
.