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

[PATCH 3/4] Use NDIS 6.60 interfaces, if supported


  • To: <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Owen Smith <owen.smith@xxxxxxxxxx>
  • Date: Tue, 26 Oct 2021 08:12:10 +0100
  • Authentication-results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
  • Cc: Owen Smith <owen.smith@xxxxxxxxxx>
  • Delivery-date: Tue, 26 Oct 2021 07:12:51 +0000
  • Ironport-data: A9a23:zf+soKgQPkWJ1xiB8FIZYRxmX161RBcKZh0ujC45NGQN5FlHY01je htvXmzVOv3YYGr3ct5wbd7g8ktQ75PXzoJkSAM9+StmEi8b9cadCdqndUqhZCn6wu8v7a5EA 2fyTvGacajYm1eF/k/F3oAMKRCQ7InQLlbGILes1htZGEk0F0/NtTo5w7Rg29Yy34Dja++wk YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx /1fioWsbw1qPZHFgbkyThhoLAdwJYt/reqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr KJCbmpXN1ba2rzwkOnTpupE36zPKOHsI44Z/GplzC3ZJf0nXYrCU+PB4towMDIY254SQamCO 5FxhTxHNUr/QDRyIUgrS5NizNWPo3PBUi1YgQfAzUYwyzeKl1EguFT3C/LKe9rPXdsQkkuGq 2bu+2XiHgpcJNGZ0SCC8H+nmqnIhyyTZW4JPOTmrLgw2gTVnzFNTk1NPbemnRWnolyBQs55I Q8XxiM38Icv9XyUaNfleSTt9RZooSUgc9ZXFuQ77iSExazV/xuVCwA4c9JRVDA1nJRpHWJyh zdli/usXGY16OTEFhpx45/N9WvqURX5O1PucsPtoeEt2NLkvJ0oxizGStJuAcZZZfWkRGmun VhmQMU47oj/bPLnNY3nojgrYBr2//AlqzLZAS2MBgqYAvtRPtLNWmBRwQGzAQx8BIiYVEKdm 3MPhtKT6usDZbnUynfQGbVdReD4t6fUWNE5vbKIN8J5nwlBBlb5JdwAiN2ADB4xWir7RdMZS BCK4l4AjHOiFHCrcbV2c+qM5zcClsDd+SDefqmMNLJmO8EpHCfepX0GTRPAjgjFzRl3+Ylia MjzTCpZJStDYUiR5GHtHLl1PH5C7n1W+F4/srihn0j7iOHFNCDOIVrHWXPXBt0EAGq/iF292 75i2wGikX2zicXyPXva95A9N1cPISRpDJz6sZUPJOWCPhBnCCcqDPqImeEtfIlsnqJ0kObU/ y7iBh8EmQSn3XCXex+Xbn1Daa/0Wcotp3wMIiFxb02j3GIuYNjz4f5HJYc3Z7Qu6Mdq0eVwE 6seY8yFD/kWEmbH9j0RYIPTtotncBj31wuCMzD8OGo0foJ6RhyP8djhJ1O9+C4LByuxlM0/v 7z/iV+LHctdH1xvVZ+EZuiuwlW9uWkmtNhzB0aYcMNOfEjM8ZRxL3CjhPEAPMxRew7IwSGX1 ljKDE5A9/XNuYI87PLAmbuA89WyC+J7E0dXQzvb4LKxOXWI92av29YdAuOBfDSbX2Lo4qSyI +5SyqikYvEAmV9Ltat6Eqpqkv1it4e++ecCw1Q2BmjPYnSqFqhkcyuP0sR4v6FQwqNU5FmtU UWV99gGYbiENasJyrLKyNbJughb6cwppw==
  • Ironport-hdrordr: A9a23:rO1LLqMo5fwgmsBcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3/qy nOpoVi6faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrJ uIGJIeNDSfNzdHZL7BkWuFL+o=
  • Ironport-sdr: u+B0kn/0pkzKcwcg24yNPwlm9uCx2Z0btq0XMZpE4NfV+mXX+POnkWVfGoaGTckVDMtMCUR2ya HgLpfufoqJjuWdU/lPpabB/htjoqOx7alY91/gm3DxmOkmMS/KvmTCcYm+rMbXjcqUHHfEYNQr 5J7fKLSZaeV52KOJD8+d0sWtS5faRS+158ts3CR/fM2jHj8EUN6djrVdhaK/a23ndbXZBWw3g4 7tDmsU1FbZTqejEeWpXRkcZndYixhBYBG/9Zc1dO2WI1k0BgJKdUoZMQaOrWS7GLnG9UqFlsNt sjGXJm3T8yNIzl8UY8j1dqnR
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

Server 2016 introduced NDIS 6.60, update the interfaces to use NDIS 6.60 if
the reported NDIS runtime version supports this. No additional features of
NDIS 6.60 are used.
Also corrects the PhysicalMediaType property, which would otherwise block
functionality

Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>
---
 src/xennet.inf               |   2 +-
 src/xennet/adapter.c         | 104 ++++++++++++++++++++++++++---------
 src/xennet/miniport.c        |  12 +++-
 vs2015/xennet/xennet.vcxproj |   2 +-
 vs2017/xennet/xennet.vcxproj |   2 +-
 vs2019/xennet/xennet.vcxproj |   2 +-
 6 files changed, 91 insertions(+), 33 deletions(-)

diff --git a/src/xennet.inf b/src/xennet.inf
index f93acba..655bac6 100644
--- a/src/xennet.inf
+++ b/src/xennet.inf
@@ -70,7 +70,7 @@ Characteristics=0x84
 BusType=1
 *IfType=6              ; IF_TYPE_ETHERNET_CSMACD
 *MediaType=0           ; NdisMedium802_3
-*PhysicalMediaType=0   ; NdisPhysicalMediumUnspecified
+*PhysicalMediaType=14  ; NdisPhysicalMedium802_3
 CopyFiles=XenNet_Copyfiles
 AddReg=Xennet_Inst_AddReg
 
diff --git a/src/xennet/adapter.c b/src/xennet/adapter.c
index 7bfdc4a..b47e5e7 100644
--- a/src/xennet/adapter.c
+++ b/src/xennet/adapter.c
@@ -359,8 +359,14 @@ AdapterIndicateOffloadChanged(
 
     RtlZeroMemory(&Current, sizeof(Current));
     Current.Header.Type = NDIS_OBJECT_TYPE_OFFLOAD;
-    Current.Header.Revision = NDIS_OFFLOAD_REVISION_2;
-    Current.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2;
+
+    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
+        Current.Header.Revision = NDIS_OFFLOAD_REVISION_4;
+        Current.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4;
+    } else {
+        Current.Header.Revision = NDIS_OFFLOAD_REVISION_3;
+        Current.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3;
+    }
 
     Current.Checksum.IPv4Receive.Encapsulation = NDIS_ENCAPSULATION_IEEE_802_3;
 
@@ -446,7 +452,11 @@ AdapterIndicateOffloadChanged(
     Status.Header.Size = NDIS_SIZEOF_STATUS_INDICATION_REVISION_1;
     Status.StatusCode = NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG;
     Status.StatusBuffer = &Current;
-    Status.StatusBufferSize = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2;
+
+    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660)
+        Status.StatusBufferSize = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4;
+    else
+        Status.StatusBufferSize = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3;
 
     NdisMIndicateStatusEx(Adapter->NdisAdapterHandle, &Status);
 }
@@ -939,14 +949,21 @@ DisplayRss(
 static NDIS_STATUS
 AdapterGetReceiveScaleParameters(
     IN  PXENNET_ADAPTER                 Adapter,
-    IN  PNDIS_RECEIVE_SCALE_PARAMETERS  Parameters
+    IN  PNDIS_RECEIVE_SCALE_PARAMETERS  Parameters,
+    OUT PULONG                          BytesRead
     )
 {
     NDIS_STATUS                         ndisStatus;
 
     ASSERT3U(Parameters->Header.Type, ==, NDIS_OBJECT_TYPE_RSS_PARAMETERS);
-    ASSERT3U(Parameters->Header.Revision, ==, 
NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2);
-    ASSERT3U(Parameters->Header.Size, >=, 
NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2);
+
+    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
+        ASSERT3U(Parameters->Header.Revision, ==, 
NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_3);
+        ASSERT3U(Parameters->Header.Size, >=, 
NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_3);
+    } else {
+        ASSERT3U(Parameters->Header.Revision, ==, 
NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2);
+        ASSERT3U(Parameters->Header.Size, >=, 
NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2);
+    }
 
     if (!Adapter->Rss.Supported)
         return NDIS_STATUS_NOT_SUPPORTED;
@@ -957,6 +974,11 @@ AdapterGetReceiveScaleParameters(
     if (Adapter->Rss.HashEnabled)
         return NDIS_STATUS_NOT_SUPPORTED;
 
+    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660)
+        *BytesRead = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_3;
+    else
+        *BytesRead = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2;
+
     if (!(Parameters->Flags & NDIS_RSS_PARAM_FLAG_DISABLE_RSS)) {
         Adapter->Rss.ScaleEnabled = TRUE;
     } else {
@@ -976,6 +998,7 @@ AdapterGetReceiveScaleParameters(
                                          Parameters->HashSecretKeySize);
         if (ndisStatus != NDIS_STATUS_SUCCESS)
             goto fail;
+        *BytesRead += Parameters->HashSecretKeySize;
     }
 
     if (!(Parameters->Flags & NDIS_RSS_PARAM_FLAG_ITABLE_UNCHANGED)) {
@@ -984,6 +1007,7 @@ AdapterGetReceiveScaleParameters(
                                            Parameters->IndirectionTableSize);
         if (ndisStatus != NDIS_STATUS_SUCCESS)
             goto fail;
+        *BytesRead += Parameters->IndirectionTableSize;
     }
 
     DisplayRss(&Adapter->Rss);
@@ -2111,7 +2135,8 @@ AdapterSetInformation(
         if (BufferLength == BytesNeeded) {
             ndisStatus = AdapterSetPacketFilter(Adapter,
                                                 (PULONG)Buffer);
-            BytesRead = sizeof(ULONG);
+            if (ndisStatus == NDIS_STATUS_SUCCESS)
+                BytesRead = sizeof(ULONG);
         }
         break;
 
@@ -2141,24 +2166,26 @@ AdapterSetInformation(
         break;
 
     case OID_TCP_OFFLOAD_PARAMETERS:
-        BytesNeeded = NDIS_OFFLOAD_PARAMETERS_REVISION_2;
+        BytesNeeded = NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3;
         if (BufferLength >= BytesNeeded) {
             ndisStatus = AdapterGetTcpOffloadParameters(Adapter,
                                                         
(PNDIS_OFFLOAD_PARAMETERS)Buffer);
             if (ndisStatus == NDIS_STATUS_SUCCESS)
-                BytesRead = NDIS_OFFLOAD_PARAMETERS_REVISION_2;
+                BytesRead = NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3;
         } else {
             ndisStatus = NDIS_STATUS_INVALID_LENGTH;
         }
         break;
 
     case OID_GEN_RECEIVE_SCALE_PARAMETERS:
-        BytesNeeded = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_1;
+        if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660)
+            BytesNeeded = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_3;
+        else
+            BytesNeeded = NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2;
         if (BufferLength >= BytesNeeded) {
             ndisStatus = AdapterGetReceiveScaleParameters(Adapter,
-                                                          
(PNDIS_RECEIVE_SCALE_PARAMETERS)Buffer);
-            if (ndisStatus == NDIS_STATUS_SUCCESS)
-                BytesRead = sizeof(NDIS_RECEIVE_SCALE_PARAMETERS);
+                                                          
(PNDIS_RECEIVE_SCALE_PARAMETERS)Buffer,
+                                                          &BytesRead);
         } else {
             ndisStatus = NDIS_STATUS_INVALID_LENGTH;
         }
@@ -2183,7 +2210,7 @@ AdapterSetInformation(
         /*FALLTHRU*/
     default:
         if (Warn)
-            Warning("UNSUPPORTED OID %08x\n", 
Request->DATA.QUERY_INFORMATION.Oid);
+            Warning("UNSUPPORTED OID %08x\n", 
Request->DATA.SET_INFORMATION.Oid);
 
         ndisStatus = NDIS_STATUS_NOT_SUPPORTED;
         break;
@@ -2384,11 +2411,19 @@ AdapterQueryInformation(
 
     case OID_GEN_DRIVER_VERSION:
         BytesNeeded = sizeof(ULONG);
-        ndisStatus = __SetUlong(Buffer,
-                                BufferLength,
-                                (NDIS_MINIPORT_MAJOR_VERSION << 8) |
-                                NDIS_MINIPORT_MINOR_VERSION,
-                                &BytesWritten);
+        if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
+            ndisStatus = __SetUlong(Buffer,
+                                    BufferLength,
+                                    (NDIS_MINIPORT_MAJOR_VERSION << 8) |
+                                    NDIS_MINIPORT_MINOR_VERSION,
+                                    &BytesWritten);
+        } else {
+            ndisStatus = __SetUlong(Buffer,
+                                    BufferLength,
+                                    (NDIS_MINIPORT_MINIMUM_MAJOR_VERSION << 8) 
|
+                                    NDIS_MINIPORT_MINIMUM_MINOR_VERSION,
+                                    &BytesWritten);
+        }
         break;
 
     case OID_GEN_MAC_OPTIONS:
@@ -2729,9 +2764,9 @@ AdapterQueryInformation(
     case OID_GEN_MAC_ADDRESS:
     case OID_GEN_MAX_LINK_SPEED:
         // ignore these common unwanted OIDs
-       case OID_GEN_INIT_TIME_MS:
-       case OID_GEN_RESET_COUNTS:
-       case OID_GEN_MEDIA_SENSE_COUNTS:
+    case OID_GEN_INIT_TIME_MS:
+    case OID_GEN_RESET_COUNTS:
+    case OID_GEN_MEDIA_SENSE_COUNTS:
         Warn = FALSE;
         /*FALLTHRU*/
     default:
@@ -2971,6 +3006,11 @@ AdapterSetGeneralAttributes(
     NDIS_STATUS                                 ndisStatus;
     NTSTATUS                                    status;
 
+    RtlZeroMemory(&Adapter->Capabilities, sizeof(Adapter->Capabilities));
+    Adapter->Capabilities.Header.Type = NDIS_OBJECT_TYPE_DEFAULT;
+    Adapter->Capabilities.Header.Revision = NDIS_PM_CAPABILITIES_REVISION_2;
+    Adapter->Capabilities.Header.Size = 
NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2;
+
     RtlZeroMemory(&Attribs, sizeof(Attribs));
     Attribs.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES;
     Attribs.Header.Revision = 
NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_2;
@@ -3051,8 +3091,14 @@ AdapterSetGeneralAttributes(
 
     RtlZeroMemory(&Rss, sizeof(Rss));
     Rss.Header.Type = NDIS_OBJECT_TYPE_RSS_CAPABILITIES;
-    Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
-    Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
+
+    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
+        Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_3;
+        Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_3;
+    } else {
+        Rss.Header.Revision = NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
+        Rss.Header.Size = NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2;
+    }
 
     Rss.CapabilitiesFlags = NDIS_RSS_CAPS_MESSAGE_SIGNALED_INTERRUPTS |
                             NDIS_RSS_CAPS_CLASSIFICATION_AT_ISR |
@@ -3135,8 +3181,14 @@ AdapterSetOffloadAttributes(
 
     RtlZeroMemory(&Supported, sizeof(Supported));
     Supported.Header.Type = NDIS_OBJECT_TYPE_OFFLOAD;
-    Supported.Header.Revision = NDIS_OFFLOAD_REVISION_2;
-    Supported.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2;
+
+    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
+        Supported.Header.Revision = NDIS_OFFLOAD_REVISION_4;
+        Supported.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_4;
+    } else {
+        Supported.Header.Revision = NDIS_OFFLOAD_REVISION_3;
+        Supported.Header.Size = NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3;
+    }
 
     Supported.Checksum.IPv4Receive.Encapsulation = 
NDIS_ENCAPSULATION_IEEE_802_3;
 
diff --git a/src/xennet/miniport.c b/src/xennet/miniport.c
index 5b69315..e24e1ad 100644
--- a/src/xennet/miniport.c
+++ b/src/xennet/miniport.c
@@ -338,12 +338,18 @@ MiniportRegister(
 
     NdisZeroMemory(&MiniportDriverCharacteristics, sizeof 
(MiniportDriverCharacteristics));
 
-    MiniportDriverCharacteristics.Header.Type = 
NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS,
+    MiniportDriverCharacteristics.Header.Type = 
NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS;
     MiniportDriverCharacteristics.Header.Size = 
NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;
     MiniportDriverCharacteristics.Header.Revision = 
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;
 
-    MiniportDriverCharacteristics.MajorNdisVersion = 
NDIS_MINIPORT_MAJOR_VERSION;
-    MiniportDriverCharacteristics.MinorNdisVersion = 
NDIS_MINIPORT_MINOR_VERSION;
+    if (NdisGetVersion() >= NDIS_RUNTIME_VERSION_660) {
+        MiniportDriverCharacteristics.MajorNdisVersion = 
NDIS_MINIPORT_MAJOR_VERSION; // 6
+        MiniportDriverCharacteristics.MinorNdisVersion = 
NDIS_MINIPORT_MINOR_VERSION; // 60
+    } else {
+        MiniportDriverCharacteristics.MajorNdisVersion = 
NDIS_MINIPORT_MINIMUM_MAJOR_VERSION; // 6
+        MiniportDriverCharacteristics.MinorNdisVersion = 
NDIS_MINIPORT_MINIMUM_MINOR_VERSION; // 30
+    }
+
     MiniportDriverCharacteristics.MajorDriverVersion = MAJOR_VERSION;
     MiniportDriverCharacteristics.MinorDriverVersion = MINOR_VERSION;
     MiniportDriverCharacteristics.Flags = NDIS_WDM_DRIVER;
diff --git a/vs2015/xennet/xennet.vcxproj b/vs2015/xennet/xennet.vcxproj
index b68d734..966de3a 100644
--- a/vs2015/xennet/xennet.vcxproj
+++ b/vs2015/xennet/xennet.vcxproj
@@ -22,7 +22,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      
<PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;NDIS660_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       
<AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
       <WarningLevel>EnableAllWarnings</WarningLevel>
       
<DisableSpecificWarnings>4464;4711;4548;4820;4668;4255;6001;6054;28160;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
diff --git a/vs2017/xennet/xennet.vcxproj b/vs2017/xennet/xennet.vcxproj
index 130b0e6..8df9840 100644
--- a/vs2017/xennet/xennet.vcxproj
+++ b/vs2017/xennet/xennet.vcxproj
@@ -22,7 +22,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      
<PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;NDIS660_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       
<AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
       <WarningLevel>EnableAllWarnings</WarningLevel>
diff --git a/vs2019/xennet/xennet.vcxproj b/vs2019/xennet/xennet.vcxproj
index 1ad5601..2eba039 100644
--- a/vs2019/xennet/xennet.vcxproj
+++ b/vs2019/xennet/xennet.vcxproj
@@ -21,7 +21,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      
<PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      
<PreprocessorDefinitions>PROJECT=$(ProjectName);NDIS_MINIPORT_DRIVER;NDIS_WDM=1;NDIS630_MINIPORT=1;NDIS660_MINIPORT=1;POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       
<AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;</AdditionalIncludeDirectories>
       <WarningLevel>EnableAllWarnings</WarningLevel>
-- 
2.33.0.windows.2




 


Rackspace

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