Lines Matching full:csr
35 cfg = kvm_read_sw_gcsr(vcpu->arch.csr, LOONGARCH_CSR_TCFG); in kvm_count_timeout()
64 kvm_write_sw_gcsr(vcpu->arch.csr, LOONGARCH_CSR_TVAL, 0); in kvm_init_timer()
75 struct loongarch_csrs *csr = vcpu->arch.csr; in kvm_restore_timer() local
78 * Set guest stable timer cfg csr in kvm_restore_timer()
79 * Disable timer before restore estat CSR register, avoid to in kvm_restore_timer()
82 cfg = kvm_read_sw_gcsr(csr, LOONGARCH_CSR_TCFG); in kvm_restore_timer()
85 kvm_restore_hw_gcsr(csr, LOONGARCH_CSR_ESTAT); in kvm_restore_timer()
86 kvm_restore_hw_gcsr(csr, LOONGARCH_CSR_TCFG); in kvm_restore_timer()
89 kvm_restore_hw_gcsr(csr, LOONGARCH_CSR_TVAL); in kvm_restore_timer()
100 * If oneshot timer is fired, CSR TVAL will be -1, there are two in kvm_restore_timer()
107 ticks = kvm_read_sw_gcsr(csr, LOONGARCH_CSR_TVAL); in kvm_restore_timer()
108 estat = kvm_read_sw_gcsr(csr, LOONGARCH_CSR_ESTAT); in kvm_restore_timer()
112 * and set CSR TVAL with -1 in kvm_restore_timer()
118 * timer interrupt, and CSR TVAL keeps unchanged with -1, it in kvm_restore_timer()
159 struct loongarch_csrs *csr = vcpu->arch.csr; in _kvm_save_timer() local
161 cfg = kvm_read_sw_gcsr(csr, LOONGARCH_CSR_TCFG); in _kvm_save_timer()
162 ticks = kvm_read_sw_gcsr(csr, LOONGARCH_CSR_TVAL); in _kvm_save_timer()
166 * If period timer is fired, CSR TVAL will be reloaded from CSR TCFG in _kvm_save_timer()
167 * If oneshot timer is fired, CSR TVAL will be -1 in _kvm_save_timer()
200 struct loongarch_csrs *csr = vcpu->arch.csr; in kvm_save_timer() local
205 kvm_save_hw_gcsr(csr, LOONGARCH_CSR_TCFG); in kvm_save_timer()
206 kvm_save_hw_gcsr(csr, LOONGARCH_CSR_TVAL); in kvm_save_timer()
207 if (kvm_read_sw_gcsr(csr, LOONGARCH_CSR_TCFG) & CSR_TCFG_EN) in kvm_save_timer()
211 kvm_save_hw_gcsr(csr, LOONGARCH_CSR_ESTAT); in kvm_save_timer()
218 kvm_write_sw_gcsr(vcpu->arch.csr, LOONGARCH_CSR_TCFG, 0); in kvm_reset_timer()