|
@@ -649,11 +649,20 @@ int kvm_timer_hyp_init(void)
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
+ err = irq_set_vcpu_affinity(host_vtimer_irq, kvm_get_running_vcpus());
|
|
|
+ if (err) {
|
|
|
+ kvm_err("kvm_arch_timer: error setting vcpu affinity\n");
|
|
|
+ goto out_free_irq;
|
|
|
+ }
|
|
|
+
|
|
|
kvm_info("virtual timer IRQ%d\n", host_vtimer_irq);
|
|
|
|
|
|
cpuhp_setup_state(CPUHP_AP_KVM_ARM_TIMER_STARTING,
|
|
|
"kvm/arm/timer:starting", kvm_timer_starting_cpu,
|
|
|
kvm_timer_dying_cpu);
|
|
|
+ return 0;
|
|
|
+out_free_irq:
|
|
|
+ free_percpu_irq(host_vtimer_irq, kvm_get_running_vcpus());
|
|
|
return err;
|
|
|
}
|
|
|
|