Search
lxdream.org :: lxdream/test/sh4/excslot.s :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename test/sh4/excslot.s
changeset 358:65043a8f5785
prev357:3592a10b3242
author nkeynes
date Fri Feb 08 00:06:56 2008 +0000 (16 years ago)
permissions -rw-r--r--
last change Fix LDS/STS to FPUL/FPSCR to check the FPU disabled bit. Fixes
the linux 2.4.0-test8 kernel boot
(this wasn't exactly very well documented in the original manual)
file annotate diff log raw
1.1 --- a/test/sh4/excslot.s Tue Feb 13 08:34:27 2007 +0000
1.2 +++ b/test/sh4/excslot.s Fri Feb 08 00:06:56 2008 +0000
1.3 @@ -169,16 +169,39 @@
1.4 .word 0xFFFD
1.5 assert_exc_caught test_slot_str_k test_slot_17_pc
1.6
1.7 +test_slot_18: ! "Undefined (FPU disabled)" 0xFFFD
1.8 + add #1, r12
1.9 + stc sr, r0
1.10 + xor r1, r1
1.11 + add #32, r1
1.12 + shll2 r1
1.13 + shll8 r1
1.14 + or r0, r1
1.15 + ldc r1, sr
1.16 + expect_exc 0x000001A0
1.17 +test_slot_18_pc:
1.18 + bsr test_slot_fail
1.19 + .word 0xFFFD
1.20 + assert_exc_caught test_slot_str_k test_slot_18_pc
1.21 + stc sr, r0
1.22 + xor r1, r1
1.23 + add #32, r1
1.24 + shll2 r1
1.25 + shll8 r1
1.26 + not r1, r1
1.27 + and r0, r1
1.28 + ldc r1, sr
1.29 +
1.30 !
1.31 ! Ok now the privilege tests. These should raise SLOT_ILLEGAL when executed
1.32 ! in a delay slot (otherwise it's GENERAL_ILLEGAL)
1.33
1.34 -test_slot_18: ! LDC Rn, SPC in user mode
1.35 +test_slot_19: ! LDC Rn, SPC in user mode
1.36 ! add #1, r12
1.37 ! expect_exc 0x000001A0
1.38 ! stc spc, r4
1.39 ! usermode
1.40 -!test_slot_18_pc:
1.41 +!test_slot_19_pc:
1.42 ! bsr test_slot_fail
1.43 ! ldc r4, spc
1.44 ! systemmode
.