7 #include <clocksource/arm_arch_timer.h>
8 #include <linux/compiler.h>
9 #include <linux/kvm_host.h>
11 #include <asm/kvm_hyp.h>
12 #include <asm/kvm_mmu.h>
16 write_sysreg(cntvoff, cntvoff_el2);
31 val = read_sysreg(cnthctl_el2);
32 val |= (CNTHCTL_EL1PCTEN | CNTHCTL_EL1PCEN) << shift;
33 write_sysreg(val, cnthctl_el2);
49 clr = CNTHCTL_EL1PCEN;
50 if (is_protected_kvm_enabled() ||
51 !kern_hyp_va(vcpu->kvm)->arch.timer_data.poffset)
52 set |= CNTHCTL_EL1PCTEN;
54 clr |= CNTHCTL_EL1PCTEN;
61 sysreg_clear_set(cnthctl_el2, clr, set);
void __timer_disable_traps(struct kvm_vcpu *vcpu)
void __kvm_timer_set_cntvoff(u64 cntvoff)
void __timer_enable_traps(struct kvm_vcpu *vcpu)