RE: [EXTERNAL] [PATCH 0/6] Remove support for Windows Server 2012/2012R2 & Win8/Win8.1 versions of Hyper-V
Long Li <[email protected]> Thu, 30 Jul 2026 20:32:59 +0000
| Newsgroups | org.kernel.vger.linux-hyperv,dev.linux.lists.virtualization,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-scsi,org.kernel.vger.netdev |
|---|---|
| Message-ID | <SA1PR21MB6683DC244AFD27148A0AA213CEC92@SA1PR21MB6683.namprd21.prod.outlook.com> |
>=20 > From: Michael Kelley <[email protected]> >=20 > Linux code for running as a Hyper-V guest includes special cases for runn= ing on > Hyper-V in WS2012/2012R2 and Windows 8/8.1. These versions were initially > released 14 years ago, and official support ended in 2023 (unless a custo= mer > has contracted for extended security updates). Given the release of subse= quent > versions with improved functionality, there's no need to continue to supp= ort the > latest Linux kernels on these versions of Hyper-V. If someone is running = Linux on > one of these older Hyper-V versions and doesn't want to upgrade, they can > continue to do so as presumably they don't want upgrade the Linux version > either. This patch set has significant implication for customer running older Hyper= -V versions. There are probably a large number out there. Is this clearly communicated to all the customers in the field? Is there a = link from official Microsoft statements on support statement of this: "they can continue to do so as presumably they don't want upgrade the Linux= version either." Please point to the statement that they can't upgrade Linux. A link in the = commit message will be helpful. Thanks, Long >=20 > Simplify Linux code by removing special cases for running on these old ve= rsions > of Hyper-V. This includes removing the negotiation of the VMBus protocol > versions for WS2012/Win8, and the special case code based on those VMBus > protocol versions. Changes are in the core VMBus code and several drivers= for > synthetic VMBus devices. >=20 > Some VMBus drivers have device-specific protocols with the Hyper-V host. > Further simplify the code by removing the use of protocol versions that a= re > specific to WS2012/Win8 and earlier. >=20 > Finally, the WS2012/Win8 versions of Hyper-V were the last to use message= s to > deliver synthetic timer interrupts. Starting in WS2016/Win10, stimer inte= rrupts > are delivered to their own assigned interrupt vector (called "Direct Mode= "). So > remove the code for handling timer interrupts delivered as messages. This > removal has a broader benefit in removing a key blocker to disentangling > VMBus code (which handles the messages) and stimer code, as they should b= e > independent of each other. The final disentangling will come as a follow-= on > patch set. >=20 > Testing: > * VM on local Hyper-V on up-to-date Windows 11 > * Added temp debug code to suppress Direct Mode enumeration. Fallback > to LAPIC timer worked as expected (x86/x64 only) > * Azure VM DC16eds v6: TDX CoCo VM with HvLite paravisor > * Azure VM DC16ads v6: SEV-SNP VM with an older paravisor > * Azure VM D16alds_v7: normal AMD x86 VM with HvLite paravisor > * Azure VM D16plds v6: normal ARM64 VM with MSFT Cobalt processor > * Not tested running in VTL2 >=20 > There's no specific urgency to removing the special case code for > WS2012/Win8, so if the broader Linux kernel community surfaces a reason w= hy > this clean-up should not be done now, we can wait. > But I think we want to eventually stop carrying around this extra baggage= , and > based on discussions with the Hyper-V team within Microsoft, we're past t= he > point that it has any value. >=20 > Michael Kelley (6): > Drivers: hv: Remove support for WS2012/2012R2 & Win8/8.1 version of > Hyper-V > hv_sock: Remove check for old Hyper-V hosts > hv_netvsc: Remove GPADL teardown special case for old Hyper-V hosts > drm_hyperv: Remove support for synth video protocol of old Hyper-V > hosts > scsi: storvsc: Remove support for storvsc protocol of old Hyper-V > hosts > clocksource: hyper-v: Remove support for stimer interrupts in message > mode >=20 > arch/x86/hyperv/hv_init.c | 17 +-- > arch/x86/kernel/cpu/mshyperv.c | 4 +- > drivers/clocksource/hyperv_timer.c | 150 +++------------------- > drivers/gpu/drm/hyperv/hyperv_drm_proto.c | 33 ++--- > drivers/hv/channel_mgmt.c | 4 - > drivers/hv/connection.c | 8 +- > drivers/hv/hv.c | 4 - > drivers/hv/hv_balloon.c | 36 +++--- > drivers/hv/hv_snapshot.c | 5 - > drivers/hv/vmbus_drv.c | 10 +- > drivers/net/hyperv/netvsc.c | 20 +-- > drivers/scsi/storvsc_drv.c | 53 ++------ > include/clocksource/hyperv_timer.h | 6 - > include/linux/hyperv.h | 5 +- > net/vmw_vsock/hyperv_transport.c | 3 - > 15 files changed, 76 insertions(+), 282 deletions(-) >=20 > -- > 2.25.1