> -----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]>

