From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 190334E77EA for ; Fri, 9 Oct 2026 17:40:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791567636; cv=none; b=Pus/SalgjBzGHnt4jS1JLxPjAUUV05M72Js2le4pg6ekGRjuaxUvOPwup6YZPCe8oTbQFF30gsFcXs4zNccXEkwIl+1ysgRWkl8W8MFFC77aiNwQOqdewMQYKf6FNJzGMTijDYtZTPJJdOmC6pqvMYOmeFfe1zDPPT/KC6ZeqGc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791567636; c=relaxed/simple; bh=k8aejIH4girCnHlnsmhW0AOY4LYP8I4Mq1RNU11YCWM=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=kvQXbDy9BBFf4Scur4B7rKQa0gL5REU9mdPcD1x6CEdTcEZh74mVwhL54ed5sRUclwdGN0PP33ms8So1cCHAfZ78FMqGjgnXakPeAMPfPKmU5Pt90IoKXHEwjR/m9M/gz1+RSe2UFpHCf95T74qtlodURMXGVx9K9FC2M7bqEfA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=m9zSOP7C; arc=none smtp.client-ip=209.85.215.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="m9zSOP7C" Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-ccce967aa8dso3102973a12.1 for ; Fri, 09 Oct 2026 10:40:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1791567634; x=1792172434; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:reply-to:message-id:date :subject:to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=lxguw1uDTuEJffZkA0RjIlXZRSyCjRzPKT3u+yYZHzQ=; b=m9zSOP7CMCUmZNzkXqoKyJQSj4cgqFc+K9oLqhVhIKCpUKHbfOpaiVIVZU03Ek7z2c jLJBGmvZzX9kx2YXQKAonZhFNlLmXecOA6xfxJarHDvdn7Y9a+A+jpLwdynMME6Ig9jd CKWQF9hnaTYzEQE51THglUpxluX897guBh1wRfkDUy2FFTBM/dLRPeogGwjPSluNoozm V4wIgDO3WEnEa1dveaZynoahNmHWYSujlUaGkpPczuC08kphQOWbcBZxVzc0OmBnC6qt v7Bq0yPUCUM3JnZeBInv2WN4/sJ7x/OzHvL9n36YrkgEcNhU0Bm+ioZxzY8D3sFI6uau /lHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791567634; x=1792172434; h=content-transfer-encoding:mime-version:reply-to:message-id:date :subject:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=lxguw1uDTuEJffZkA0RjIlXZRSyCjRzPKT3u+yYZHzQ=; b=KBUpQuS6LPEY55KGJZgXzWiR/EM0a8X4JFOHZdBQrhu8AOw81vide2ey2LWNfShTNH +USSNOrUm44plOs5Tzqcz62YkV5RCRnJyeBeM56pWHWTN11nLYwvydlbegHSdmZvn/QY MMqHFKDD38HKaJYQYVWuf+a6Dk8Wb+j3CPBj8BgjIOWXCtCHYgJNL3PkDfg0mZ/oaGgs VldlnupkJL1TY4HGnenVmuMBh/4UZpJKkvrORplvsii4d8ItI6tlmSsBdPSuVFV3rK9g KaY1FQd30omoaA8abSbs3s+8IX8ZXw+i2OBFbFDaC0S9FZ4GqL+rs0aCa2MSYgUmVHyq MSgA== X-Forwarded-Encrypted: i=1; AKwUvBwOI1OxNGv0hjzcj72txAsLcy7CgbHzdCDlgokwP6t5jm9LwWoy4GSXbAdGFDcjaVb9JRFDoOtvV1WxwAA=@vger.kernel.org X-Gm-Message-State: AFq9FYJ70aH/mj3tKVrtfTS6Zdy5hHj8IdSCI5ehpiA+QvrmGr/oWmeh 2C5VQDzjkS9qDRfHFBzuwp5mfXQ+ClwB7DI5TJgtEYdfbNP4ywPRt1xz X-Gm-Gg: AYBFou2ijs7IUwcnrgX56DFGMJb2T/iFmTqJAhW6GYClidRr9nL/2mAI/pZYyBmInaq t457+IWpw0SOK16cu+M3GkGPshg87Lq0LDGsxkTxpiV2PnWK1yZlTsK9X7kg+UguOptq4/M6cCr JCXUoFklmtYHHmohCgySGzQGMDo7qT826r6yPyxVFbWyM5iVFa25hCjSzmpoH4FDBxSoI64GP+U a9eY6+X0v8SLgdqgeN6e9MRhwmRpBu8D5HhycIZYcx+gMZ5+Uv81yKSo5w0LrNU+iRpAOgUtnGO CHv9t2dHBc6S4AVsBC9cCxUPhSTWpiTKkRtCLFRXj5Iqcu6DYbrgdfV3+dHQ9C5pZ2sfKBhX3jv ppx3ilymFZBg/gco7IhYxKeQ2W0nGtjYdZ+x7LJSQc6rJK6ZjU/ypt2bTRgIfvueizMyaOmt+ps H24FuAxBca/XnBREWMfrjeyoTLNTZ5LfeeBf84VuLS/d7xPc086XECaGXI+wC+w+jYgoU995KoQ QovaVPAJn8+rLcT+Hm2cvhfP1PI2YAEkKnTstGsrYGboMHfMEFcrJSjiqP+HloA X-Received: by 2002:a17:90b:224e:b0:3ab:1323:1012 with SMTP id 98e67ed59e1d1-3ab3a32ff26mr2282751a91.1.1791567634272; Fri, 09 Oct 2026 10:40:34 -0700 (PDT) Received: from localhost.localdomain (c-174-165-208-10.hsd1.wa.comcast.net. [174.165.208.10]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3ab338676besm2726448a91.1.2026.10.09.10.40.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Oct 2026 10:40:33 -0700 (PDT) From: Michael Kelley X-Google-Original-From: Michael Kelley To: haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, corbet@lwn.net, skhan@linuxfoundation.org, rdunlap@infradead.org, davem@davemloft.net, edumazet@kernel.org, kuba@kernel.org, pabeni@redhat.com, horms@kernel.org, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org, netdev@vger.kernel.org, linux-doc@vger.kernel.org Subject: [PATCH v2 1/1] Documentation: hyperv: Remove support for guests on Hyper-V 2012/2012R2 Date: Fri, 9 Oct 2026 10:40:07 -0700 Message-Id: <20261009174007.6745-1-mhklinux@outlook.com> X-Mailer: git-send-email 2.25.1 Reply-To: mhklinux@outlook.com Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 --- Changes since v1: * Updated the netvsc.rst network driver documentation [Naman Jain] * My "below the line" comment in v1 wrong. It said that removal of WS2012 support was going into 7.4. But it is actually already in 7.3. So ideally these doc changes would go into 7.3 as well. .../device_drivers/ethernet/microsoft/netvsc.rst | 14 +++++++------- Documentation/virt/hyperv/clocks.rst | 8 ++------ Documentation/virt/hyperv/overview.rst | 6 +++--- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst b/Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst index 616f808e885b..0d464706a59a 100644 --- a/Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst +++ b/Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst @@ -7,8 +7,9 @@ Hyper-V network driver Compatibility ============= -This driver is compatible with Windows Server 2012 R2, 2016 and -Windows 10. +This driver supports Linux guests running on Windows Server 2016 Hyper-V +and later, and Windows 10 and later. Support for running as a guest on +earlier versions of Hyper-V has been removed from Linux. Features ======== @@ -16,9 +17,8 @@ Features Checksum offload ---------------- The netvsc driver supports checksum offload as long as the - Hyper-V host version does. Windows Server 2016 and Azure - support checksum offload for TCP and UDP for both IPv4 and - IPv6. Windows Server 2012 only supports checksum offload for TCP. + Hyper-V host version does. Windows Server 2016 Hyper-V and later, and + Azure, support checksum offload for TCP and UDP for both IPv4 and IPv6. Receive Side Scaling -------------------- @@ -58,8 +58,8 @@ Large Receive Offload (LRO), or Receive Side Coalescing (RSC) ------------------------------------------------------------- The driver supports LRO/RSC in the vSwitch feature. It reduces the per packet processing overhead by coalescing multiple TCP segments when possible. The - feature is enabled by default on VMs running on Windows Server 2019 and - later. It may be changed by ethtool command:: + feature is enabled by default on VMs running on Windows Server 2019 Hyper-V + and later. It may be changed by ethtool command:: ethtool -K eth0 lro on ethtool -K eth0 lro off 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 -- 2.25.1