summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/cris/hw/rv-n-cris/mbox1.ms
blob: ee0f54c6c7ba6415b5fdee0665fc6cb60d4eb629 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#mach: crisv10 crisv32
#sim(crisv10): --hw-device "/rv/trace? true"
#sim(crisv32): --hw-device "/rv/trace? true"
#output: /rv: WD\n
#output: /rv: MBOX H 0x1001d..0x10037\n
#output: /rv: 0x10020: 12 23 34 56 79 8a bd de\n
#output: /rv: 0x10028: fb ad ba db ad 56 78 9a\n
#output: /rv: 0x10030: fd e1 23 45 66 54 32 1a\n
#output: /rv: -> 0x1001d..0x10027\n
#output: /rv: 0x10020: aa 55 77 88 32 10 ee cc\n
#output: /rv: MBOX P 0xfffd..0x1001f\n
#output: /rv: 0x10000: aa 55 12 23 34 56 79 8a\n
#output: /rv: 0x10008: bd de fb ad ba db ad 56\n
#output: /rv: 0x10010: 78 9a fd e1 23 45 66 54\n
#output: /rv: 0x10018: 32 1a ac cb be ed db ed\n
#output: /rv: -> 0xfffd..0x10017\n
#output: /rv: 0x10000: 11 22 56 78 ee dd 12 ab\n
#output: /rv: 0x10008: 55 aa ee 00 42 12 27 98\n
#output: /rv: 0x10010: 88 55 22 33 66 77 22 45\n
#output: /rv: REG R 0xd0000038\n
#output: /rv: := 0x76543211\n
#output: pass\n

# Trivial test of mailbox commands.

#r W,
#r i,1b000512233456798abddefbadbadbad56789afde123456654321a
#r o,0b0005aa5577883210eecc
#r i,230006aa5512233456798abddefbadbadbad56789afde123456654321aaccbbeeddbed
#r o,1b000511225678eedd12ab55aaee00421227988855223366772245
#r r,a8838,76543211

 .include "testutils.inc"
 start
 move.w 0x1b,$r0
 move.d 0x1001d,$r1
 move.w $r0,[$r1+]
 moveq 5,$r0
 move.b $r0,[$r1]
 mvi_h_mem 0x56342312 0x10020
 mvi_h_mem 0xdebd8a79 0x10024
 mvi_h_mem 0xdbbaadfb 0x10028
 mvi_h_mem 0x9a7856ad 0x1002c
 mvi_h_mem 0x4523e1fd 0x10030
 mvi_h_mem 0x1a325466 0x10034

 mvi_h_mem 0x1001d 0xc000f000

 move.d 0x1001d,$r0
 movu.w [$r0+],$r1
 test_h_gr 0xb $r1
 movu.b [$r0],$r1
 test_h_gr 0x5 $r1
 test_h_mem 0x887755aa 0x10020
 test_h_mem 0xccee1032 0x10024

 move.w 0x23,$r0
 move.d 0xfffd,$r1
 move.w $r0,[$r1+]
 moveq 6,$r0
 move.b $r0,[$r1]
 mvi_h_mem 0x231255aa 0x10000
 mvi_h_mem 0x8a795634 0x10004
 mvi_h_mem 0xadfbdebd 0x10008
 mvi_h_mem 0x56addbba 0x1000c
 mvi_h_mem 0xe1fd9a78 0x10010
 mvi_h_mem 0x54664523 0x10014
 mvi_h_mem 0xcbac1a32 0x10018
 mvi_h_mem 0xeddbedbe 0x1001c

 mvi_h_mem 0xfffd 0xc000f000

 move.d 0xfffd,$r0
 movu.w [$r0+],$r1
 test_h_gr 0x1b $r1
 movu.b [$r0],$r1
 test_h_gr 0x6 $r1
 test_h_mem 0x78562211 0x10000
 test_h_mem 0xab12ddee 0x10004
 test_h_mem 0x00eeaa55 0x10008
 test_h_mem 0x98271242 0x1000c
 test_h_mem 0x33225588 0x10010
 test_h_mem 0x45227766 0x10014

 test_h_mem 0x76543211 0xd0000038
 pass

 .fill 65536*2+128,1,0