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 46 wouldreturnhere: 47 nop 48 killme: 49 fail 50 51 returnhere: 52 test_h_mem 0x76543211 0xd0000036 53 test_h_mem 0xeeff4455 0xd0000030 54 pass 55 56 irq0x33: 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