Browse Source

KVM: x86: properly restore LVT0

Legacy NMI watchdog didn't work after migration/resume, because
vapics_in_nmi_mode was left at 0.

Cc: stable@vger.kernel.org
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Radim Krčmář 10 years ago
parent
commit
db1385624c
1 changed files with 1 additions and 0 deletions
  1. 1 0
      arch/x86/kvm/lapic.c

+ 1 - 0
arch/x86/kvm/lapic.c

@@ -1822,6 +1822,7 @@ void kvm_apic_post_state_restore(struct kvm_vcpu *vcpu,
 	apic_update_ppr(apic);
 	apic_update_ppr(apic);
 	hrtimer_cancel(&apic->lapic_timer.timer);
 	hrtimer_cancel(&apic->lapic_timer.timer);
 	apic_update_lvtt(apic);
 	apic_update_lvtt(apic);
+	apic_manage_nmi_watchdog(apic, kvm_apic_get_reg(apic, APIC_LVT0));
 	update_divide_count(apic);
 	update_divide_count(apic);
 	start_apic_timer(apic);
 	start_apic_timer(apic);
 	apic->irr_pending = true;
 	apic->irr_pending = true;