|
@@ -93,10 +93,10 @@ static void update_cr8_intercept(struct kvm_vcpu *vcpu);
|
|
|
static void process_nmi(struct kvm_vcpu *vcpu);
|
|
|
static void __kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
|
|
|
|
|
|
-struct kvm_x86_ops *kvm_x86_ops;
|
|
|
+struct kvm_x86_ops *kvm_x86_ops __read_mostly;
|
|
|
EXPORT_SYMBOL_GPL(kvm_x86_ops);
|
|
|
|
|
|
-static bool ignore_msrs = 0;
|
|
|
+static bool __read_mostly ignore_msrs = 0;
|
|
|
module_param(ignore_msrs, bool, S_IRUGO | S_IWUSR);
|
|
|
|
|
|
unsigned int min_timer_period_us = 500;
|
|
@@ -105,20 +105,20 @@ module_param(min_timer_period_us, uint, S_IRUGO | S_IWUSR);
|
|
|
static bool __read_mostly kvmclock_periodic_sync = true;
|
|
|
module_param(kvmclock_periodic_sync, bool, S_IRUGO);
|
|
|
|
|
|
-bool kvm_has_tsc_control;
|
|
|
+bool __read_mostly kvm_has_tsc_control;
|
|
|
EXPORT_SYMBOL_GPL(kvm_has_tsc_control);
|
|
|
-u32 kvm_max_guest_tsc_khz;
|
|
|
+u32 __read_mostly kvm_max_guest_tsc_khz;
|
|
|
EXPORT_SYMBOL_GPL(kvm_max_guest_tsc_khz);
|
|
|
|
|
|
/* tsc tolerance in parts per million - default to 1/2 of the NTP threshold */
|
|
|
-static u32 tsc_tolerance_ppm = 250;
|
|
|
+static u32 __read_mostly tsc_tolerance_ppm = 250;
|
|
|
module_param(tsc_tolerance_ppm, uint, S_IRUGO | S_IWUSR);
|
|
|
|
|
|
/* lapic timer advance (tscdeadline mode only) in nanoseconds */
|
|
|
-unsigned int lapic_timer_advance_ns = 0;
|
|
|
+unsigned int __read_mostly lapic_timer_advance_ns = 0;
|
|
|
module_param(lapic_timer_advance_ns, uint, S_IRUGO | S_IWUSR);
|
|
|
|
|
|
-static bool backwards_tsc_observed = false;
|
|
|
+static bool __read_mostly backwards_tsc_observed = false;
|
|
|
|
|
|
#define KVM_NR_SHARED_MSRS 16
|
|
|
|