> -----Original Message-----
> From: Thomas Gleixner [mailto:[email protected]]
> Sent: Friday, September 8, 2017 4:20 AM
> To: LKML <[email protected]>
> Cc: Stephen Hemminger <[email protected]>; Simon Xiao
> <[email protected]>; KY Srinivasan <[email protected]>; Haiyang Zhang
> <[email protected]>; Steven Rostedt <[email protected]>; Peter
> Zijlstra <[email protected]>; Linus Torvalds <torvalds@linux-
> foundation.org>; Josh Poimboeuf <[email protected]>; H. Peter Anvin
> <[email protected]>; Denys Vlasenko <[email protected]>; Brian Gerst
> <[email protected]>; Borislav Petkov <[email protected]>; Andy Lutomirski
> <[email protected]>
> Subject: [PATCH] x86/idt: Unbreak MS HyperV hypercall vector install
> 
> The rework of the IDT setup changed the way how unused system gates are
> accounted. At the end of the gate initialization all unused gates in the
> system vector area are set to the spurios handler and marked as used for
> consistency reasons.
> 
> Marking them as used breaks MS HyperV because it installs its hypercall
> vector after that point and the installation is guarded by the bit in
> the
> used_vectors map. So the hyperv vector stays directed to the spurious
> interrupt handler.
> 
> Leave them marked as unused again and unbreak HyperV that way.
> 
> Fixes: dc20b2d52653 ("x86/idt: Move interrupt gate initialization to IDT
> code")
> Reported-by: Stephen Hemminger <[email protected]>
> Signed-off-by: Thomas Gleixner <[email protected]>

Thanks for the quick response.
I tested the patch and the kernel boots up on Hyper-V now.

Reviewed-and-Tested-by: Haiyang Zhang <[email protected]>

Reply via email to