1# Blackfin testcase for MMR exceptions in a lower EVT
2# mach: bfin
3# sim: --environment operating
4
5	.include "testutils.inc"
6
7	start
8
9	imm32 P0, 0xFFE02000
10	loadsym R1, _evx
11	[P0 + (4 * 3)] = R1;
12	loadsym R1, _ivg9
13	[P0 + (4 * 9)] = R1;
14	CSYNC;
15
16	RETI = R1;
17	RAISE 9;
18	R0 = -1;
19	STI R0;
20	RTI;
21	dbg_fail
22
23_ivg9:
24	# Invalid MMR
25	imm32 P0, 0xFFEE0000
261:	[P0] = R0;
279:	dbg_fail
28
29_evx:
30	# Make sure SEQSTAT is set to correct value
31	R0 = SEQSTAT;
32	R0 = R0.B;
33	R1 = 0x2e (x);
34	CC = R0 == R1;
35	IF !CC JUMP 9b;
36
37	# Make sure RETX is set to correct address
38	loadsym R0, 1b;
39	R1 = RETX;
40	CC = R0 == R1;
41	IF !CC JUMP 9b;
42
43	dbg_pass
44