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); |