# FRV testcase # mach: fr500 fr550 fr400 .include "testutils.inc" start .global tra tra: and_spr_immed 0x3fffffff,hsr0 ; no caches enabled and_spr_immed -4081,tbr ; clear tbr.tt set_gr_spr tbr,gr7 inc_gr_immed 0x070,gr7 ; address of exception handler set_bctrlr_0_0 gr7 inc_gr_immed 0x790,gr7 ; address of exception handler set_bctrlr_0_0 gr7 set_spr_immed 128,lcr set_psr_et 1 set_spr_addr ok0,lr set_gr_addr ill1,gr7 set_mem_immed 0x81f80000,gr7 ; unknown opcode: 7E ill1: tira gr0,0 ; should be overridden ill2: nop ; also illegal, but prev has priority bad0: fail ; check interrupt ok0: test_spr_addr ill1,pcsr test_spr_immed 1,esfr1 ; esr0 active test_spr_bits 0x3f,0,0xb,esr0 movsg psr,gr28 srli gr28,28,gr28 subicc gr28,0x3,gr0,icc3 ; is fr550? beq icc3,0,no_epcr test_spr_addr ill1,epcr0 no_epcr: pass