RE: [PATCH 1/1] Documentation: hyperv: Remove support for guests on Hyper-V 2012/2012R2

From: Michael Kelley

Date: Fri Oct 09 2026 - 01:38:22 EST


From: Naman Jain <namjain@xxxxxxxxxxxxxxxxxxx> Sent: Thursday, October 8, 2026 9:39 PM
>
> On 10/9/2026 8:04 AM, Michael Kelley wrote:
> > Support for running Linux guests on Windows Server 2012/2012 R2 Hyper-V
> > hosts and Windows 8/8.1 hosts has been removed, which includes removing
> > support for operating Hyper-V synthetic timers in other than Direct Mode.
> > Update the documentation to reflect these removals.
> >
> > Signed-off-by: Michael Kelley <mhklinux@xxxxxxxxxxx>
> > ---
> > This patch reflects changes that are already in linux-next for merging
> > into the 7.4 kernel.
> >
> > Documentation/virt/hyperv/clocks.rst | 8 ++------
> > Documentation/virt/hyperv/overview.rst | 6 +++---
> > 2 files changed, 5 insertions(+), 9 deletions(-)
> >
> > diff --git a/Documentation/virt/hyperv/clocks.rst
> b/Documentation/virt/hyperv/clocks.rst
> > index 176043265803..9527e6073654 100644
> > --- a/Documentation/virt/hyperv/clocks.rst
> > +++ b/Documentation/virt/hyperv/clocks.rst
> > @@ -64,12 +64,8 @@ applying the scale and offset to get the constant 10 MHz clock.
> >
> > Linux clockevents are based on Hyper-V synthetic timer 0 (stimer0).
> > While Hyper-V offers 4 synthetic timers for each CPU, Linux only uses
> > -timer 0. In older versions of Hyper-V, an interrupt from stimer0
> > -results in a VMBus control message that is demultiplexed by
> > -vmbus_isr() as described in the Documentation/virt/hyperv/vmbus.rst
> > -documentation. In newer versions of Hyper-V, stimer0 interrupts can
> > -be mapped to an architectural interrupt, which is referred to as
> > -"Direct Mode". Linux prefers to use Direct Mode when available. Since
> > +timer 0. stimer0 is operated in what Hyper-V calls "Direct Mode"
> > +where timer interrupts are mapped to an architectural interrupt. Since
> > x86/x64 doesn't support per-CPU interrupts, Direct Mode statically
> > allocates an x86 interrupt vector (HYPERV_STIMER0_VECTOR) across all CPUs
> > and explicitly codes it to call the stimer0 interrupt handler. Hence
> > diff --git a/Documentation/virt/hyperv/overview.rst
> b/Documentation/virt/hyperv/overview.rst
> > index 77408a89d1a4..c4c262b77aa3 100644
> > --- a/Documentation/virt/hyperv/overview.rst
> > +++ b/Documentation/virt/hyperv/overview.rst
> > @@ -157,9 +157,9 @@ when accessing data shared with Hyper-V.
> > Versioning
> > ----------
> > Current Linux kernels operate correctly with older versions of
> > -Hyper-V back to Windows Server 2012 Hyper-V. Support for running
> > -on the original Hyper-V release in Windows Server 2008/2008 R2
> > -has been removed.
> > +Hyper-V back to Windows Server 2016 Hyper-V and Windows 10. Support for
> > +running on Windows Server 2012/2012 R2, Windows Server 2008/2008 R2,
> > +and Windows 8.1 and earlier has been removed.
> >
> > A Linux guest on Hyper-V outputs in dmesg the version of Hyper-V
> > it is running on. This version is in the form of a Windows build
>
> Thanks Michael. Change LGTM, but while at it, please add a similar
> change in
> Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst as
> well.

Indeed. I wasn't even aware the netvsc documentation existed. :-(

I can update the supported Hyper-V versions. But this documentation
has not had any significant content updates since early 2021. Haiyang
should review it from an overall content standpoint and make
appropriate updates. I don't have the knowledge to do that.

Michael

>
> Reviewed-by: Naman Jain <namjain@xxxxxxxxxxxxxxxxxxx>
>
> Regards,
> Naman