Commit | Line | Data |
---|---|---|
793a1948 TC |
1 | .macro gen_mrs reg |
2 | .irp m, 3, 11, 15 | |
3 | MRS X\m, \reg | |
4 | .endr | |
5 | .endm | |
6 | ||
7 | .macro gen_tlbi reg | |
8 | .irp m, 3, 11, 15 | |
9 | TLBI \reg, X\m | |
10 | .endr | |
11 | .endm | |
12 | func: | |
13 | # Secure second stage | |
14 | gen_mrs VSTTBR_EL2 | |
15 | gen_mrs VSTCR_EL2 | |
16 | ||
17 | # Timer changes | |
18 | gen_mrs CNTP_TVAL_EL0 | |
19 | gen_mrs CNTP_CTL_EL0 | |
20 | gen_mrs CNTP_CVAL_EL0 | |
21 | gen_mrs CNTV_TVAL_EL0 | |
22 | gen_mrs CNTV_CTL_EL0 | |
23 | gen_mrs CNTV_CVAL_EL0 | |
24 | ||
25 | gen_mrs CNTHVS_TVAL_EL2 | |
26 | gen_mrs CNTHVS_CVAL_EL2 | |
27 | gen_mrs CNTHVS_CTL_EL2 | |
28 | gen_mrs CNTHPS_TVAL_EL2 | |
29 | gen_mrs CNTHPS_CVAL_EL2 | |
30 | gen_mrs CNTHPS_CTL_EL2 | |
31 | ||
32 | # Debug state | |
33 | gen_mrs SDER32_EL2 | |
34 | ||
35 | # Nested Virtualization | |
36 | gen_mrs VNCR_EL2 | |
37 | ||
38 | # PSTATE | |
39 | MSR DIT, #01 | |
40 | MSR DIT, #00 | |
41 | MSR DIT, X3 | |
42 | MSR DIT, X11 | |
43 | MSR DIT, X15 | |
44 | gen_mrs DIT | |
45 | ||
46 | # TLB Maintenance instructions | |
47 | TLBI VMALLE1OS | |
48 | TLBI ALLE2OS | |
49 | TLBI ALLE1OS | |
50 | TLBI ALLE3OS | |
51 | TLBI VMALLS12E1OS | |
52 | gen_tlbi VAE1OS | |
53 | gen_tlbi ASIDE1OS | |
54 | gen_tlbi VAAE1OS | |
55 | gen_tlbi VALE1OS | |
56 | gen_tlbi VAALE1OS | |
57 | gen_tlbi IPAS2E1OS | |
58 | gen_tlbi IPAS2LE1OS | |
59 | gen_tlbi VAE2OS | |
60 | gen_tlbi VALE2OS | |
61 | gen_tlbi VAE3OS | |
62 | gen_tlbi VALE3OS | |
63 | ||
64 | # TLB Range Maintenance Instructions | |
65 | gen_tlbi RVAE1 | |
66 | gen_tlbi RVAAE1 | |
67 | gen_tlbi RVALE1 | |
68 | gen_tlbi RVAALE1 | |
69 | gen_tlbi RVAE1IS | |
70 | gen_tlbi RVAAE1IS | |
71 | gen_tlbi RVALE1IS | |
72 | gen_tlbi RVAALE1IS | |
73 | gen_tlbi RVAE1OS | |
74 | gen_tlbi RVAAE1OS | |
75 | gen_tlbi RVALE1OS | |
76 | gen_tlbi RVAALE1OS | |
77 | gen_tlbi RIPAS2E1IS | |
78 | gen_tlbi RIPAS2LE1IS | |
79 | gen_tlbi RIPAS2E1 | |
80 | gen_tlbi RIPAS2LE1 | |
81 | gen_tlbi RIPAS2E1OS | |
82 | gen_tlbi RIPAS2LE1OS | |
83 | gen_tlbi RVAE2 | |
84 | gen_tlbi RVALE2 | |
85 | gen_tlbi RVAE2IS | |
86 | gen_tlbi RVALE2IS | |
87 | gen_tlbi RVAE2OS | |
88 | gen_tlbi RVALE2OS | |
89 | gen_tlbi RVAE3 | |
90 | gen_tlbi RVALE3 | |
91 | gen_tlbi RVAE3IS | |
92 | gen_tlbi RVALE3IS | |
93 | gen_tlbi RVAE3OS | |
94 | gen_tlbi RVALE3OS |