1#mach: crisv10 crisv32
2#sim(crisv10): --hw-device "/rv/trace? true" --hw-device "/rv/intmultiple 0xaa"
3#sim(crisv32): --hw-device "/rv/trace? true" --hw-device "/rv/intmultiple 0xaa"
4#output: /rv: WD\n
5#output: /rv: REG R 0xd0000032\n
6#output: /rv: := 0xabcdef01\n
7#output: /rv: IRQ 0xaa\n
8#output: /rv: REG R 0xd0000036\n
9#output: /rv: := 0x76543210\n
10#output: /rv: REG R 0xd0000030\n
11#output: /rv: IRQ 0x0\n
12#output: /rv: := 0xeeff4455\n
13#output: pass\n
14
15# Primarily to test multiple-int-bits set in dv-rv.c.
16
17#r W,
18#r r,a8832,abcdef01
19#r I,6
20#r r,a8836,76543210
21#r I,0
22#r r,a8830,eeff4455
23
24 .lcomm dummy,4
25
26 .include "testutils.inc"
27 start
28 test_h_mem 0xabcdef01 0xd0000032
29 .if ..asm.arch.cris.v32
30 move irqvec1,$ebp
31 .else
32 move irqvec1,$ibr
33 .endif
34 ei
35 test_h_mem 0,dummy
36killme:
37 fail
38
39irq0xea:
40 test_h_mem 0x76543210 0xd0000036
41 test_h_mem 0xeeff4455 0xd0000030
42 pass
43
44 singlevec irqvec1,0xea,irq0xea
45