diff options
Diffstat (limited to 'arch/x86/include/asm/kvm_host.h')
-rw-r--r-- | arch/x86/include/asm/kvm_host.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 49205d01b9ad..572460175ba5 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h | |||
@@ -152,14 +152,16 @@ enum { | |||
152 | 152 | ||
153 | #define DR6_BD (1 << 13) | 153 | #define DR6_BD (1 << 13) |
154 | #define DR6_BS (1 << 14) | 154 | #define DR6_BS (1 << 14) |
155 | #define DR6_FIXED_1 0xffff0ff0 | 155 | #define DR6_RTM (1 << 16) |
156 | #define DR6_VOLATILE 0x0000e00f | 156 | #define DR6_FIXED_1 0xfffe0ff0 |
157 | #define DR6_INIT 0xffff0ff0 | ||
158 | #define DR6_VOLATILE 0x0001e00f | ||
157 | 159 | ||
158 | #define DR7_BP_EN_MASK 0x000000ff | 160 | #define DR7_BP_EN_MASK 0x000000ff |
159 | #define DR7_GE (1 << 9) | 161 | #define DR7_GE (1 << 9) |
160 | #define DR7_GD (1 << 13) | 162 | #define DR7_GD (1 << 13) |
161 | #define DR7_FIXED_1 0x00000400 | 163 | #define DR7_FIXED_1 0x00000400 |
162 | #define DR7_VOLATILE 0xffff23ff | 164 | #define DR7_VOLATILE 0xffff2bff |
163 | 165 | ||
164 | /* apic attention bits */ | 166 | /* apic attention bits */ |
165 | #define KVM_APIC_CHECK_VAPIC 0 | 167 | #define KVM_APIC_CHECK_VAPIC 0 |
@@ -448,7 +450,7 @@ struct kvm_vcpu_arch { | |||
448 | u64 tsc_offset_adjustment; | 450 | u64 tsc_offset_adjustment; |
449 | u64 this_tsc_nsec; | 451 | u64 this_tsc_nsec; |
450 | u64 this_tsc_write; | 452 | u64 this_tsc_write; |
451 | u8 this_tsc_generation; | 453 | u64 this_tsc_generation; |
452 | bool tsc_catchup; | 454 | bool tsc_catchup; |
453 | bool tsc_always_catchup; | 455 | bool tsc_always_catchup; |
454 | s8 virtual_tsc_shift; | 456 | s8 virtual_tsc_shift; |
@@ -591,7 +593,7 @@ struct kvm_arch { | |||
591 | u64 cur_tsc_nsec; | 593 | u64 cur_tsc_nsec; |
592 | u64 cur_tsc_write; | 594 | u64 cur_tsc_write; |
593 | u64 cur_tsc_offset; | 595 | u64 cur_tsc_offset; |
594 | u8 cur_tsc_generation; | 596 | u64 cur_tsc_generation; |
595 | int nr_vcpus_matched_tsc; | 597 | int nr_vcpus_matched_tsc; |
596 | 598 | ||
597 | spinlock_t pvclock_gtod_sync_lock; | 599 | spinlock_t pvclock_gtod_sync_lock; |
@@ -717,7 +719,7 @@ struct kvm_x86_ops { | |||
717 | int (*handle_exit)(struct kvm_vcpu *vcpu); | 719 | int (*handle_exit)(struct kvm_vcpu *vcpu); |
718 | void (*skip_emulated_instruction)(struct kvm_vcpu *vcpu); | 720 | void (*skip_emulated_instruction)(struct kvm_vcpu *vcpu); |
719 | void (*set_interrupt_shadow)(struct kvm_vcpu *vcpu, int mask); | 721 | void (*set_interrupt_shadow)(struct kvm_vcpu *vcpu, int mask); |
720 | u32 (*get_interrupt_shadow)(struct kvm_vcpu *vcpu, int mask); | 722 | u32 (*get_interrupt_shadow)(struct kvm_vcpu *vcpu); |
721 | void (*patch_hypercall)(struct kvm_vcpu *vcpu, | 723 | void (*patch_hypercall)(struct kvm_vcpu *vcpu, |
722 | unsigned char *hypercall_addr); | 724 | unsigned char *hypercall_addr); |
723 | void (*set_irq)(struct kvm_vcpu *vcpu); | 725 | void (*set_irq)(struct kvm_vcpu *vcpu); |
@@ -1070,6 +1072,7 @@ void kvm_pmu_cpuid_update(struct kvm_vcpu *vcpu); | |||
1070 | bool kvm_pmu_msr(struct kvm_vcpu *vcpu, u32 msr); | 1072 | bool kvm_pmu_msr(struct kvm_vcpu *vcpu, u32 msr); |
1071 | int kvm_pmu_get_msr(struct kvm_vcpu *vcpu, u32 msr, u64 *data); | 1073 | int kvm_pmu_get_msr(struct kvm_vcpu *vcpu, u32 msr, u64 *data); |
1072 | int kvm_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info); | 1074 | int kvm_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info); |
1075 | int kvm_pmu_check_pmc(struct kvm_vcpu *vcpu, unsigned pmc); | ||
1073 | int kvm_pmu_read_pmc(struct kvm_vcpu *vcpu, unsigned pmc, u64 *data); | 1076 | int kvm_pmu_read_pmc(struct kvm_vcpu *vcpu, unsigned pmc, u64 *data); |
1074 | void kvm_handle_pmu_event(struct kvm_vcpu *vcpu); | 1077 | void kvm_handle_pmu_event(struct kvm_vcpu *vcpu); |
1075 | void kvm_deliver_pmi(struct kvm_vcpu *vcpu); | 1078 | void kvm_deliver_pmi(struct kvm_vcpu *vcpu); |