summaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorYang Zhang2013-04-11 13:25:15 +0200
committerMarcelo Tosatti2013-04-16 21:32:40 +0200
commita20ed54d6e470bf0d28921b7aadb6ca0da0ff0c3 (patch)
tree14b3e8c9b4e686ec321967f5b517571e417b83a1 /arch/x86/include
parentKVM: Set TMR when programming ioapic entry (diff)
downloadkernel-qcow2-linux-a20ed54d6e470bf0d28921b7aadb6ca0da0ff0c3.tar.gz
kernel-qcow2-linux-a20ed54d6e470bf0d28921b7aadb6ca0da0ff0c3.tar.xz
kernel-qcow2-linux-a20ed54d6e470bf0d28921b7aadb6ca0da0ff0c3.zip
KVM: VMX: Add the deliver posted interrupt algorithm
Only deliver the posted interrupt when target vcpu is running and there is no previous interrupt pending in pir. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Reviewed-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/kvm_host.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 68d438630dd3..599f98b612d4 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -701,6 +701,8 @@ struct kvm_x86_ops {
void (*hwapic_isr_update)(struct kvm *kvm, int isr);
void (*load_eoi_exitmap)(struct kvm_vcpu *vcpu, u64 *eoi_exit_bitmap);
void (*set_virtual_x2apic_mode)(struct kvm_vcpu *vcpu, bool set);
+ void (*deliver_posted_interrupt)(struct kvm_vcpu *vcpu, int vector);
+ void (*sync_pir_to_irr)(struct kvm_vcpu *vcpu);
int (*set_tss_addr)(struct kvm *kvm, unsigned int addr);
int (*get_tdp_level)(void);
u64 (*get_mt_mask)(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio);