Commit | Line | Data |
---|---|---|
a06ea964 NC |
1 | .text |
2 | drps | |
3 | ||
4 | // | |
5 | // HINTS | |
6 | // | |
7 | ||
8 | nop | |
9 | yield | |
10 | wfe | |
11 | wfi | |
12 | sev | |
13 | sevl | |
14 | ||
15 | .macro all_hints from=0, to=127 | |
16 | hint \from | |
17 | .if \to-\from | |
18 | all_hints "(\from+1)", \to | |
19 | .endif | |
20 | .endm | |
21 | ||
22 | all_hints from=0, to=63 | |
23 | all_hints from=64, to=127 | |
24 | ||
25 | // | |
26 | // SYSL | |
27 | // | |
28 | ||
29 | sysl x7, #3, C15, C7, #7 | |
30 | ||
31 | // | |
32 | // BARRIERS | |
33 | // | |
34 | ||
35 | .macro all_barriers op, from=0, to=15 | |
36 | \op \from | |
37 | .if \to-\from | |
38 | all_barriers \op, "(\from+1)", \to | |
39 | .endif | |
40 | .endm | |
41 | ||
42 | all_barriers op=dsb, from=0, to=15 | |
43 | all_barriers op=dmb, from=0, to=15 | |
44 | all_barriers op=isb, from=0, to=15 | |
45 | ||
46 | isb | |
47 | ||
48 | // | |
49 | // PREFETCHS | |
50 | // | |
51 | ||
52 | .macro all_prefetchs op, from=0, to=31 | |
53 | \op \from, LABEL1 | |
54 | \op \from, [sp, x15, lsl #0] | |
55 | \op \from, [x7, w30, uxtw #3] | |
56 | \op \from, [x3, #24] | |
57 | .if \to-\from | |
58 | all_prefetchs \op, "(\from+1)", \to | |
59 | .endif | |
60 | .endm | |
61 | ||
62 | all_prefetchs op=prfm, from=0, to=31 |