x86, hyperv: Correctly guard the local APIC calibration code
authorK. Y. Srinivasan <kys@microsoft.com>
Thu, 10 Oct 2013 22:30:24 +0000 (15:30 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Thu, 10 Oct 2013 22:21:38 +0000 (15:21 -0700)
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>
arch/x86/kernel/cpu/mshyperv.c

index 0a490ca..628ff50 100644 (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);