Lines Matching refs:csrid

16 #define CASE_READ_SW_GCSR(csr, regid, csrid) \
18 if (regid == csrid) { \
19 return kvm_read_sw_gcsr(csr, csrid); \
23 unsigned long _kvm_emu_read_csr(struct kvm_vcpu *vcpu, int csrid)
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);
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);
45 if (csrid < 4096)
46 val = kvm_read_sw_gcsr(csr, csrid);
49 csrid, vcpu->arch.pc);
54 #define CASE_WRITE_SW_GCSR(csr, regid, csrid, val) \
56 if (regid == csrid) { \
57 kvm_write_sw_gcsr(csr, csrid, val); \
62 void _kvm_emu_write_csr(struct kvm_vcpu *vcpu, int csrid,
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);
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);
86 if (csrid < 4096)
87 kvm_write_sw_gcsr(csr, csrid, val);
90 csrid, vcpu->arch.pc);
93 #define CASE_CHANGE_SW_GCSR(csr, regid, csrid, mask, val) \
95 if (regid == csrid) { \
96 kvm_change_sw_gcsr(csr, csrid, mask, val); \
101 void _kvm_emu_xchg_csr(struct kvm_vcpu *vcpu, int csrid,
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);
114 if (csrid < 4096) {
117 orig = kvm_read_sw_gcsr(csr, csrid);
120 kvm_write_sw_gcsr(csr, csrid, orig);
123 csrid, vcpu->arch.pc);