x86.c (b51012deb390528d89d426f328d84618683f5d73) x86.c (520040146a0af36f7875ec06b58f44b19a0edf53)
1/*
2 * Kernel-based Virtual Machine driver for Linux
3 *
4 * derived from drivers/kvm/kvm_main.c
5 *
6 * Copyright (C) 2006 Qumranet, Inc.
7 * Copyright (C) 2008 Qumranet, Inc.
8 * Copyright IBM Corporation, 2008

--- 109 unchanged lines hidden (view full) ---

118/* tsc tolerance in parts per million - default to 1/2 of the NTP threshold */
119static u32 __read_mostly tsc_tolerance_ppm = 250;
120module_param(tsc_tolerance_ppm, uint, S_IRUGO | S_IWUSR);
121
122/* lapic timer advance (tscdeadline mode only) in nanoseconds */
123unsigned int __read_mostly lapic_timer_advance_ns = 0;
124module_param(lapic_timer_advance_ns, uint, S_IRUGO | S_IWUSR);
125
1/*
2 * Kernel-based Virtual Machine driver for Linux
3 *
4 * derived from drivers/kvm/kvm_main.c
5 *
6 * Copyright (C) 2006 Qumranet, Inc.
7 * Copyright (C) 2008 Qumranet, Inc.
8 * Copyright IBM Corporation, 2008

--- 109 unchanged lines hidden (view full) ---

118/* tsc tolerance in parts per million - default to 1/2 of the NTP threshold */
119static u32 __read_mostly tsc_tolerance_ppm = 250;
120module_param(tsc_tolerance_ppm, uint, S_IRUGO | S_IWUSR);
121
122/* lapic timer advance (tscdeadline mode only) in nanoseconds */
123unsigned int __read_mostly lapic_timer_advance_ns = 0;
124module_param(lapic_timer_advance_ns, uint, S_IRUGO | S_IWUSR);
125
126static bool __read_mostly vector_hashing = true;
127module_param(vector_hashing, bool, S_IRUGO);
128
126static bool __read_mostly backwards_tsc_observed = false;
127
128#define KVM_NR_SHARED_MSRS 16
129
130struct kvm_shared_msrs_global {
131 int nr;
132 u32 msrs[KVM_NR_SHARED_MSRS];
133};

--- 8225 unchanged lines hidden (view full) ---

8359 uint32_t guest_irq, bool set)
8360{
8361 if (!kvm_x86_ops->update_pi_irte)
8362 return -EINVAL;
8363
8364 return kvm_x86_ops->update_pi_irte(kvm, host_irq, guest_irq, set);
8365}
8366
129static bool __read_mostly backwards_tsc_observed = false;
130
131#define KVM_NR_SHARED_MSRS 16
132
133struct kvm_shared_msrs_global {
134 int nr;
135 u32 msrs[KVM_NR_SHARED_MSRS];
136};

--- 8225 unchanged lines hidden (view full) ---

8362 uint32_t guest_irq, bool set)
8363{
8364 if (!kvm_x86_ops->update_pi_irte)
8365 return -EINVAL;
8366
8367 return kvm_x86_ops->update_pi_irte(kvm, host_irq, guest_irq, set);
8368}
8369
8370bool kvm_vector_hashing_enabled(void)
8371{
8372 return vector_hashing;
8373}
8374EXPORT_SYMBOL_GPL(kvm_vector_hashing_enabled);
8375
8367EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_exit);
8368EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_fast_mmio);
8369EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_inj_virq);
8370EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_page_fault);
8371EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_msr);
8372EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_cr);
8373EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_vmrun);
8374EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_vmexit);
8375EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_vmexit_inject);
8376EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_intr_vmexit);
8377EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_invlpga);
8378EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_skinit);
8379EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_intercepts);
8380EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_write_tsc_offset);
8381EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_ple_window);
8382EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pml_full);
8383EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pi_irte_update);
8376EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_exit);
8377EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_fast_mmio);
8378EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_inj_virq);
8379EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_page_fault);
8380EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_msr);
8381EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_cr);
8382EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_vmrun);
8383EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_vmexit);
8384EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_vmexit_inject);
8385EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_intr_vmexit);
8386EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_invlpga);
8387EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_skinit);
8388EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_nested_intercepts);
8389EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_write_tsc_offset);
8390EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_ple_window);
8391EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pml_full);
8392EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pi_irte_update);