]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - arch/x86/include/asm/kvm_host.h
KVM: Directly return result from kvm_arch_check_processor_compat()
[linux.git] / arch / x86 / include / asm / kvm_host.h
index c79abe7ca093cf3c81f4de1938066426c8984f04..d5457c7bb2430b38819c7b022a4f79e100c30458 100644 (file)
@@ -470,6 +470,7 @@ struct kvm_pmu {
        u64 global_ovf_ctrl;
        u64 counter_bitmask[2];
        u64 global_ctrl_mask;
+       u64 global_ovf_ctrl_mask;
        u64 reserved_bits;
        u8 version;
        struct kvm_pmc gp_counters[INTEL_PMC_MAX_GENERIC];
@@ -781,6 +782,9 @@ struct kvm_vcpu_arch {
 
        /* Flush the L1 Data cache for L1TF mitigation on VMENTER */
        bool l1tf_flush_l1d;
+
+       /* AMD MSRC001_0015 Hardware Configuration */
+       u64 msr_hwcr;
 };
 
 struct kvm_lpage_info {
@@ -995,7 +999,7 @@ struct kvm_x86_ops {
        int (*disabled_by_bios)(void);             /* __init */
        int (*hardware_enable)(void);
        void (*hardware_disable)(void);
-       void (*check_processor_compatibility)(void *rtn);
+       int (*check_processor_compatibility)(void);/* __init */
        int (*hardware_setup)(void);               /* __init */
        void (*hardware_unsetup)(void);            /* __exit */
        bool (*cpu_has_accelerated_tpr)(void);
@@ -1168,7 +1172,8 @@ struct kvm_x86_ops {
                              uint32_t guest_irq, bool set);
        void (*apicv_post_state_restore)(struct kvm_vcpu *vcpu);
 
-       int (*set_hv_timer)(struct kvm_vcpu *vcpu, u64 guest_deadline_tsc);
+       int (*set_hv_timer)(struct kvm_vcpu *vcpu, u64 guest_deadline_tsc,
+                           bool *expired);
        void (*cancel_hv_timer)(struct kvm_vcpu *vcpu);
 
        void (*setup_mce)(struct kvm_vcpu *vcpu);