1#progos: nowhere:disabled-due-to-randomness 2#mach: crisv10 crisv32 3#sim(crisv10): --hw-device "/rv/trace? true" 4#sim(crisv32): --hw-device "/rv/trace? true" 5#output: /rv: WD\n 6#output: /rv: REG R 0xd0000032\n 7#output: /rv: := 0xabcdef01\n 8#output: /rv: IRQ 0x4\n 9#output: /rv: REG R 0xd0000036\n 10#output: /rv: := 0x76543210\n 11#output: /rv: REG R 0xd0000036\n 12#output: /rv: := 0x76543211\n 13#output: /rv: REG R 0xd0000030\n 14#output: /rv: IRQ 0x0\n 15#output: /rv: := 0xeeff4455\n 16#output: pass\n 17 18# Trivial test of interrupts. 19# Locations of IRQ notifiers above depend on when the simulator is 20# polled; adjustments may be needed (after checking that no poll is 21# gone due to a bug!) 22 23#r W, 24#r r,a8832,abcdef01 25#r I,4 26#r r,a8836,76543210 27#r r,a8836,76543211 28#r I,0 29#r r,a8830,eeff4455 30 31 .lcomm dummy,4 32 33 .include "testutils.inc" 34 start 35 .if ..asm.arch.cris.v32 36 move irqvec1,$ebp 37 .else 38 move irqvec1,$ibr 39 .endif 40 test_h_mem 0xabcdef01 0xd0000032 41 nop 42 nop 43 test_h_mem 0x76543210 0xd0000036 44 ei 45 test_h_mem 0,dummy 46wouldreturnhere: 47 nop 48killme: 49 fail 50 51returnhere: 52 test_h_mem 0x76543211 0xd0000036 53 test_h_mem 0xeeff4455 0xd0000030 54 pass 55 56irq0x33: 57 .if ..asm.arch.cris.v32 58 test_h_dr wouldreturnhere,$erp 59 move returnhere,$erp 60 rete 61 rfe 62 .else 63 move $dccr,$r0 64 test_h_dr wouldreturnhere,$irp 65 move returnhere,$irp 66 reti 67 move $r0,$dccr 68 .endif 69 70 singlevec irqvec1,0x33,irq0x33 71