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