master
s
48 lines
656 Bytes
|
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 |