Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull kvm fix from Paolo Bonzini:
"One fix for an x86 regression in VM migration, mostly visible with
Windows because it uses RTC periodic interrupts"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
kvm: x86: correctly reset dest_map->vector when restoring LAPIC state

+5 -3
+5 -3
arch/x86/kvm/ioapic.c
··· 109 109 { 110 110 bool new_val, old_val; 111 111 struct kvm_ioapic *ioapic = vcpu->kvm->arch.vioapic; 112 + struct dest_map *dest_map = &ioapic->rtc_status.dest_map; 112 113 union kvm_ioapic_redirect_entry *e; 113 114 114 115 e = &ioapic->redirtbl[RTC_GSI]; ··· 118 117 return; 119 118 120 119 new_val = kvm_apic_pending_eoi(vcpu, e->fields.vector); 121 - old_val = test_bit(vcpu->vcpu_id, ioapic->rtc_status.dest_map.map); 120 + old_val = test_bit(vcpu->vcpu_id, dest_map->map); 122 121 123 122 if (new_val == old_val) 124 123 return; 125 124 126 125 if (new_val) { 127 - __set_bit(vcpu->vcpu_id, ioapic->rtc_status.dest_map.map); 126 + __set_bit(vcpu->vcpu_id, dest_map->map); 127 + dest_map->vectors[vcpu->vcpu_id] = e->fields.vector; 128 128 ioapic->rtc_status.pending_eoi++; 129 129 } else { 130 - __clear_bit(vcpu->vcpu_id, ioapic->rtc_status.dest_map.map); 130 + __clear_bit(vcpu->vcpu_id, dest_map->map); 131 131 ioapic->rtc_status.pending_eoi--; 132 132 rtc_status_pending_eoi_check_valid(ioapic); 133 133 }