x86/kvm: Make it compile on 32bit and with HYPYERVISOR_GUEST=n
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....
Fixes: 0092e4346f
("x86/kvm: Support Hyper-V reenlightenment")
Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: kvm@vger.kernel.org
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: "Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com>
Cc: Roman Kagan <rkagan@virtuozzo.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: devel@linuxdriverproject.org
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Cathy Avery <cavery@redhat.com>
Cc: Mohammed Gamal <mmorsy@redhat.com>
This commit is contained in:
parent
0092e4346f
commit
5fa4ec9cb2
|
@ -5933,9 +5933,9 @@ static void tsc_khz_changed(void *data)
|
|||
__this_cpu_write(cpu_tsc_khz, khz);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
static void kvm_hyperv_tsc_notifier(void)
|
||||
{
|
||||
#ifdef CONFIG_X86_64
|
||||
struct kvm *kvm;
|
||||
struct kvm_vcpu *vcpu;
|
||||
int cpu;
|
||||
|
@ -5967,8 +5967,8 @@ static void kvm_hyperv_tsc_notifier(void)
|
|||
spin_unlock(&ka->pvclock_gtod_sync_lock);
|
||||
}
|
||||
spin_unlock(&kvm_lock);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
static int kvmclock_cpufreq_notifier(struct notifier_block *nb, unsigned long val,
|
||||
void *data)
|
||||
|
@ -6256,7 +6256,7 @@ int kvm_arch_init(void *opaque)
|
|||
#ifdef CONFIG_X86_64
|
||||
pvclock_gtod_register_notifier(&pvclock_gtod_notifier);
|
||||
|
||||
if (x86_hyper_type == X86_HYPER_MS_HYPERV)
|
||||
if (hypervisor_is_type(X86_HYPER_MS_HYPERV))
|
||||
set_hv_tscchange_cb(kvm_hyperv_tsc_notifier);
|
||||
#endif
|
||||
|
||||
|
@ -6271,7 +6271,7 @@ out:
|
|||
void kvm_arch_exit(void)
|
||||
{
|
||||
#ifdef CONFIG_X86_64
|
||||
if (x86_hyper_type == X86_HYPER_MS_HYPERV)
|
||||
if (hypervisor_is_type(X86_HYPER_MS_HYPERV))
|
||||
clear_hv_tscchange_cb();
|
||||
#endif
|
||||
kvm_lapic_exit();
|
||||
|
|
Loading…
Reference in New Issue