Lines Matching refs:csr

16 #define CASE_READ_SW_GCSR(csr, regid, csrid) \
19 return kvm_read_sw_gcsr(csr, csrid); \
25 struct loongarch_csrs *csr = vcpu->arch.csr;
28 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_MERRCTL);
29 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_MERRINFO1);
30 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_MERRINFO2);
31 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_MERRENTRY);
32 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_MERRERA);
33 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_MERRSAVE);
34 /* read sw csr when not config pmu to guest */
35 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_PERFCTRL0);
36 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_PERFCTRL1);
37 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_PERFCTRL2);
38 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_PERFCTRL3);
39 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_PERFCNTR0);
40 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_PERFCNTR1);
41 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_PERFCNTR2);
42 CASE_READ_SW_GCSR(csr, csrid, KVM_CSR_PERFCNTR3);
46 val = kvm_read_sw_gcsr(csr, csrid);
54 #define CASE_WRITE_SW_GCSR(csr, regid, csrid, val) \
57 kvm_write_sw_gcsr(csr, csrid, val); \
65 struct loongarch_csrs *csr = vcpu->arch.csr;
67 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_MERRCTL, val);
68 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_MERRINFO1, val);
69 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_MERRINFO2, val);
70 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_MERRENTRY, val);
71 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_MERRERA, val);
72 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_MERRSAVE, val);
75 CASE_WRITE_HW_PMU(vcpu, csr, csrid, KVM_CSR_PERFCTRL0, val);
76 CASE_WRITE_HW_PMU(vcpu, csr, csrid, KVM_CSR_PERFCTRL1, val);
77 CASE_WRITE_HW_PMU(vcpu, csr, csrid, KVM_CSR_PERFCTRL2, val);
78 CASE_WRITE_HW_PMU(vcpu, csr, csrid, KVM_CSR_PERFCTRL3, val);
79 /* write sw pmu csr if not config ctrl */
80 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_PERFCNTR0, val);
81 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_PERFCNTR1, val);
82 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_PERFCNTR2, val);
83 CASE_WRITE_SW_GCSR(csr, csrid, KVM_CSR_PERFCNTR3, val);
87 kvm_write_sw_gcsr(csr, csrid, val);
93 #define CASE_CHANGE_SW_GCSR(csr, regid, csrid, mask, val) \
96 kvm_change_sw_gcsr(csr, csrid, mask, val); \
104 struct loongarch_csrs *csr = vcpu->arch.csr;
106 CASE_CHANGE_SW_GCSR(csr, csrid, KVM_CSR_IMPCTL1, csr_mask, val);
107 CASE_CHANGE_SW_GCSR(csr, csrid, KVM_CSR_MERRCTL, csr_mask, val);
108 CASE_CHANGE_SW_GCSR(csr, csrid, KVM_CSR_MERRINFO1, csr_mask, val);
109 CASE_CHANGE_SW_GCSR(csr, csrid, KVM_CSR_MERRINFO2, csr_mask, val);
110 CASE_CHANGE_SW_GCSR(csr, csrid, KVM_CSR_MERRENTRY, csr_mask, val);
111 CASE_CHANGE_SW_GCSR(csr, csrid, KVM_CSR_MERRERA, csr_mask, val);
112 CASE_CHANGE_SW_GCSR(csr, csrid, KVM_CSR_MERRSAVE, csr_mask, val);
117 orig = kvm_read_sw_gcsr(csr, csrid);
120 kvm_write_sw_gcsr(csr, csrid, orig);
128 struct loongarch_csrs *csr = vcpu->arch.csr;
183 GET_SW_GCSR(csr, id, KVM_CSR_IMPCTL1, v);
184 GET_SW_GCSR(csr, id, KVM_CSR_IMPCTL2, v);
185 GET_SW_GCSR(csr, id, KVM_CSR_MERRCTL, v);
186 GET_SW_GCSR(csr, id, KVM_CSR_MERRINFO1, v);
187 GET_SW_GCSR(csr, id, KVM_CSR_MERRINFO2, v);
188 GET_SW_GCSR(csr, id, KVM_CSR_MERRENTRY, v);
189 GET_SW_GCSR(csr, id, KVM_CSR_MERRERA, v);
190 GET_SW_GCSR(csr, id, KVM_CSR_MERRSAVE, v);
191 GET_SW_GCSR(csr, id, KVM_CSR_CTAG, v);
192 GET_SW_GCSR(csr, id, KVM_CSR_DEBUG, v);
193 GET_SW_GCSR(csr, id, KVM_CSR_DERA, v);
194 GET_SW_GCSR(csr, id, KVM_CSR_DESAVE, v);
196 GET_SW_GCSR(csr, id, KVM_CSR_TINTCLR, v);
199 *v = kvm_read_sw_gcsr(csr, id);
208 struct loongarch_csrs *csr = vcpu->arch.csr;
211 SET_HW_GCSR(csr, id, KVM_CSR_CRMD, v);
212 SET_HW_GCSR(csr, id, KVM_CSR_PRMD, v);
213 SET_HW_GCSR(csr, id, KVM_CSR_EUEN, v);
214 SET_HW_GCSR(csr, id, KVM_CSR_MISC, v);
215 SET_HW_GCSR(csr, id, KVM_CSR_ECFG, v);
216 SET_HW_GCSR(csr, id, KVM_CSR_ERA, v);
217 SET_HW_GCSR(csr, id, KVM_CSR_BADV, v);
218 SET_HW_GCSR(csr, id, KVM_CSR_BADI, v);
219 SET_HW_GCSR(csr, id, KVM_CSR_EENTRY, v);
220 SET_HW_GCSR(csr, id, KVM_CSR_TLBIDX, v);
221 SET_HW_GCSR(csr, id, KVM_CSR_TLBEHI, v);
222 SET_HW_GCSR(csr, id, KVM_CSR_TLBELO0, v);
223 SET_HW_GCSR(csr, id, KVM_CSR_TLBELO1, v);
224 SET_HW_GCSR(csr, id, KVM_CSR_ASID, v);
225 SET_HW_GCSR(csr, id, KVM_CSR_PGDL, v);
226 SET_HW_GCSR(csr, id, KVM_CSR_PGDH, v);
227 SET_HW_GCSR(csr, id, KVM_CSR_PWCTL0, v);
228 SET_HW_GCSR(csr, id, KVM_CSR_PWCTL1, v);
229 SET_HW_GCSR(csr, id, KVM_CSR_STLBPGSIZE, v);
230 SET_HW_GCSR(csr, id, KVM_CSR_RVACFG, v);
231 SET_HW_GCSR(csr, id, KVM_CSR_CPUID, v);
232 SET_HW_GCSR(csr, id, KVM_CSR_KS0, v);
233 SET_HW_GCSR(csr, id, KVM_CSR_KS1, v);
234 SET_HW_GCSR(csr, id, KVM_CSR_KS2, v);
235 SET_HW_GCSR(csr, id, KVM_CSR_KS3, v);
236 SET_HW_GCSR(csr, id, KVM_CSR_KS4, v);
237 SET_HW_GCSR(csr, id, KVM_CSR_KS5, v);
238 SET_HW_GCSR(csr, id, KVM_CSR_KS6, v);
239 SET_HW_GCSR(csr, id, KVM_CSR_KS7, v);
240 SET_HW_GCSR(csr, id, KVM_CSR_TMID, v);
241 SET_HW_GCSR(csr, id, KVM_CSR_TCFG, v);
242 SET_HW_GCSR(csr, id, KVM_CSR_TVAL, v);
243 SET_HW_GCSR(csr, id, KVM_CSR_CNTC, v);
244 SET_HW_GCSR(csr, id, KVM_CSR_LLBCTL, v);
245 SET_HW_GCSR(csr, id, KVM_CSR_TLBRENTRY, v);
246 SET_HW_GCSR(csr, id, KVM_CSR_TLBRBADV, v);
247 SET_HW_GCSR(csr, id, KVM_CSR_TLBRERA, v);
248 SET_HW_GCSR(csr, id, KVM_CSR_TLBRSAVE, v);
249 SET_HW_GCSR(csr, id, KVM_CSR_TLBRELO0, v);
250 SET_HW_GCSR(csr, id, KVM_CSR_TLBRELO1, v);
251 SET_HW_GCSR(csr, id, KVM_CSR_TLBREHI, v);
252 SET_HW_GCSR(csr, id, KVM_CSR_TLBRPRMD, v);
253 SET_HW_GCSR(csr, id, KVM_CSR_DMWIN0, v);
254 SET_HW_GCSR(csr, id, KVM_CSR_DMWIN1, v);
255 SET_HW_GCSR(csr, id, KVM_CSR_DMWIN2, v);
256 SET_HW_GCSR(csr, id, KVM_CSR_DMWIN3, v);
257 SET_HW_GCSR(csr, id, KVM_CSR_MWPS, v);
258 SET_HW_GCSR(csr, id, KVM_CSR_FWPS, v);
260 SET_SW_GCSR(csr, id, KVM_CSR_IMPCTL1, v);
261 SET_SW_GCSR(csr, id, KVM_CSR_IMPCTL2, v);
262 SET_SW_GCSR(csr, id, KVM_CSR_MERRCTL, v);
263 SET_SW_GCSR(csr, id, KVM_CSR_MERRINFO1, v);
264 SET_SW_GCSR(csr, id, KVM_CSR_MERRINFO2, v);
265 SET_SW_GCSR(csr, id, KVM_CSR_MERRENTRY, v);
266 SET_SW_GCSR(csr, id, KVM_CSR_MERRERA, v);
267 SET_SW_GCSR(csr, id, KVM_CSR_MERRSAVE, v);
268 SET_SW_GCSR(csr, id, KVM_CSR_CTAG, v);
269 SET_SW_GCSR(csr, id, KVM_CSR_DEBUG, v);
270 SET_SW_GCSR(csr, id, KVM_CSR_DERA, v);
271 SET_SW_GCSR(csr, id, KVM_CSR_DESAVE, v);
272 SET_SW_GCSR(csr, id, KVM_CSR_PRCFG1, v);
273 SET_SW_GCSR(csr, id, KVM_CSR_PRCFG2, v);
274 SET_SW_GCSR(csr, id, KVM_CSR_PRCFG3, v);
276 SET_SW_GCSR(csr, id, KVM_CSR_PGD, v);
277 SET_SW_GCSR(csr, id, KVM_CSR_TINTCLR, v);
289 kvm_set_sw_gcsr(csr, id, *v);