The reenlightment support for hyperv slapped a direct reference to x86_hyper_type into the kvm code which results in the following build failure when CONFIG_HYPERVISOR_GUEST=n: arch/x86/kvm/x86.c:6259:6: error: ‘x86_hyper_type’ undeclared (first use in this function) arch/x86/kvm/x86.c:6259:6: note: each undeclared identifier is reported only once for each function it appears in Use the proper helper function to cure that. The 32bit compile fails because of: arch/x86/kvm/x86.c:5936:13: warning: ‘kvm_hyperv_tsc_notifier’ defined but not used [-Wunused-function] which is a real trainwreck engineering artwork. The callsite is wrapped into #ifdef CONFIG_X86_64, but the function itself has the #ifdef inside the function body. Make the function itself wrapped into the ifdef to cure that. Qualiteee....
Unified · Split
| @@ -5933,9 +5933,9 @@ static void tsc_khz_changed(void *data) · 5932 unmodified lines | ||
| 5933 | 5933 | __this_cpu_write(cpu_tsc_khz, khz); |
| 5934 | 5934 | } |
| 5935 | 5935 | |
| 5936 | +#ifdef CONFIG_X86_64 | |
| 5936 | 5937 | static void kvm_hyperv_tsc_notifier(void) |
| 5937 | 5938 | { |
| 5938 | −#ifdef CONFIG_X86_64 | |
| 5939 | 5939 | struct kvm *kvm; |
| 5940 | 5940 | struct kvm_vcpu *vcpu; |
| 5941 | 5941 | int cpu; |
| @@ -5967,8 +5967,8 @@ static void kvm_hyperv_tsc_notifier(void) · 25 unmodified lines | ||
| 5967 | 5967 | spin_unlock(&ka->pvclock_gtod_sync_lock); |
| 5968 | 5968 | } |
| 5969 | 5969 | spin_unlock(&kvm_lock); |
| 5970 | −#endif | |
| 5971 | 5970 | } |
| 5971 | +#endif | |
| 5972 | 5972 | |
| 5973 | 5973 | static int kvmclock_cpufreq_notifier(struct notifier_block *nb, unsigned long val, |
| 5974 | 5974 | void *data) |
| @@ -6256,7 +6256,7 @@ int kvm_arch_init(void *opaque) · 281 unmodified lines | ||
| 6256 | 6256 | #ifdef CONFIG_X86_64 |
| 6257 | 6257 | pvclock_gtod_register_notifier(&pvclock_gtod_notifier); |
| 6258 | 6258 | |
| 6259 | − if (x86_hyper_type == X86_HYPER_MS_HYPERV) | |
| 6259 | + if (hypervisor_is_type(X86_HYPER_MS_HYPERV)) | |
| 6260 | 6260 | set_hv_tscchange_cb(kvm_hyperv_tsc_notifier); |
| 6261 | 6261 | #endif |
| 6262 | 6262 | |
| @@ -6271,7 +6271,7 @@ out: · 8 unmodified lines | ||
| 6271 | 6271 | void kvm_arch_exit(void) |
| 6272 | 6272 | { |
| 6273 | 6273 | #ifdef CONFIG_X86_64 |
| 6274 | − if (x86_hyper_type == X86_HYPER_MS_HYPERV) | |
| 6274 | + if (hypervisor_is_type(X86_HYPER_MS_HYPERV)) | |
| 6275 | 6275 | clear_hv_tscchange_cb(); |
| 6276 | 6276 | #endif |
| 6277 | 6277 | kvm_lapic_exit(); |