master
s 48 lines 656 Bytes
Raw
1 #include "macros.inc"
2
3 test_suite exclusive
4
5 #if XCHAL_HAVE_EXCLUSIVE
6
7 test exclusive_nowrite
8 movi a2, 0x29
9 wsr a2, atomctl
10 clrex
11 movi a2, 1f
12 movi a3, 1
13 s32ex a3, a2
14 getex a3
15 assert eqi, a3, 0
16 l32i a3, a2, 0
17 assert eqi, a3, 3
18
19 .data
20 .align 4
21 1:
22 .word 3
23 .text
24 test_end
25
26 test exclusive_write
27 movi a2, 0x29
28 wsr a2, atomctl
29 movi a2, 1f
30 l32ex a3, a2
31 assert eqi, a3, 3
32 movi a3, 2
33 s32ex a3, a2
34 getex a3
35 assert eqi, a3, 1
36 l32i a3, a2, 0
37 assert eqi, a3, 2
38
39 .data
40 .align 4
41 1:
42 .word 3
43 .text
44 test_end
45
46 #endif
47
48 test_suite_end