]> Pileus Git - ~andy/linux/blobdiff - arch/x86/include/asm/kvm_host.h
KVM: host side for eoi optimization
[~andy/linux] / arch / x86 / include / asm / kvm_host.h
index db7c1f2709a270a03429ee1c9089209942647ff5..24b76474d9de01be36ff756ee86c2a54eb927cb5 100644 (file)
@@ -175,6 +175,13 @@ enum {
 
 /* apic attention bits */
 #define KVM_APIC_CHECK_VAPIC   0
+/*
+ * The following bit is set with PV-EOI, unset on EOI.
+ * We detect PV-EOI changes by guest by comparing
+ * this bit with PV-EOI in guest memory.
+ * See the implementation in apic_update_pv_eoi.
+ */
+#define KVM_APIC_PV_EOI_PENDING        1
 
 /*
  * We don't want allocation failures within the mmu code, so we preallocate
@@ -484,6 +491,11 @@ struct kvm_vcpu_arch {
                u64 length;
                u64 status;
        } osvw;
+
+       struct {
+               u64 msr_val;
+               struct gfn_to_hva_cache data;
+       } pv_eoi;
 };
 
 struct kvm_lpage_info {