Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1729315 > unrolled thread

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

Started by"K. Y. Srinivasan" <kys@microsoft.com>
First post2017-09-09 00:00 +0200
Last post2017-09-09 18:00 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/1] x86/hyper-V: Allocate the IDT entry early in boot  "K. Y. Srinivasan" <kys@microsoft.com> - 2017-09-09 00:00 +0200
    Re: [PATCH 1/1] x86/hyper-V: Allocate the IDT entry early in boot  Thomas Gleixner <tglx@linutronix.de> - 2017-09-09 11:40 +0200
      RE: [PATCH 1/1] x86/hyper-V: Allocate the IDT entry early in boot  KY Srinivasan <kys@microsoft.com> - 2017-09-09 18:00 +0200

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

From"K. Y. Srinivasan" <kys@microsoft.com>
Date2017-09-09 00:00 +0200
Subject[PATCH 1/1] x86/hyper-V: Allocate the IDT entry early in boot
Message-ID<unztE-4m3-11@gated-at.bofh.it>
Allocate the hypervisor callback IDT entry early in the boot sequence.

Signed-off-by: K. Y. Srinivasan <kys@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
 }
 
-- 
2.14.1

[toc] | [next] | [standalone]


#1729417

FromThomas Gleixner <tglx@linutronix.de>
Date2017-09-09 11:40 +0200
Message-ID<unKp4-3zf-15@gated-at.bofh.it>
In reply to#1729315
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@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

[toc] | [prev] | [next] | [standalone]


#1729477

FromKY Srinivasan <kys@microsoft.com>
Date2017-09-09 18:00 +0200
Message-ID<unQkO-7ur-41@gated-at.bofh.it>
In reply to#1729417

> -----Original Message-----
> From: Thomas Gleixner [mailto:tglx@linutronix.de]
> Sent: Saturday, September 9, 2017 2:40 AM
> To: KY Srinivasan <kys@microsoft.com>
> Cc: x86@kernel.org; gregkh@linuxfoundation.org; linux-
> kernel@vger.kernel.org; devel@linuxdriverproject.org; olaf@aepfle.de;
> apw@canonical.com; jasowang@redhat.com; hpa@zytor.com;
> mingo@kernel.org
> Subject: Re: [PATCH 1/1] x86/hyper-V: Allocate the IDT entry early in boot
> 
> 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@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?

Yes.

K. Y
> 
> Thanks,
> 
> 	tglx
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web