[PATCH 1/1] x86/hyper-V: Allocate the IDT entry early in boot

Thomas Gleixner tglx at linutronix.de
Sat Sep 9 09:39:43 UTC 2017


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 at microsoft.com>
> ---
>  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




More information about the devel mailing list