1 #mach: crisv10 crisv32 2 #sim(crisv10): --hw-device "/rv/trace? true" 3 #sim(crisv32): --hw-device "/rv/trace? true" 4 #output: /rv: WD\n 5 #output: /rv: REG R 0xd0000036\n 6 #output: /rv: := 0x76543210\n 7 #output: /rv: DMA W 0x20020..0x2003f\n 8 #output: /rv: 0x20020: 12 23 34 56\n 9 #output: /rv: 0x20024: 79 8a bd de\n 10 #output: /rv: 0x20028: fb ad ba db\n 11 #output: /rv: 0x2002c: ad 56 78 9a\n 12 #output: /rv: 0x20030: fd e1 23 45\n 13 #output: /rv: 0x20034: 66 54 32 1a\n 14 #output: /rv: 0x20038: ac cb be ed\n 15 #output: /rv: 0x2003c: db ed aa da\n 16 #output: /rv: REG R 0xd0000038\n 17 #output: /rv: := 0x76543211\n 18 #output: /rv: DMA R 0x20000..0x2001f\n 19 #output: /rv: 0x20000: aa 55 12 23\n 20 #output: /rv: 0x20004: 34 56 79 8a\n 21 #output: /rv: 0x20008: bd de fb ad\n 22 #output: /rv: 0x2000c: ba db ad 56\n 23 #output: /rv: 0x20010: 78 9a fd e1\n 24 #output: /rv: 0x20014: 23 45 66 54\n 25 #output: /rv: 0x20018: 32 1a ac cb\n 26 #output: /rv: 0x2001c: be ed db ed\n 27 #output: /rv: IRQ 0x8\n 28 #output: /rv: REG R 0xd0000038\n 29 #output: /rv: := 0x76543212\n 30 #output: pass\n 31 32 # Trivial test of DMA. 33 34 # Locations of IRQ notifiers above depend on when the simulator is 35 # polled; adjustments may be needed (after checking that no poll is 36 # gone due to a bug!) 37 38 #r W, 39 #r r,a8836,76543210 40 #r s,e020,12233456798abddefbadbadbad56789afde123456654321aaccbbeeddbedaada 41 #r r,a8838,76543211 42 #r l,e000,aa5512233456798abddefbadbadbad56789afde123456654321aaccbbeeddbed 43 #r I,8 44 #r r,a8838,76543212 45 46 .include "testutils.inc" 47 start 48 test_h_mem 0x76543210 0xd0000036 49 50 move.d 0x2003f,$r1 51 move.d 0x10000,$r3 52 0: 53 test.b [$r1] 54 bne 1f 55 subq 1,$r3 56 bne 0b 57 nop 58 59 1: 60 test_h_mem 0x56342312 0x20020 61 test_h_mem 0xdebd8a79 0x20024 62 test_h_mem 0xdbbaadfb 0x20028 63 test_h_mem 0x9a7856ad 0x2002c 64 test_h_mem 0x4523e1fd 0x20030 65 test_h_mem 0x1a325466 0x20034 66 test_h_mem 0xedbecbac 0x20038 67 test_h_mem 0xdaaaeddb 0x2003c 68 69 move.d 0x20020,$r0 70 move.d 0x20000,$r1 71 move.w 0x55aa,$r2 72 move.w $r2,[r1+] 73 .rept 8 74 move.d [$r0+],$r2 75 move.d $r2,[$r1+] 76 .endr 77 78 test_h_mem 0x76543211 0xd0000038 79 80 .if ..asm.arch.cris.v32 81 move irqvec1,$ebp 82 .else 83 move irqvec1,$ibr 84 .endif 85 ei 86 move.d 0x100000,$r9 87 0: 88 subq 1,$r9 89 bne 0b 90 nop 91 killme: 92 fail 93 94 irq0x34: 95 test_h_mem 0x76543212 0xd0000038 96 pass 97 98 .fill 65536*2+128,1,0 99 100 singlevec irqvec1,0x34,irq0x34 101