--- a/test/interrupt.s Mon Sep 25 11:13:56 2006 +0000 +++ b/test/interrupt.s Sat Jan 06 04:06:36 2007 +0000 @@ -177,6 +177,26 @@ nop ex_dontcare: ! Not the event we were waiting for. +! Check if its a trapa #42 ("Switch to system mode") + mov.l trapa_exc_k, r0 + cmp/eq r0,r1 + bf ex_chain + mov.l trapa_k, r0 + mov.l @r0, r0 + shlr2 r0 + cmp/eq #42, r0 + bf ex_chain +! Yes, yes it is - update SSR and return without chaining + stc ssr, r0 + mov #0x40, r1 + mov #24, r2 + shld r2, r1 + or r0, r1 + ldc r1, ssr + bra ex_nochain + nop + +ex_chain: mov.l old_vbr_k, r2 mov.l @r2, r2 xor r0, r0 @@ -213,9 +233,9 @@ mov.l @r15+, r2 mov.l @r15+, r1 mov.l @r15+, r0 + stc sgr, r15 rte - stc sgr, r15 - + nop .align 4 expected_intevt_k: .long expected_intevt