x86, hyperv: Correctly guard the local APIC calibration code

The code that gets the local APIC timer frequency from the hypervisor
rather depends on there being a local APIC.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Link: http://lkml.kernel.org/r/1381444224-3303-1-git-send-email-kys@microsoft.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
K. Y. Srinivasan 2013-10-10 15:30:24 -07:00 committed by H. Peter Anvin
parent 9e7827b5ea
commit 90ab9d5510
1 changed files with 2 additions and 0 deletions

View File

@ -80,6 +80,7 @@ static void __init ms_hyperv_init_platform(void)
printk(KERN_INFO "HyperV: features 0x%x, hints 0x%x\n",
ms_hyperv.features, ms_hyperv.hints);
#ifdef CONFIG_X86_LOCAL_APIC
if (ms_hyperv.features & HV_X64_MSR_APIC_FREQUENCY_AVAILABLE) {
/*
* Get the APIC frequency.
@ -99,6 +100,7 @@ static void __init ms_hyperv_init_platform(void)
legacy_pic = &null_legacy_pic;
}
}
#endif
if (ms_hyperv.features & HV_X64_MSR_TIME_REF_COUNT_AVAILABLE)
clocksource_register_hz(&hyperv_cs, NSEC_PER_SEC/100);