linux/arch/x86/kvm
Andrey Smetanin 765eaa0f70 kvm/x86: Hyper-V SynIC message slot pending clearing at SINT ack
The SynIC message protocol mandates that the message slot is claimed
by atomically setting message type to something other than HVMSG_NONE.
If another message is to be delivered while the slot is still busy,
message pending flag is asserted to indicate to the guest that the
hypervisor wants to be notified when the slot is released.

To make sure the protocol works regardless of where the message
sources are (kernel or userspace), clear the pending flag on SINT ACK
notification, and let the message sources compete for the slot again.

Signed-off-by: Andrey Smetanin <asmetanin@virtuozzo.com>
Reviewed-by: Roman Kagan <rkagan@virtuozzo.com>
CC: Gleb Natapov <gleb@kernel.org>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: "K. Y. Srinivasan" <kys@microsoft.com>
CC: Haiyang Zhang <haiyangz@microsoft.com>
CC: Vitaly Kuznetsov <vkuznets@redhat.com>
CC: Roman Kagan <rkagan@virtuozzo.com>
CC: Denis V. Lunev <den@openvz.org>
CC: qemu-devel@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2015-12-16 18:49:44 +01:00
..
assigned-dev.c KVM: x86: move kvm_set_irq_inatomic to legacy device assignment 2015-11-04 16:24:36 +01:00
assigned-dev.h
cpuid.c s390: A bunch of fixes and optimizations for interrupt and time 2015-11-05 16:26:26 -08:00
cpuid.h kvm: svm: Only propagate next_rip when guest supports it 2015-10-16 10:32:17 +02:00
emulate.c KVM: x86: allow RSM from 64-bit mode 2015-11-04 16:24:38 +01:00
hyperv.c kvm/x86: Hyper-V SynIC message slot pending clearing at SINT ack 2015-12-16 18:49:44 +01:00
hyperv.h kvm/x86: Added Hyper-V vcpu_to_hv_vcpu()/hv_vcpu_to_vcpu() helpers 2015-12-16 18:49:42 +01:00
i8254.c KVM: x86: Split the APIC from the rest of IRQCHIP. 2015-10-01 15:06:26 +02:00
i8254.h
i8259.c KVM: x86: clean/fix memory barriers in irqchip_in_kernel 2015-07-30 16:02:56 +02:00
ioapic.c kvm/x86: split ioapic-handled and EOI exit bitmaps 2015-11-25 17:24:21 +01:00
ioapic.h kvm/x86: split ioapic-handled and EOI exit bitmaps 2015-11-25 17:24:21 +01:00
iommu.c KVM: count number of assigned devices 2015-07-10 13:25:26 +02:00
irq.c kvm/x86: per-vcpu apicv deactivation support 2015-11-25 17:24:21 +01:00
irq.h KVM: x86: Add support for local interrupt requests from userspace 2015-10-01 15:06:29 +02:00
irq_comm.c kvm/x86: Hyper-V synthetic interrupt controller 2015-11-25 17:24:22 +01:00
Kconfig KVM: x86: select IRQ_BYPASS_MANAGER 2015-10-01 15:06:52 +02:00
kvm_cache_regs.h KVM: x86: API changes for SMM support 2015-06-04 16:01:11 +02:00
lapic.c kvm/x86: Hyper-V synthetic interrupt controller 2015-11-25 17:24:22 +01:00
lapic.h kvm/x86: Hyper-V synthetic interrupt controller 2015-11-25 17:24:22 +01:00
Makefile kvm/x86: move Hyper-V MSR's/hypercall code into hyperv.c file 2015-07-23 08:27:06 +02:00
mmu.c KVM: x86: MMU: Remove unused parameter parent_pte from kvm_mmu_get_page() 2015-11-26 15:31:36 +01:00
mmu.h KVM: x86: merge handle_mmio_page_fault and handle_mmio_page_fault_common 2015-11-10 12:06:03 +01:00
mmu_audit.c KVM: x86: MMU: Remove is_rmap_spte() and use is_shadow_present_pte() 2015-11-25 17:26:35 +01:00
mmutrace.h
mtrr.c KVM: MTRR: Use default type for non-MTRR-covered gfn before WARN_ON 2015-08-05 12:47:21 +02:00
paging_tmpl.h KVM: x86: MMU: Remove unused parameter parent_pte from kvm_mmu_get_page() 2015-11-26 15:31:36 +01:00
pmu.c KVM: x86/vPMU: Define kvm_pmu_ops to support vPMU function dispatch 2015-06-23 14:12:14 +02:00
pmu.h KVM: x86/vPMU: Define kvm_pmu_ops to support vPMU function dispatch 2015-06-23 14:12:14 +02:00
pmu_amd.c KVM: x86/vPMU: Fix unnecessary signed extension for AMD PERFCTRn 2015-08-11 15:19:41 +02:00
pmu_intel.c KVM: x86/vPMU: Define kvm_pmu_ops to support vPMU function dispatch 2015-06-23 14:12:14 +02:00
svm.c KVM: svm: add support for RDTSCP 2015-11-25 17:24:22 +01:00
trace.h KVM: x86: correctly print #AC in traces 2015-11-25 17:24:23 +01:00
tss.h
vmx.c kvm/x86: per-vcpu apicv deactivation support 2015-11-25 17:24:21 +01:00
x86.c KVM: x86: expose MSR_TSC_AUX to userspace 2015-11-25 17:24:22 +01:00
x86.h x86/fpu: Rename XSAVE macros 2015-09-14 12:21:46 +02:00