Lines Matching refs:csr
624 struct loongarch_csrs *csr = vcpu->arch.csr;
640 vcpu->arch.csr = kzalloc(sizeof(struct loongarch_csrs), GFP_KERNEL);
647 if (!vcpu->arch.csr)
661 kvm_write_sw_gcsr(csr, KVM_CSR_CRMD, KVM_CRMD_DA);
664 kvm_write_sw_gcsr(csr, KVM_CSR_TMID, vcpu->vcpu_id);
667 csr->csrs[KVM_CSR_GINTC] = 0;
682 kfree(vcpu->arch.csr);
831 struct loongarch_csrs *csr = vcpu->arch.csr;
855 /* Restore hardware perf csr */
869 kvm_restore_hw_gcsr(csr, KVM_CSR_CRMD);
870 kvm_restore_hw_gcsr(csr, KVM_CSR_PRMD);
871 kvm_restore_hw_gcsr(csr, KVM_CSR_EUEN);
872 kvm_restore_hw_gcsr(csr, KVM_CSR_MISC);
873 kvm_restore_hw_gcsr(csr, KVM_CSR_ECFG);
874 kvm_restore_hw_gcsr(csr, KVM_CSR_ERA);
875 kvm_restore_hw_gcsr(csr, KVM_CSR_BADV);
876 kvm_restore_hw_gcsr(csr, KVM_CSR_BADI);
877 kvm_restore_hw_gcsr(csr, KVM_CSR_EENTRY);
878 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBIDX);
879 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBEHI);
880 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBELO0);
881 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBELO1);
882 kvm_restore_hw_gcsr(csr, KVM_CSR_ASID);
883 kvm_restore_hw_gcsr(csr, KVM_CSR_PGDL);
884 kvm_restore_hw_gcsr(csr, KVM_CSR_PGDH);
885 kvm_restore_hw_gcsr(csr, KVM_CSR_PWCTL0);
886 kvm_restore_hw_gcsr(csr, KVM_CSR_PWCTL1);
887 kvm_restore_hw_gcsr(csr, KVM_CSR_STLBPGSIZE);
888 kvm_restore_hw_gcsr(csr, KVM_CSR_RVACFG);
889 kvm_restore_hw_gcsr(csr, KVM_CSR_CPUID);
890 kvm_restore_hw_gcsr(csr, KVM_CSR_KS0);
891 kvm_restore_hw_gcsr(csr, KVM_CSR_KS1);
892 kvm_restore_hw_gcsr(csr, KVM_CSR_KS2);
893 kvm_restore_hw_gcsr(csr, KVM_CSR_KS3);
894 kvm_restore_hw_gcsr(csr, KVM_CSR_KS4);
895 kvm_restore_hw_gcsr(csr, KVM_CSR_KS5);
896 kvm_restore_hw_gcsr(csr, KVM_CSR_KS6);
897 kvm_restore_hw_gcsr(csr, KVM_CSR_KS7);
898 kvm_restore_hw_gcsr(csr, KVM_CSR_TMID);
899 kvm_restore_hw_gcsr(csr, KVM_CSR_CNTC);
900 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBRENTRY);
901 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBRBADV);
902 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBRERA);
903 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBRSAVE);
904 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBRELO0);
905 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBRELO1);
906 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBREHI);
907 kvm_restore_hw_gcsr(csr, KVM_CSR_TLBRPRMD);
908 kvm_restore_hw_gcsr(csr, KVM_CSR_DMWIN0);
909 kvm_restore_hw_gcsr(csr, KVM_CSR_DMWIN1);
910 kvm_restore_hw_gcsr(csr, KVM_CSR_DMWIN2);
911 kvm_restore_hw_gcsr(csr, KVM_CSR_DMWIN3);
912 kvm_restore_hw_gcsr(csr, KVM_CSR_LLBCTL);
915 kvm_write_csr_gintc(csr->csrs[KVM_CSR_GINTC]);
954 struct loongarch_csrs *csr = vcpu->arch.csr;
959 kvm_save_hw_gcsr(csr, KVM_CSR_CRMD);
960 kvm_save_hw_gcsr(csr, KVM_CSR_PRMD);
961 kvm_save_hw_gcsr(csr, KVM_CSR_EUEN);
962 kvm_save_hw_gcsr(csr, KVM_CSR_MISC);
963 kvm_save_hw_gcsr(csr, KVM_CSR_ECFG);
964 kvm_save_hw_gcsr(csr, KVM_CSR_ERA);
965 kvm_save_hw_gcsr(csr, KVM_CSR_BADV);
966 kvm_save_hw_gcsr(csr, KVM_CSR_BADI);
967 kvm_save_hw_gcsr(csr, KVM_CSR_EENTRY);
968 kvm_save_hw_gcsr(csr, KVM_CSR_TLBIDX);
969 kvm_save_hw_gcsr(csr, KVM_CSR_TLBEHI);
970 kvm_save_hw_gcsr(csr, KVM_CSR_TLBELO0);
971 kvm_save_hw_gcsr(csr, KVM_CSR_TLBELO1);
972 kvm_save_hw_gcsr(csr, KVM_CSR_ASID);
973 kvm_save_hw_gcsr(csr, KVM_CSR_PGDL);
974 kvm_save_hw_gcsr(csr, KVM_CSR_PGDH);
975 kvm_save_hw_gcsr(csr, KVM_CSR_PGD);
976 kvm_save_hw_gcsr(csr, KVM_CSR_PWCTL0);
977 kvm_save_hw_gcsr(csr, KVM_CSR_PWCTL1);
978 kvm_save_hw_gcsr(csr, KVM_CSR_STLBPGSIZE);
979 kvm_save_hw_gcsr(csr, KVM_CSR_RVACFG);
980 kvm_save_hw_gcsr(csr, KVM_CSR_CPUID);
981 kvm_save_hw_gcsr(csr, KVM_CSR_PRCFG1);
982 kvm_save_hw_gcsr(csr, KVM_CSR_PRCFG2);
983 kvm_save_hw_gcsr(csr, KVM_CSR_PRCFG3);
984 kvm_save_hw_gcsr(csr, KVM_CSR_KS0);
985 kvm_save_hw_gcsr(csr, KVM_CSR_KS1);
986 kvm_save_hw_gcsr(csr, KVM_CSR_KS2);
987 kvm_save_hw_gcsr(csr, KVM_CSR_KS3);
988 kvm_save_hw_gcsr(csr, KVM_CSR_KS4);
989 kvm_save_hw_gcsr(csr, KVM_CSR_KS5);
990 kvm_save_hw_gcsr(csr, KVM_CSR_KS6);
991 kvm_save_hw_gcsr(csr, KVM_CSR_KS7);
992 kvm_save_hw_gcsr(csr, KVM_CSR_TMID);
993 kvm_save_hw_gcsr(csr, KVM_CSR_CNTC);
994 kvm_save_hw_gcsr(csr, KVM_CSR_LLBCTL);
995 kvm_save_hw_gcsr(csr, KVM_CSR_TLBRENTRY);
996 kvm_save_hw_gcsr(csr, KVM_CSR_TLBRBADV);
997 kvm_save_hw_gcsr(csr, KVM_CSR_TLBRERA);
998 kvm_save_hw_gcsr(csr, KVM_CSR_TLBRSAVE);
999 kvm_save_hw_gcsr(csr, KVM_CSR_TLBRELO0);
1000 kvm_save_hw_gcsr(csr, KVM_CSR_TLBRELO1);
1001 kvm_save_hw_gcsr(csr, KVM_CSR_TLBREHI);
1002 kvm_save_hw_gcsr(csr, KVM_CSR_TLBRPRMD);
1003 kvm_save_hw_gcsr(csr, KVM_CSR_DMWIN0);
1004 kvm_save_hw_gcsr(csr, KVM_CSR_DMWIN1);
1005 kvm_save_hw_gcsr(csr, KVM_CSR_DMWIN2);
1006 kvm_save_hw_gcsr(csr, KVM_CSR_DMWIN3);
1010 csr->csrs[KVM_CSR_GINTC] = kvm_read_csr_gintc();
1034 struct loongarch_csrs *csr = vcpu->arch.csr;
1073 *v = kvm_read_sw_gcsr(csr, reg_idx);
1084 struct loongarch_csrs *csr = vcpu->arch.csr;
1151 kvm_write_sw_gcsr(csr, reg_idx, v);
1894 struct loongarch_csrs *csr;
1910 csr = vcpu->arch.csr;
2132 struct loongarch_csrs *csr = vcpu->arch.csr;
2133 /* save guest pmu csr */
2134 kvm_save_hw_gcsr(csr, KVM_CSR_PERFCTRL0);
2135 kvm_save_hw_gcsr(csr, KVM_CSR_PERFCNTR0);
2136 kvm_save_hw_gcsr(csr, KVM_CSR_PERFCTRL1);
2137 kvm_save_hw_gcsr(csr, KVM_CSR_PERFCNTR1);
2138 kvm_save_hw_gcsr(csr, KVM_CSR_PERFCTRL2);
2139 kvm_save_hw_gcsr(csr, KVM_CSR_PERFCNTR2);
2140 kvm_save_hw_gcsr(csr, KVM_CSR_PERFCTRL3);
2141 kvm_save_hw_gcsr(csr, KVM_CSR_PERFCNTR3);
2142 if (((kvm_read_sw_gcsr(csr, KVM_CSR_PERFCTRL0) |
2143 kvm_read_sw_gcsr(csr, KVM_CSR_PERFCTRL1) |
2144 kvm_read_sw_gcsr(csr, KVM_CSR_PERFCTRL2) |
2145 kvm_read_sw_gcsr(csr, KVM_CSR_PERFCTRL3))
2148 /* config host pmu csr */
2150 /* TODO: pmu csr used by host and guest at the same time */
2165 struct loongarch_csrs *csr = vcpu->arch.csr;
2168 kvm_restore_hw_gcsr(csr, KVM_CSR_PERFCTRL0);
2169 kvm_restore_hw_gcsr(csr, KVM_CSR_PERFCNTR0);
2170 kvm_restore_hw_gcsr(csr, KVM_CSR_PERFCTRL1);
2171 kvm_restore_hw_gcsr(csr, KVM_CSR_PERFCNTR1);
2172 kvm_restore_hw_gcsr(csr, KVM_CSR_PERFCTRL2);
2173 kvm_restore_hw_gcsr(csr, KVM_CSR_PERFCNTR2);
2174 kvm_restore_hw_gcsr(csr, KVM_CSR_PERFCTRL3);
2175 kvm_restore_hw_gcsr(csr, KVM_CSR_PERFCNTR3);