On Thu, Apr 18, 2013 at 08:44:46AM -0700, K. Y. Srinivasan wrote: > Install the Hyper-V specific interrupt handler only when needed. This would > permit us to get rid of the Xen check. Note that when the vmbus drivers invokes > the call to register its handler, we are sure to be running on Hyper-V. > > Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Looks good to me, this will address the concern. FWIW Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Any chance we can fast-path this patch into 3.9 so that we don't release a kernel with hyper-v on Xen completely disabled? > --- > arch/x86/kernel/cpu/mshyperv.c | 18 +++++------------- > 1 files changed, 5 insertions(+), 13 deletions(-) > > diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c > index a7d26d8..8f4be53 100644 > --- a/arch/x86/kernel/cpu/mshyperv.c > +++ b/arch/x86/kernel/cpu/mshyperv.c > @@ -35,13 +35,6 @@ static bool __init ms_hyperv_platform(void) > if (!boot_cpu_has(X86_FEATURE_HYPERVISOR)) > return false; > > - /* > - * Xen emulates Hyper-V to support enlightened Windows. > - * Check to see first if we are on a Xen Hypervisor. > - */ > - if (xen_cpuid_base()) > - return false; > - > cpuid(HYPERV_CPUID_VENDOR_AND_MAX_FUNCTIONS, > &eax, &hyp_signature[0], &hyp_signature[1], &hyp_signature[2]); > > @@ -82,12 +75,6 @@ static void __init ms_hyperv_init_platform(void) > > if (ms_hyperv.features & HV_X64_MSR_TIME_REF_COUNT_AVAILABLE) > clocksource_register_hz(&hyperv_cs, NSEC_PER_SEC/100); > -#if IS_ENABLED(CONFIG_HYPERV) > - /* > - * Setup the IDT for hypervisor callback. > - */ > - alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, hyperv_callback_vector); > -#endif > } > > const __refconst struct hypervisor_x86 x86_hyper_ms_hyperv = { > @@ -103,6 +90,11 @@ static irq_handler_t vmbus_isr; > > void hv_register_vmbus_handler(int irq, irq_handler_t handler) > { > + /* > + * Setup the IDT for hypervisor callback. > + */ > + alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, hyperv_callback_vector); > + > vmbus_irq = irq; > vmbus_isr = handler; > } > -- > 1.7.4.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel