[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] Report NDIS minor version as expected by OS


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Paul Durrant <xadimgnik@xxxxxxxxx>
  • Date: Mon, 12 Aug 2024 11:42:38 +0100
  • Delivery-date: Mon, 12 Aug 2024 10:42:46 +0000
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

On 05/08/2024 10:44, Owen Smith wrote:
WHQL requires NDIS minor versions to match the OS under test.
For Server 2022, this requires NDIS version 6.85 and Server 2025 requires
NDIS version 6.89.
In order to build with EWDK 22000, the reported version is echoed from the
call to NdisGetVersion() without requiring updated headers.

Note: NDIS 6.89 does add support for UDP Receive Segment Coalescing Offload
(URO), but XenNet does not support this new NDIS feature.

Signed-off-by: Owen Smith <owen.smith@xxxxxxxxx>
---
  src/xennet/miniport.c | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)


Acked-by: Paul Durrant <paul@xxxxxxx>

diff --git a/src/xennet/miniport.c b/src/xennet/miniport.c
index 5dc9858..250b090 100644
--- a/src/xennet/miniport.c
+++ b/src/xennet/miniport.c
@@ -348,16 +348,16 @@ MiniportRegister(
          MiniportDriverCharacteristics.Header.Size = 
NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3;
          MiniportDriverCharacteristics.Header.Revision = 
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3;
- MiniportDriverCharacteristics.MajorNdisVersion = NDIS_MINIPORT_MAJOR_VERSION; // 6
-        MiniportDriverCharacteristics.MinorNdisVersion = 
NDIS_MINIPORT_MINOR_VERSION; // 85
+        MiniportDriverCharacteristics.MajorNdisVersion = (UCHAR)(NdisGetVersion() 
>> 16);
+        MiniportDriverCharacteristics.MinorNdisVersion = (UCHAR)(NdisGetVersion() 
& 0x00FF);
      } else
  #endif
      if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
          MiniportDriverCharacteristics.MajorNdisVersion = 6;
          MiniportDriverCharacteristics.MinorNdisVersion = 60;
      } else {
-        MiniportDriverCharacteristics.MajorNdisVersion = 
NDIS_MINIPORT_MINIMUM_MAJOR_VERSION; // 6
-        MiniportDriverCharacteristics.MinorNdisVersion = 
NDIS_MINIPORT_MINIMUM_MINOR_VERSION; // 30
+        MiniportDriverCharacteristics.MajorNdisVersion = 6;
+        MiniportDriverCharacteristics.MinorNdisVersion = 30;
      }
MiniportDriverCharacteristics.MajorDriverVersion = MAJOR_VERSION;




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.