diff options
Diffstat (limited to 'arch/arm/kvm/hyp/switch.c')
-rw-r--r-- | arch/arm/kvm/hyp/switch.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/kvm/hyp/switch.c b/arch/arm/kvm/hyp/switch.c index ebd2dd46adf7..330c9ce34ba5 100644 --- a/arch/arm/kvm/hyp/switch.c +++ b/arch/arm/kvm/hyp/switch.c | |||
@@ -174,7 +174,7 @@ int __hyp_text __kvm_vcpu_run(struct kvm_vcpu *vcpu) | |||
174 | __activate_vm(vcpu); | 174 | __activate_vm(vcpu); |
175 | 175 | ||
176 | __vgic_restore_state(vcpu); | 176 | __vgic_restore_state(vcpu); |
177 | __timer_restore_state(vcpu); | 177 | __timer_enable_traps(vcpu); |
178 | 178 | ||
179 | __sysreg_restore_state(guest_ctxt); | 179 | __sysreg_restore_state(guest_ctxt); |
180 | __banked_restore_state(guest_ctxt); | 180 | __banked_restore_state(guest_ctxt); |
@@ -191,7 +191,8 @@ again: | |||
191 | 191 | ||
192 | __banked_save_state(guest_ctxt); | 192 | __banked_save_state(guest_ctxt); |
193 | __sysreg_save_state(guest_ctxt); | 193 | __sysreg_save_state(guest_ctxt); |
194 | __timer_save_state(vcpu); | 194 | __timer_disable_traps(vcpu); |
195 | |||
195 | __vgic_save_state(vcpu); | 196 | __vgic_save_state(vcpu); |
196 | 197 | ||
197 | __deactivate_traps(vcpu); | 198 | __deactivate_traps(vcpu); |
@@ -237,7 +238,7 @@ void __hyp_text __noreturn __hyp_panic(int cause) | |||
237 | 238 | ||
238 | vcpu = (struct kvm_vcpu *)read_sysreg(HTPIDR); | 239 | vcpu = (struct kvm_vcpu *)read_sysreg(HTPIDR); |
239 | host_ctxt = kern_hyp_va(vcpu->arch.host_cpu_context); | 240 | host_ctxt = kern_hyp_va(vcpu->arch.host_cpu_context); |
240 | __timer_save_state(vcpu); | 241 | __timer_disable_traps(vcpu); |
241 | __deactivate_traps(vcpu); | 242 | __deactivate_traps(vcpu); |
242 | __deactivate_vm(vcpu); | 243 | __deactivate_vm(vcpu); |
243 | __banked_restore_state(host_ctxt); | 244 | __banked_restore_state(host_ctxt); |