Please, apply patch both 3.10 and 3.9 Re: [PATCH 1/1] X86: Handle Xen emulation of Hyper-V more gracefully

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi!


- /*
- * 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;

. . .
 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);
+


Michael S. Tsirkin> Any chance we can fast-path this patch into 3.9 so Michael S. Tsirkin> that we don't release a kernel with hyper-v on Xen completely disabled?


Yes, this backport from linux-next ( future 3.10 ) to 3.9 ( on 2013-04-18 -- 3.9-rc(7+N) )  look like usefull . . .

Please, apply patch both 3.10 and 3.9

Best regards, Victor Miasnikov
Blog:  http://vvm.blog.tut.by/


----- Original Message ----- From: "Michael S. Tsirkin" To: "K. Y. Srinivasan"
Cc:
Sent: Thursday, April 18, 2013 5:17 PM
Subject: Re: [PATCH 1/1] X86: Handle Xen emulation of Hyper-V more gracefully


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

Looks good to me, this will address the concern. FWIW

Acked-by: Michael S. Tsirkin
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?

---

. . .
- /*
- * 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
 }

. . .

 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;

. . .



_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux