|
@@ -30,6 +30,7 @@
|
|
|
#include <linux/kvm.h>
|
|
|
#include <linux/kvm_irqfd.h>
|
|
|
#include <linux/irqbypass.h>
|
|
|
+#include <linux/sched/stat.h>
|
|
|
#include <trace/events/kvm.h>
|
|
|
#include <kvm/arm_pmu.h>
|
|
|
#include <kvm/arm_psci.h>
|
|
@@ -380,6 +381,11 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
|
|
|
kvm_timer_vcpu_load(vcpu);
|
|
|
kvm_vcpu_load_sysregs(vcpu);
|
|
|
kvm_arch_vcpu_load_fp(vcpu);
|
|
|
+
|
|
|
+ if (single_task_running())
|
|
|
+ vcpu_clear_wfe_traps(vcpu);
|
|
|
+ else
|
|
|
+ vcpu_set_wfe_traps(vcpu);
|
|
|
}
|
|
|
|
|
|
void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu)
|