On Fri, 8 Sep 2017, K. Y. Srinivasan wrote: > Allocate the hypervisor callback IDT entry early in the boot sequence. > > Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> > --- > arch/x86/kernel/cpu/mshyperv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c > index 3b3f713e15e5..236324e83a3a 100644 > --- a/arch/x86/kernel/cpu/mshyperv.c > +++ b/arch/x86/kernel/cpu/mshyperv.c > @@ -59,8 +59,6 @@ void hyperv_vector_handler(struct pt_regs *regs) > void hv_setup_vmbus_irq(void (*handler)(void)) > { > vmbus_handler = handler; > - /* Setup the IDT for hypervisor callback */ > - alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, hyperv_callback_vector); > } > > void hv_remove_vmbus_irq(void) > @@ -251,6 +249,8 @@ static void __init ms_hyperv_init_platform(void) > */ > x86_platform.apic_post_init = hyperv_init; > hyperv_setup_mmu_ops(); > + /* Setup the IDT for hypervisor callback */ > + alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, hyperv_callback_vector); > #endif > } Nice. So we can make all of that gate/idt stuff __init now. That makes my previous fix obsolete, right? Thanks, tglx _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel