From win-pv-devel-bounces@lists.xenproject.org Tue Jun 01 08:34:21 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 01 Jun 2021 08:34:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.134733.250613 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lnzqs-0004Tz-KB; Tue, 01 Jun 2021 08:34:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 134733.250613; Tue, 01 Jun 2021 08:34:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lnzqs-0004Tr-Gl; Tue, 01 Jun 2021 08:34:18 +0000
Received: by outflank-mailman (input) for mailman id 134733;
 Tue, 01 Jun 2021 08:34:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fzI1=K3=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lnzqr-0004Tk-B6
 for win-pv-devel@lists.xenproject.org; Tue, 01 Jun 2021 08:34:17 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 509da146-cdbd-46fa-bbf2-de0dfad6c2a6;
 Tue, 01 Jun 2021 08:34:16 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 509da146-cdbd-46fa-bbf2-de0dfad6c2a6
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1622536455;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Giigp1TviHAH6wsBT+nuJyXiLVbpLpHZRGqRdw0YObE=;
  b=SpivBUu0ws2Tmm1dCcwC77IlLuE6tZE+lr7SQX83g3q5OD5ngACeG27m
   u+56fqTV9KNe314HFxq9g39G1DRDodIifE5eaUUXVOKvWGIHMKkfhmf7G
   4zhyWbLYBWbZtg12dog/xev02d4xunaTNlPFMlWgV1Dj2RG7fWlOCRxIi
   A=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: UYk+zUgsmyI4g40C4z9MxaS5hfN/jLVY1YOq39cgszioSd/f6KJyaauPBNJU3IZM00s55oc61F
 NAG1vvM+xgBU1CrnfH0X2D0fc8WdkicnkGEDNGzZEru6QWA/07RKLPYxKkRaGfTMA0ZD8svp1U
 jRN1Q+MmvVAHSEyx0+cbnQRysp5JVaEBS/BQViND/4rSd+vLfPbjJKQu0FFoUhNPsO558FnAVJ
 6f4hIVq4YrtCsx06UIETnfm8eQ3Tng8HDKGd28CTKN/ufagAesjLz66OPIGZ7WOO2Aspf8+gor
 9AU=
X-SBRS: 5.1
X-MesageID: 44999102
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:/49ayaogjRSVDqmXgVbI8P0aV5oOeYIsimQD101hICG9Kvbo8P
 xHnJwguiMc+wxhPk3I+OrwRZVoLkmslqKdjbN9AV7mZniDhILKFvAf0WKB+UyDJ8SWzIc0vs
 1dmupFebjN5DNB4/oSlTPZLz9W+ri6Gc6T6ds2hE0dND2CI5sQlzuQVGugYzZLrSd9dOAEKK
 Y=
X-IronPort-AV: E=Sophos;i="5.83,239,1616472000"; 
   d="scan'208";a="44999102"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH] Avoid 0x9F BSODs on some driver stacks
Date: Tue, 1 Jun 2021 09:33:56 +0100
Message-ID: <20210601083356.907-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Some of the driver stacks xenfilt can be loaded on will not correctly
serialize power IRPs. This is most prevelant with vGPU devices, but can
affect any driver stack.
Add power IRPs to a list and process this list on the appropriate power
thread.

Note: the 0x9F BSODs dont appear to affect the other PV drivers' stacks, so
this fix is only required for xenfilt.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenfilt/fdo.c | 42 ++++++++++++++++++++++++------------------
 1 file changed, 24 insertions(+), 18 deletions(-)

diff --git a/src/xenfilt/fdo.c b/src/xenfilt/fdo.c
index b8cf424..e533e8b 100644
--- a/src/xenfilt/fdo.c
+++ b/src/xenfilt/fdo.c
@@ -60,9 +60,9 @@ struct _XENFILT_FDO {
     CHAR                            Name[MAXNAMELEN];
 
     PXENFILT_THREAD                 SystemPowerThread;
-    PIRP                            SystemPowerIrp;
+    LIST_ENTRY                      SystemPowerIrps;
     PXENFILT_THREAD                 DevicePowerThread;
-    PIRP                            DevicePowerIrp;
+    LIST_ENTRY                      DevicePowerIrps;
 
     MUTEX                           Mutex;
     LIST_ENTRY                      List;
@@ -1647,11 +1647,12 @@ FdoDevicePower(
     Event = ThreadGetEvent(Self);
 
     for (;;) {
+        PLIST_ENTRY         ListEntry;
         PIRP                Irp;
         PIO_STACK_LOCATION  StackLocation;
         UCHAR               MinorFunction;
 
-        if (Fdo->DevicePowerIrp == NULL) {
+        if (IsListEmpty(&Fdo->DevicePowerIrps)) {
             (VOID) KeWaitForSingleObject(Event,
                                          Executive,
                                          KernelMode,
@@ -1663,12 +1664,10 @@ FdoDevicePower(
         if (ThreadIsAlerted(Self))
             break;
 
-        Irp = Fdo->DevicePowerIrp;
+        ListEntry = RemoveHeadList(&Fdo->DevicePowerIrps);
+        ASSERT3P(ListEntry, !=, &Fdo->DevicePowerIrps);
 
-        if (Irp == NULL)
-            continue;
-
-        Fdo->DevicePowerIrp = NULL;
+        Irp = CONTAINING_RECORD(ListEntry, IRP, Tail.Overlay.ListEntry);
         KeMemoryBarrier();
 
         StackLocation = IoGetCurrentIrpStackLocation(Irp);
@@ -1706,11 +1705,12 @@ FdoSystemPower(
     Event = ThreadGetEvent(Self);
 
     for (;;) {
+        PLIST_ENTRY         ListEntry;
         PIRP                Irp;
         PIO_STACK_LOCATION  StackLocation;
         UCHAR               MinorFunction;
 
-        if (Fdo->SystemPowerIrp == NULL) {
+        if (IsListEmpty(&Fdo->SystemPowerIrps)) {
             (VOID) KeWaitForSingleObject(Event,
                                          Executive,
                                          KernelMode,
@@ -1722,12 +1722,10 @@ FdoSystemPower(
         if (ThreadIsAlerted(Self))
             break;
 
-        Irp = Fdo->SystemPowerIrp;
-
-        if (Irp == NULL)
-            continue;
+        ListEntry = RemoveHeadList(&Fdo->SystemPowerIrps);
+        ASSERT3P(ListEntry, !=, &Fdo->SystemPowerIrps);
 
-        Fdo->SystemPowerIrp = NULL;
+        Irp = CONTAINING_RECORD(ListEntry, IRP, Tail.Overlay.ListEntry);
         KeMemoryBarrier();
 
         StackLocation = IoGetCurrentIrpStackLocation(Irp);
@@ -1817,8 +1815,7 @@ FdoDispatchPower(
     case DevicePowerState:
         IoMarkIrpPending(Irp);
 
-        ASSERT3P(Fdo->DevicePowerIrp, ==, NULL);
-        Fdo->DevicePowerIrp = Irp;
+        InsertTailList(&Fdo->DevicePowerIrps, &Irp->Tail.Overlay.ListEntry);
         KeMemoryBarrier();
 
         ThreadWake(Fdo->DevicePowerThread);
@@ -1829,8 +1826,7 @@ FdoDispatchPower(
     case SystemPowerState:
         IoMarkIrpPending(Irp);
 
-        ASSERT3P(Fdo->SystemPowerIrp, ==, NULL);
-        Fdo->SystemPowerIrp = Irp;
+        InsertTailList(&Fdo->SystemPowerIrps, &Irp->Tail.Overlay.ListEntry);
         KeMemoryBarrier();
 
         ThreadWake(Fdo->SystemPowerThread);
@@ -2009,6 +2005,8 @@ FdoCreate(
     Fdo->PhysicalDeviceObject = PhysicalDeviceObject;
     Fdo->LowerDeviceObject = LowerDeviceObject;
     Fdo->Type = Type;
+    InitializeListHead(&Fdo->DevicePowerIrps);
+    InitializeListHead(&Fdo->SystemPowerIrps);
 
     status = ThreadCreate(FdoSystemPower, Fdo, &Fdo->SystemPowerThread);
     if (!NT_SUCCESS(status))
@@ -2071,6 +2069,8 @@ fail5:
 fail4:
     Error("fail4\n");
 
+    RtlZeroMemory(&Fdo->SystemPowerIrps, sizeof(LIST_ENTRY));
+    RtlZeroMemory(&Fdo->DevicePowerIrps, sizeof(LIST_ENTRY));
     Fdo->Type = XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN;
     Fdo->PhysicalDeviceObject = NULL;
     Fdo->LowerDeviceObject = NULL;
@@ -2134,6 +2134,12 @@ FdoDestroy(
     ThreadJoin(Fdo->SystemPowerThread);
     Fdo->SystemPowerThread = NULL;
 
+    ASSERT(IsZeroMemory(&Fdo->SystemPowerIrps, sizeof(LIST_ENTRY)));
+    RtlZeroMemory(&Fdo->SystemPowerIrps, sizeof(LIST_ENTRY));
+
+    ASSERT(IsZeroMemory(&Fdo->DevicePowerIrps, sizeof(LIST_ENTRY)));
+    RtlZeroMemory(&Fdo->DevicePowerIrps, sizeof(LIST_ENTRY));
+
     Fdo->Type = XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN;
     Fdo->LowerDeviceObject = NULL;
     Fdo->PhysicalDeviceObject = NULL;
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Thu Jun 03 13:33:10 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 03 Jun 2021 13:33:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.136455.252988 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lonTA-0003Yr-5U; Thu, 03 Jun 2021 13:33:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 136455.252988; Thu, 03 Jun 2021 13:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lonTA-0003Yk-2U; Thu, 03 Jun 2021 13:33:08 +0000
Received: by outflank-mailman (input) for mailman id 136455;
 Thu, 03 Jun 2021 13:33:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SUdw=K5=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lonT9-0003Ye-5A
 for win-pv-devel@lists.xenproject.org; Thu, 03 Jun 2021 13:33:07 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 491c18b3-460d-45ed-a567-760ab6fc9952;
 Thu, 03 Jun 2021 13:33:05 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 491c18b3-460d-45ed-a567-760ab6fc9952
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1622727185;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=8bg0UgX0GGSv8ZRbGdb5EejK0xWkj7FkjXIa8Hm7Rvo=;
  b=SKXDlW7rp+petw4w/fRC/RVELPiZZBwz7KgSkengBaQjyuKVWHKwPJDZ
   nEnsgB6PsvH5mZjNMWLaxdG4WFUMY9LyuZXNtq4MmP2zztw3yVR6HXrUd
   lYkWePb5B6rGAbn5RVAOnxrwwimtZxclYF6F/+3XOJNlHFJgVJBZ4hxey
   I=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Zom/p0DOeuzOvi6FzwKpHIpUzc/md1vNMmtfOeO6U+XLbU2T8+g/yHTKa1wjhQKqPgGTXEmMma
 Iz2du8ut/ZzbynCtB9Qwtz2T0WXXNf0bAo4lcKTa/1ztfhq8sT/q/9y5Fm7zy7xRPdgots6i0Y
 i914M2MYY2q6wIZXaVCuZKVXL2ioR6DAD5RjOtNGRdscgNsGvt3VGp5OZiLXf+A93S/ymqg/0n
 4lUvS584TrotCjmt7L7c0T05WN5d4uY7ZyDBm0iNr165vxqR2rWpc8FyI4sHJ45iSbDgQ0eVcz
 E7U=
X-SBRS: 5.1
X-MesageID: 45265124
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:FjWdZ6GP+9ni1kCnpLqFLpHXdLJyesId70hD6qkvc31om52j+f
 xGws516fatskdvZJkh8erwX5VoMkmsi6KdgLNhfYtKOTOHhILGFvAY0WKP+UyEJ8S6zJ8g6U
 4CSdk8NDSTNykBsS+S2mDReLxMrKjlgcKVbKXlvgpQpGpRGsddBnJCe36m+zpNNXB77PQCZf
 6hz/sCgwDlVWUcb8y9CHVAdfPEvcf3mJXvZgNDLwI76SGV5AnYqoLSIly95FMzQjlPybAt/S
 zuiAri/JiutPm911v1y3LT1ZJLg9Hso+EzQfBky/JlbgkEuDzYIriJaIfy5QzdZ9vfsGrCpe
 O85CvI+f4DsE85MFvF+ycFkDOQoQrGo0WSuWNwx0GT/PAQgFkBepV8bUUzSGqE16NohqAP7E
 oAtVjpxKZ/HFfOmj/w6MPPUAwvnk2ooWA6mepWlHBHV5ACAYUh47D30XklXKvoJhiKp7zP0d
 MeRP0078wmMG9yr0qp81WH5ebcF0jbMi32NXTqi/blmQS+xkoJu3fw7PZv6Evo2qhNPqVs9q
 DYOq4tkLlPS6YtHOlAONs=
X-IronPort-AV: E=Sophos;i="5.83,246,1616472000"; 
   d="scan'208";a="45265124"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 1/2] Alias Target GetProjectInfoForReference for EWDK 20348 builds
Date: Thu, 3 Jun 2021 14:32:53 +0100
Message-ID: <20210603133254.565-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 vs2019/version/version.vcxproj               | 6 ++++++
 vs2019/xenbus_coinst/xenbus_coinst.vcxproj   | 6 ++++++
 vs2019/xenbus_monitor/xenbus_monitor.vcxproj | 6 ++++++
 3 files changed, 18 insertions(+)

diff --git a/vs2019/version/version.vcxproj b/vs2019/version/version.vcxproj
index 9d149d0..b6ec6f3 100644
--- a/vs2019/version/version.vcxproj
+++ b/vs2019/version/version.vcxproj
@@ -13,4 +13,10 @@
   <Target Name="Build">
     <Exec Command="powershell.exe -ExecutionPolicy Bypass -NoProfile -NonInteractive -File $(Script) $(Platform) $(SolutionDir) $(IncludeDir) $(SourceDir)" />
   </Target>
+  <Target Name="GetProjectInfoForReference"
+          Returns="@(ProjectInfoForReference)">
+    <ItemGroup>
+      <ProjectInfoForReference Include="@(LibFullPath)" />
+    </ItemGroup>
+  </Target>
 </Project>
diff --git a/vs2019/xenbus_coinst/xenbus_coinst.vcxproj b/vs2019/xenbus_coinst/xenbus_coinst.vcxproj
index df3cc04..b239210 100644
--- a/vs2019/xenbus_coinst/xenbus_coinst.vcxproj
+++ b/vs2019/xenbus_coinst/xenbus_coinst.vcxproj
@@ -58,4 +58,10 @@
     <None Include="..\..\src\coinst\xenbus_coinst.def" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <Target Name="GetProjectInfoForReference"
+          Returns="@(ProjectInfoForReference)">
+    <ItemGroup>
+      <ProjectInfoForReference Include="@(LibFullPath)" />
+    </ItemGroup>
+  </Target>
 </Project>
diff --git a/vs2019/xenbus_monitor/xenbus_monitor.vcxproj b/vs2019/xenbus_monitor/xenbus_monitor.vcxproj
index 8703bb5..4e4ccc5 100644
--- a/vs2019/xenbus_monitor/xenbus_monitor.vcxproj
+++ b/vs2019/xenbus_monitor/xenbus_monitor.vcxproj
@@ -74,4 +74,10 @@
     <ResourceCompile Include="..\..\src\monitor\xenbus_monitor.rc" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <Target Name="GetProjectInfoForReference"
+          Returns="@(ProjectInfoForReference)">
+    <ItemGroup>
+      <ProjectInfoForReference Include="@(LibFullPath)" />
+    </ItemGroup>
+  </Target>
 </Project>
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Thu Jun 03 13:33:13 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 03 Jun 2021 13:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.136456.252992 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lonTF-0003bZ-7H; Thu, 03 Jun 2021 13:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 136456.252992; Thu, 03 Jun 2021 13:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lonTF-0003bR-42; Thu, 03 Jun 2021 13:33:13 +0000
Received: by outflank-mailman (input) for mailman id 136456;
 Thu, 03 Jun 2021 13:33:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SUdw=K5=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lonTE-0003Ye-0k
 for win-pv-devel@lists.xenproject.org; Thu, 03 Jun 2021 13:33:12 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ef00c207-ebe4-4fdc-82a8-1a27801cf091;
 Thu, 03 Jun 2021 13:33:06 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef00c207-ebe4-4fdc-82a8-1a27801cf091
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1622727186;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=HmQnf0iv4rO/TpA8Za2caFzIEVc3zpOvtg2Nurb3zaE=;
  b=WV+KXzd7ZG1nsaqTSOatKqQNQrel4Q1aKXTZK7RsC2aR2kTE5h0QBYzf
   8ssKCK8mLF88QiOa6lcIc0K63r99hM6GJVg9qR+NdnaIQ2vqqUtCyleb0
   IsiS2F7Y5rSFC8zL/h/Cj3mZkDiLPBooCLyDNja4my9x0StcsNURZcvHh
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: UncsZEoOavT/MlUmlPUpzRFik9KjHrBup3Ga/O/U5h7Vhz0JC/70PMgoVfpWku8wkghuFYwvIi
 k2v/C0uJCKdRkgUX7MlMbIiK1zcPzxxaMFfs6uFJEkmodUMrpckK+4+v6ueGkED02fRmy9B2Va
 ZzaB4wWSsJg3QXY20zr1vS8AwEXR8r02NthTUG3BJJdU3HMLfn8knfYsQTlT0wdRafvylZNeeF
 XerC+ZcuEe+xZXF4aO+Y9zVEvAen+MRiFxjqMDPt8EbVnmaNCT7HJsim+Kc/T02oxZ433GMlKA
 n5A=
X-SBRS: 5.1
X-MesageID: 45336731
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:yuHk3qoTsUFg06v1EU5fvr8aV5vtL9V00zEX/kB9WHVpm5Oj9v
 xGzc506farslkssSkb6K+90KnpewK6yXcH2/huAV7CZninhILMFuFfBOTZskbd8kHFh4tgPO
 JbAtRD4b7LfBtHZKTBkXOF+r8bqbHtms3F9ISurUuFDzsaFp2IhD0JbDpzZ3cGPDWucqBJba
 Z0iPA3wwaISDAyVICWF3MFV+/Mq5ngj5T9eyMLABYh9U2nkS6owKSSKWnb4j4uFxd0hZsy+2
 nMlAL0oo+5teug9xPa32jPq7xLhdrazMdZDsDksLlRFtyssHftWG1SYczFgNkHmpD31L/sqq
 iVn/4UBbU115oWRBDvnfKi4Xi77N9k0Q6S9bbRuwqSnSW+fkNmNyKE7rgpLScwLCEbzY1BOe
 twrhCkX9A8N2KyoA3to9fPTB1kjUyyvD4rlvMSlWVWVc8EZKZWtpF3xjIaLH4sJlO31GkcKp
 ggMCgc3ocfTbqQVQGZgoCu+q3gYp0XJGbOfqEvgL3j79FmpgEy86JD/r1qop4pzuNKd3Br3Z
 WwDo140KxHRIsTZaJ5bd1xCveKNg==
X-IronPort-AV: E=Sophos;i="5.83,246,1616472000"; 
   d="scan'208";a="45336731"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 2/2] Fix warnings with new compiler
Date: Thu, 3 Jun 2021 14:32:54 +0100
Message-ID: <20210603133254.565-2-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
In-Reply-To: <20210603133254.565-1-owen.smith@citrix.com>
References: <20210603133254.565-1-owen.smith@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

- Disable C4061, enumerator 'value' in switch of 'type' is not explicitly
  handled by a case label
- C4063, case '3' is not a valid value for switch of enum '_XENBUS_STORE_PERMISSION_MASK'
  Adds XENBUS_STORE_PERM_READ_WRITE to _XENBUS_STORE_PERMISSION_MASK

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 include/store_interface.h      | 1 +
 src/xenbus/store.c             | 2 +-
 vs2019/xen/xen.vcxproj         | 2 +-
 vs2019/xenbus/xenbus.vcxproj   | 2 +-
 vs2019/xenfilt/xenfilt.vcxproj | 2 +-
 5 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/include/store_interface.h b/include/store_interface.h
index e1251dd..7742955 100644
--- a/include/store_interface.h
+++ b/include/store_interface.h
@@ -57,6 +57,7 @@ typedef enum _XENBUS_STORE_PERMISSION_MASK {
     XENBUS_STORE_PERM_NONE = 0,
     XENBUS_STORE_PERM_READ = 1,
     XENBUS_STORE_PERM_WRITE = 2,
+    XENBUS_STORE_PERM_READ_WRITE = 3,
 } XENBUS_STORE_PERMISSION_MASK;
 
 /*! \typedef XENBUS_STORE_PERMISSION
diff --git a/src/xenbus/store.c b/src/xenbus/store.c
index ce4c755..2fd2e19 100644
--- a/src/xenbus/store.c
+++ b/src/xenbus/store.c
@@ -1958,7 +1958,7 @@ StorePermissionToString(
         *Buffer = 'w';
         break;
 
-    case XENBUS_STORE_PERM_READ | XENBUS_STORE_PERM_WRITE:
+    case XENBUS_STORE_PERM_READ_WRITE:
         *Buffer = 'b';
         break;
 
diff --git a/vs2019/xen/xen.vcxproj b/vs2019/xen/xen.vcxproj
index 39b5bda..1bf6e1e 100644
--- a/vs2019/xen/xen.vcxproj
+++ b/vs2019/xen/xen.vcxproj
@@ -24,7 +24,7 @@
       <PreprocessorDefinitions>PROJECT=$(ProjectName);POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <DisableSpecificWarnings>4061;4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
       <EnablePREfast>true</EnablePREfast>
     </ClCompile>
diff --git a/vs2019/xenbus/xenbus.vcxproj b/vs2019/xenbus/xenbus.vcxproj
index ff40c43..85f21a8 100644
--- a/vs2019/xenbus/xenbus.vcxproj
+++ b/vs2019/xenbus/xenbus.vcxproj
@@ -24,7 +24,7 @@
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;..\..\src\common;</AdditionalIncludeDirectories>
       <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <DisableSpecificWarnings>4061;4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
       <EnablePREfast>true</EnablePREfast>
     </ClCompile>
diff --git a/vs2019/xenfilt/xenfilt.vcxproj b/vs2019/xenfilt/xenfilt.vcxproj
index b3ce00f..c797483 100644
--- a/vs2019/xenfilt/xenfilt.vcxproj
+++ b/vs2019/xenfilt/xenfilt.vcxproj
@@ -24,7 +24,7 @@
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;..\..\src\common;</AdditionalIncludeDirectories>
       <WarningLevel>EnableAllWarnings</WarningLevel>
-      <DisableSpecificWarnings>4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <DisableSpecificWarnings>4061;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
       <EnablePREfast>true</EnablePREfast>
     </ClCompile>
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Tue Jun 08 13:58:05 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jun 2021 13:58:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.138524.256417 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lqcF1-0003gi-R0; Tue, 08 Jun 2021 13:58:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 138524.256417; Tue, 08 Jun 2021 13:58:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lqcF1-0003gb-OD; Tue, 08 Jun 2021 13:58:03 +0000
Received: by outflank-mailman (input) for mailman id 138524;
 Tue, 08 Jun 2021 13:58:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LJnf=LC=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lqcF1-0003gV-0I
 for win-pv-devel@lists.xenproject.org; Tue, 08 Jun 2021 13:58:03 +0000
Received: from mail-wm1-x336.google.com (unknown [2a00:1450:4864:20::336])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4e0fa6ef-33bc-4a86-a120-380016791b64;
 Tue, 08 Jun 2021 13:58:02 +0000 (UTC)
Received: by mail-wm1-x336.google.com with SMTP id g204so1894035wmf.5
 for <win-pv-devel@lists.xenproject.org>; Tue, 08 Jun 2021 06:58:02 -0700 (PDT)
Received: from [192.168.1.186]
 (host86-190-159-65.range86-190.btcentralplus.com. [86.190.159.65])
 by smtp.gmail.com with ESMTPSA id n10sm22734066wre.95.2021.06.08.06.58.00
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 08 Jun 2021 06:58:00 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e0fa6ef-33bc-4a86-a120-380016791b64
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=/CUb/iRwYbL8WpdGmMhQYKth76z97ZP0pI31Ayx7rAs=;
        b=rEAPXUKWxcAUqbP6gf6Qg7sFjVnGt55IRWdtzZlnn1kcGxEETb+1ca5GoIkM6b9vbK
         F4JMP3aitq4UrmItxpIYLspkL2sG4KJAIhSxmroiq2YPr2FNcy/oSANOt11xS9W7l/n2
         GgvzIy7i0+0BdI+9b7s8yj6GrDfI5svfaGn32CWaZZbVO+gT2RifZJqbh1RSjCkUPYWo
         H5VosZ/zNZkPB2LCPGEXLvWlsIvzpYiSJzjPwdxbCTMtn0ZJKo/Hl8u6e2MCEqEczSzV
         ied7csSw9Qsv0sJTPVIpgI/RgwK2UpamjfV8khjDqMBSeK069PLdfTl7noWhTzHbw6gg
         xF4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=/CUb/iRwYbL8WpdGmMhQYKth76z97ZP0pI31Ayx7rAs=;
        b=eQXJd8liSq2QslCutYfNyPM+wtar02Mugyk9fC8IUUgBVC9VglZwv3kYPyC7d3Segl
         5B9+eszM2RtipQBDjluIa8rYC1iaHmHR9Z3+M5aY5/QMctZj+ehBVfp6FIECEJav24H1
         TrRFnNClYT8jOu8P3dWOTgtT5PWJVqu0b2bSLT5UEyEZzkGKnlS0j2lZDXpTDZB64Mog
         +6jRyLpS77T7v1rMVol6piP8uQ9M9yE4WRnxmlUHtTVdYHteZ/i2xVcZDPS6Adsi5G6T
         ezY2lTiNua0P26zJfVyGIQCCVpQDDFM+0rBZ9iqYb9vBbaJzS9N5tuqYCq0KfXG2RVow
         70YQ==
X-Gm-Message-State: AOAM533+5wmXD3OtfeDU5MjGGyXo9jUUfDMBTXMsLYgoCP1sARSVURhT
	68QlNYUEANS1IexX6pQB5eowHZ7wIPGPlip+
X-Google-Smtp-Source: ABdhPJyJ8E+JOFUDHYrp/6RzyGCtrgNXdjf1tXy9D3lgv82Y/ha8gKIno/aZ+crjSKnsC8/2rdTzrA==
X-Received: by 2002:a7b:cf18:: with SMTP id l24mr4262050wmg.160.1623160681299;
        Tue, 08 Jun 2021 06:58:01 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/2] Alias Target GetProjectInfoForReference for EWDK
 20348 builds
To: win-pv-devel@lists.xenproject.org
References: <20210603133254.565-1-owen.smith@citrix.com>
Message-ID: <27c9135f-e0d5-7c88-31a3-213e9254f905@xen.org>
Date: Tue, 8 Jun 2021 14:58:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.10.2
MIME-Version: 1.0
In-Reply-To: <20210603133254.565-1-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 03/06/2021 14:32, Owen Smith wrote:
> Signed-off-by: Owen Smith <owen.smith@citrix.com>
> ---
>   vs2019/version/version.vcxproj               | 6 ++++++
>   vs2019/xenbus_coinst/xenbus_coinst.vcxproj   | 6 ++++++
>   vs2019/xenbus_monitor/xenbus_monitor.vcxproj | 6 ++++++

Is it sufficient to modify just these three? Could you add some text in 
the commit message to explain what this new target is?

   Cheers,

     Paul

>   3 files changed, 18 insertions(+)
> 
> diff --git a/vs2019/version/version.vcxproj b/vs2019/version/version.vcxproj
> index 9d149d0..b6ec6f3 100644
> --- a/vs2019/version/version.vcxproj
> +++ b/vs2019/version/version.vcxproj
> @@ -13,4 +13,10 @@
>     <Target Name="Build">
>       <Exec Command="powershell.exe -ExecutionPolicy Bypass -NoProfile -NonInteractive -File $(Script) $(Platform) $(SolutionDir) $(IncludeDir) $(SourceDir)" />
>     </Target>
> +  <Target Name="GetProjectInfoForReference"
> +          Returns="@(ProjectInfoForReference)">
> +    <ItemGroup>
> +      <ProjectInfoForReference Include="@(LibFullPath)" />
> +    </ItemGroup>
> +  </Target>
>   </Project>
> diff --git a/vs2019/xenbus_coinst/xenbus_coinst.vcxproj b/vs2019/xenbus_coinst/xenbus_coinst.vcxproj
> index df3cc04..b239210 100644
> --- a/vs2019/xenbus_coinst/xenbus_coinst.vcxproj
> +++ b/vs2019/xenbus_coinst/xenbus_coinst.vcxproj
> @@ -58,4 +58,10 @@
>       <None Include="..\..\src\coinst\xenbus_coinst.def" />
>     </ItemGroup>
>     <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
> +  <Target Name="GetProjectInfoForReference"
> +          Returns="@(ProjectInfoForReference)">
> +    <ItemGroup>
> +      <ProjectInfoForReference Include="@(LibFullPath)" />
> +    </ItemGroup>
> +  </Target>
>   </Project>
> diff --git a/vs2019/xenbus_monitor/xenbus_monitor.vcxproj b/vs2019/xenbus_monitor/xenbus_monitor.vcxproj
> index 8703bb5..4e4ccc5 100644
> --- a/vs2019/xenbus_monitor/xenbus_monitor.vcxproj
> +++ b/vs2019/xenbus_monitor/xenbus_monitor.vcxproj
> @@ -74,4 +74,10 @@
>       <ResourceCompile Include="..\..\src\monitor\xenbus_monitor.rc" />
>     </ItemGroup>
>     <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
> +  <Target Name="GetProjectInfoForReference"
> +          Returns="@(ProjectInfoForReference)">
> +    <ItemGroup>
> +      <ProjectInfoForReference Include="@(LibFullPath)" />
> +    </ItemGroup>
> +  </Target>
>   </Project>
> 



From win-pv-devel-bounces@lists.xenproject.org Tue Jun 08 14:00:33 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Jun 2021 14:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.138530.256422 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lqcHR-0004a5-2M; Tue, 08 Jun 2021 14:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 138530.256422; Tue, 08 Jun 2021 14:00:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lqcHQ-0004Zx-VL; Tue, 08 Jun 2021 14:00:32 +0000
Received: by outflank-mailman (input) for mailman id 138530;
 Tue, 08 Jun 2021 14:00:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LJnf=LC=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lqcHQ-0004Zr-HF
 for win-pv-devel@lists.xenproject.org; Tue, 08 Jun 2021 14:00:32 +0000
Received: from mail-wm1-x32b.google.com (unknown [2a00:1450:4864:20::32b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 20e8b4da-0097-4f0e-bcfe-00f9d24deabf;
 Tue, 08 Jun 2021 14:00:31 +0000 (UTC)
Received: by mail-wm1-x32b.google.com with SMTP id h3so1901728wmq.3
 for <win-pv-devel@lists.xenproject.org>; Tue, 08 Jun 2021 07:00:31 -0700 (PDT)
Received: from [192.168.1.186]
 (host86-190-159-65.range86-190.btcentralplus.com. [86.190.159.65])
 by smtp.gmail.com with ESMTPSA id z11sm19161140wrs.7.2021.06.08.07.00.30
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 08 Jun 2021 07:00:30 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20e8b4da-0097-4f0e-bcfe-00f9d24deabf
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=eRQeWQaF8YuKXuO09e9E7Ej2CU6Ne4M4Wt75dOpm64c=;
        b=Vt/DMWZYoMlLIrjvO6wf04vD/ESz7T1wuQG93E8GNwi8S6j+9XDWoGPbGiNGZESYlb
         pw8dBFSEyYJ8HvCY4VX32mFFC4GzSuoQ5Ke+DwNTcN97P6E6YRatwOTgdjmDA8uMuOhE
         n/QN+h5JHU+rgricQsMPpR6X6VL/eZR35MtqqIle6wgmrbS9zOpug+T8ywUMLmsqiPCX
         LMnH3OyEXJw5zsr5lSQ5qSwi8m25IJ7ipkkWjhZO9f91h3aMjDvmjFHaZ8whmpBPU2Vh
         3ZoMkADy3xF5ljzGjgd65tLByJrhoUJINDRczoFhh9V1oTRBXgfJUHP/qDmFPXVlidRM
         9eJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=eRQeWQaF8YuKXuO09e9E7Ej2CU6Ne4M4Wt75dOpm64c=;
        b=hUa/KH4ajY3BjO9/I8DFRF+uDoHbdz/DcIN0Nk5TJ0I9wtmwqjPoIl0+Sqw6hy8t0x
         Z25v8YOHo0qMkJ9vjEEN8rkxx5eTF6OFdmvOeRHYbFaEsXIrY/l8xbKyD4tXL/K0iD12
         ru8jkLREgPMyHhsYBthl2TxL5IcGzHtqgCRf1/s+QyzxhSefAL5hbbjobVqqZtg5Fp8u
         g45VOhMTK6Md+1JqP6HEJKJqyKhBsIer744GlcaDo1b++W4xfOa30CtcNz0IaD3gAzWE
         tkIJYHoDq3KHM7VyU92DHzDa3oO/GeUmVVpO6/w+3+S1B0qJiH7mwJzDgUUAkc+mgB3s
         nY8A==
X-Gm-Message-State: AOAM532nNM8uxNvB5eG56o+2YMqzCI810U8zDFtlmNwz0TDyomBL8iYp
	dPfHeWxMB7q1SEp59aj1Zcng4oaP/6TYmari
X-Google-Smtp-Source: ABdhPJywAmukmSqQcJ3602hTCJ2fAV+2U74MtL/3LpvXHQk4WkrnqrW3/DlxfHAxwCMYBD/58YpWeQ==
X-Received: by 2002:a1c:4b12:: with SMTP id y18mr22177105wma.70.1623160830847;
        Tue, 08 Jun 2021 07:00:30 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/2] Fix warnings with new compiler
To: win-pv-devel@lists.xenproject.org
References: <20210603133254.565-1-owen.smith@citrix.com>
 <20210603133254.565-2-owen.smith@citrix.com>
Message-ID: <8bf0c275-3756-e227-8dfa-7f1b8b756c77@xen.org>
Date: Tue, 8 Jun 2021 15:00:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.10.2
MIME-Version: 1.0
In-Reply-To: <20210603133254.565-2-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 03/06/2021 14:32, Owen Smith wrote:
> - Disable C4061, enumerator 'value' in switch of 'type' is not explicitly
>    handled by a case label
> - C4063, case '3' is not a valid value for switch of enum '_XENBUS_STORE_PERMISSION_MASK'
>    Adds XENBUS_STORE_PERM_READ_WRITE to _XENBUS_STORE_PERMISSION_MASK
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>
> ---
>   include/store_interface.h      | 1 +
>   src/xenbus/store.c             | 2 +-
>   vs2019/xen/xen.vcxproj         | 2 +-
>   vs2019/xenbus/xenbus.vcxproj   | 2 +-
>   vs2019/xenfilt/xenfilt.vcxproj | 2 +-
>   5 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/include/store_interface.h b/include/store_interface.h
> index e1251dd..7742955 100644
> --- a/include/store_interface.h
> +++ b/include/store_interface.h
> @@ -57,6 +57,7 @@ typedef enum _XENBUS_STORE_PERMISSION_MASK {
>       XENBUS_STORE_PERM_NONE = 0,
>       XENBUS_STORE_PERM_READ = 1,
>       XENBUS_STORE_PERM_WRITE = 2,
> +    XENBUS_STORE_PERM_READ_WRITE = 3,
>   } XENBUS_STORE_PERMISSION_MASK;
>   
>   /*! \typedef XENBUS_STORE_PERMISSION
> diff --git a/src/xenbus/store.c b/src/xenbus/store.c
> index ce4c755..2fd2e19 100644
> --- a/src/xenbus/store.c
> +++ b/src/xenbus/store.c
> @@ -1958,7 +1958,7 @@ StorePermissionToString(
>           *Buffer = 'w';
>           break;
>   
> -    case XENBUS_STORE_PERM_READ | XENBUS_STORE_PERM_WRITE:
> +    case XENBUS_STORE_PERM_READ_WRITE:

Really? The compiler can't figure that the 1|2 == 3 for itself? If we 
have to have this nonsense then could you call it 
"XENBUS_STORE_PERM_BOTH" (which better explains the 'b' below)?

   Thanks,

     Paul

>           *Buffer = 'b';
>           break;
>   
> diff --git a/vs2019/xen/xen.vcxproj b/vs2019/xen/xen.vcxproj
> index 39b5bda..1bf6e1e 100644
> --- a/vs2019/xen/xen.vcxproj
> +++ b/vs2019/xen/xen.vcxproj
> @@ -24,7 +24,7 @@
>         <PreprocessorDefinitions>PROJECT=$(ProjectName);POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
>         <IntrinsicFunctions>true</IntrinsicFunctions>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
> -      <DisableSpecificWarnings>4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
> +      <DisableSpecificWarnings>4061;4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
>         <MultiProcessorCompilation>true</MultiProcessorCompilation>
>         <EnablePREfast>true</EnablePREfast>
>       </ClCompile>
> diff --git a/vs2019/xenbus/xenbus.vcxproj b/vs2019/xenbus/xenbus.vcxproj
> index ff40c43..85f21a8 100644
> --- a/vs2019/xenbus/xenbus.vcxproj
> +++ b/vs2019/xenbus/xenbus.vcxproj
> @@ -24,7 +24,7 @@
>         <IntrinsicFunctions>true</IntrinsicFunctions>
>         <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;..\..\src\common;</AdditionalIncludeDirectories>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
> -      <DisableSpecificWarnings>4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
> +      <DisableSpecificWarnings>4061;4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
>         <MultiProcessorCompilation>true</MultiProcessorCompilation>
>         <EnablePREfast>true</EnablePREfast>
>       </ClCompile>
> diff --git a/vs2019/xenfilt/xenfilt.vcxproj b/vs2019/xenfilt/xenfilt.vcxproj
> index b3ce00f..c797483 100644
> --- a/vs2019/xenfilt/xenfilt.vcxproj
> +++ b/vs2019/xenfilt/xenfilt.vcxproj
> @@ -24,7 +24,7 @@
>         <IntrinsicFunctions>true</IntrinsicFunctions>
>         <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;..\..\src\common;</AdditionalIncludeDirectories>
>         <WarningLevel>EnableAllWarnings</WarningLevel>
> -      <DisableSpecificWarnings>4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
> +      <DisableSpecificWarnings>4061;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
>         <MultiProcessorCompilation>true</MultiProcessorCompilation>
>         <EnablePREfast>true</EnablePREfast>
>       </ClCompile>
> 



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 14 08:59:04 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jun 2021 08:59:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.141263.260991 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lsiQv-0000PG-IK; Mon, 14 Jun 2021 08:59:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 141263.260991; Mon, 14 Jun 2021 08:59:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lsiQv-0000P7-EQ; Mon, 14 Jun 2021 08:59:01 +0000
Received: by outflank-mailman (input) for mailman id 141263;
 Mon, 14 Jun 2021 08:59:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w1M1=LI=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lsiQu-0000OE-IS
 for win-pv-devel@lists.xenproject.org; Mon, 14 Jun 2021 08:59:00 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ef0184c9-cfa4-4d1e-9483-6447af57824d;
 Mon, 14 Jun 2021 08:58:58 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef0184c9-cfa4-4d1e-9483-6447af57824d
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1623661138;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=cFV0UDZMTQnnw0oc1JiEEZlLLZauGbkHxzj4sam9BAI=;
  b=MvkL52bk8qzpOimxqkEXs/QegmwwWB5HOPqgESveBedeLp0e1awNMl3k
   /rrs0yTTiPojQfwWSat8j5Nmy0DNa+HeaP3dS377UBmyz7+KFOIcEPCGY
   tNd2C21zHdbLskLOBJX/Xvngv68K9avjQzStD5midCyrLaVTZjNx+/V3r
   Q=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: ovPe8PfZOPPNhh42N/w7qIi/Xyvp6GAG/q+ImXu92DouTugahgvLQuV3KVUeP9CPoUJmEuLmHK
 FNdBOdvV6j1LZ4cbsE3sA2xlNlPIHsTKyEzylWEUvygl+s6VCamOXaMot+d0MaAzRUwPdykmHa
 BSFo0LVXxsY/sBChWQt686DdGFKVE2Jb9x4d7RmxRhAh7KQfGZzxVFCV23ibwg6MUO06di4yuJ
 NaGOhvIIfwZsqZ7T0HsUE+vAq63+Ey1MDwvgQYKNo70f72tGp8D7AnVH1llknTb692hYQAvNEj
 0HA=
X-SBRS: 5.1
X-MesageID: 46116656
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Dg37w66kEVBDq+JgYgPXwMTXdLJyesId70hD6qhwISY6TiX+rb
 HLoB17726TtN9/YhEdcLy7VJVoIkmskKKdg7NhXotKNTOO0ADDQb2KhbGSpAEIcBeeygcy78
 hdmtBFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.83,273,1616472000"; 
   d="scan'208";a="46116656"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 1/2] Match __FreePage with __AllocatePage calls
Date: Mon, 14 Jun 2021 09:50:05 +0100
Message-ID: <20210614085005.1277-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Replace __FreePages with __FreePage when the memory was allocated with
__AllocatePage. This is a cosmetic change, as __FreePage is an alias for
__FreePages

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenvbd/adapter.c | 2 +-
 src/xenvbd/ring.c    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/xenvbd/adapter.c b/src/xenvbd/adapter.c
index 67dd14c..9fd2abc 100644
--- a/src/xenvbd/adapter.c
+++ b/src/xenvbd/adapter.c
@@ -1166,7 +1166,7 @@ AdapterBounceDtor(
 
     Bounce->BouncePtr = NULL;
 
-    __FreePages(Bounce->BounceMdl);
+    __FreePage(Bounce->BounceMdl);
     Bounce->BounceMdl = NULL;
 }
 
diff --git a/src/xenvbd/ring.c b/src/xenvbd/ring.c
index bfe62a8..66e8cdd 100644
--- a/src/xenvbd/ring.c
+++ b/src/xenvbd/ring.c
@@ -494,7 +494,7 @@ BlkifRingIndirectDtor(
 
     UNREFERENCED_PARAMETER(Argument);
 
-    __FreePages(Indirect->Mdl);
+    __FreePage(Indirect->Mdl);
     Indirect->Page = NULL;
     Indirect->Mdl = NULL;
 }
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 14 09:01:29 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 14 Jun 2021 09:01:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.141269.260995 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lsiTI-0001Dg-On; Mon, 14 Jun 2021 09:01:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 141269.260995; Mon, 14 Jun 2021 09:01:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lsiTI-0001DZ-La; Mon, 14 Jun 2021 09:01:28 +0000
Received: by outflank-mailman (input) for mailman id 141269;
 Mon, 14 Jun 2021 09:01:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Rf4X=LI=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lsiTH-0001DT-Fa
 for win-pv-devel@lists.xenproject.org; Mon, 14 Jun 2021 09:01:27 +0000
Received: from mail-wm1-x334.google.com (unknown [2a00:1450:4864:20::334])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a72cb3b7-7d3c-44b4-8249-124651a302d1;
 Mon, 14 Jun 2021 09:01:26 +0000 (UTC)
Received: by mail-wm1-x334.google.com with SMTP id g204so11647688wmf.5
 for <win-pv-devel@lists.xenproject.org>; Mon, 14 Jun 2021 02:01:26 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec?
 ([2a00:23c5:5785:9a01:ad9a:ab78:5748:a7ec])
 by smtp.gmail.com with ESMTPSA id f5sm16590182wrf.22.2021.06.14.02.01.24
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 14 Jun 2021 02:01:24 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a72cb3b7-7d3c-44b4-8249-124651a302d1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=hzgj9JYwDPhUL4y8Oxu+dioYhgo6OZkyWTr3Mn4ZF3o=;
        b=PI7dLbndTe2J6ekBUeJG/Ar0RGgTi3epNSbxcDxBAd9Pn3SAb1qo/dLKXyAdswGJz0
         xm2gnR4ekB8EhsK1e4PoFar7Br5Nlr/RgJRfCXPGfKyZgz+9+ZcPVzShPniRNw8dKZFP
         sBSqn98sEoHhSfimNF5i2SeGvRzghl8RokIFpj317bT98eHLgNeeH1DskJXd2nRCoawv
         ASOh8LfVcEnz4rM3Eaj4qLrEq8u9/BoD41rNOsGjy6/0K7cIcBFVmdZ1ZTk3U1cDu8ZR
         M5dOdIm36wanLSwoEctgN8x0gs5AgPuqUw0q/yPNmgn+R5q/zeCDC2ZF6aqRAFW0fi47
         cxaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=hzgj9JYwDPhUL4y8Oxu+dioYhgo6OZkyWTr3Mn4ZF3o=;
        b=ND3e+12unKioc2s4wUfppJkWk6Z4CkAJw96V6nHh3k4xZw3v0K5Uooht3i5E+ZplKO
         LDorIuaebbDJYr49hmCif09PVb3Cp4e/8jX3Z2K8SokUyXAmwy05MVI9TQZLZjr5K4+c
         eZ0xGBMjNEa2khqRvzJhl6BhcQuAhLJNLGuNGafO3FC2na0eVUrPnp6SPrT7vFHb/U0D
         p8oOEE/Y2R1wdeBtxcJIfxEUJoDqp5sbZ9QT/D7MfbNscRVijU+eZtf0K5S+xR9HJ8e7
         X2ZsNgwWlyRpYxnbqiVIf7mZId2FV2ywoK3wSuqMIah48+l8IrJ2hSNGD08g+tLXUQho
         +84w==
X-Gm-Message-State: AOAM530EHPJoctGGBBXJQyt4GfIY4LUWLbeMbHkC+13x+TD9y9ODqxqp
	22mFoOcN3yVhx4rU5Mlaa7L+0p/0K4D9hQ==
X-Google-Smtp-Source: ABdhPJyyF8W7nmJo4wS2sBLDbC9CqwY3Wv/6pjgSi3Vltcu6UVuvy5YeaDYHwMAiTVlGSBC5a+ReFg==
X-Received: by 2002:a7b:c446:: with SMTP id l6mr15655816wmi.64.1623661284972;
        Mon, 14 Jun 2021 02:01:24 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/2] Match __FreePage with __AllocatePage calls
To: win-pv-devel@lists.xenproject.org
References: <20210614085005.1277-1-owen.smith@citrix.com>
Message-ID: <d8d9fc45-2117-347b-2e27-3543b1df6d56@xen.org>
Date: Mon, 14 Jun 2021 10:01:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210614085005.1277-1-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 14/06/2021 09:50, Owen Smith wrote:
> Replace __FreePages with __FreePage when the memory was allocated with
> __AllocatePage. This is a cosmetic change, as __FreePage is an alias for
> __FreePages
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   src/xenvbd/adapter.c | 2 +-
>   src/xenvbd/ring.c    | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/xenvbd/adapter.c b/src/xenvbd/adapter.c
> index 67dd14c..9fd2abc 100644
> --- a/src/xenvbd/adapter.c
> +++ b/src/xenvbd/adapter.c
> @@ -1166,7 +1166,7 @@ AdapterBounceDtor(
>   
>       Bounce->BouncePtr = NULL;
>   
> -    __FreePages(Bounce->BounceMdl);
> +    __FreePage(Bounce->BounceMdl);
>       Bounce->BounceMdl = NULL;
>   }
>   
> diff --git a/src/xenvbd/ring.c b/src/xenvbd/ring.c
> index bfe62a8..66e8cdd 100644
> --- a/src/xenvbd/ring.c
> +++ b/src/xenvbd/ring.c
> @@ -494,7 +494,7 @@ BlkifRingIndirectDtor(
>   
>       UNREFERENCED_PARAMETER(Argument);
>   
> -    __FreePages(Indirect->Mdl);
> +    __FreePage(Indirect->Mdl);
>       Indirect->Page = NULL;
>       Indirect->Mdl = NULL;
>   }
> 



From win-pv-devel-bounces@lists.xenproject.org Thu Jun 17 12:34:07 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jun 2021 12:34:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.143930.265063 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrDh-000297-G6; Thu, 17 Jun 2021 12:34:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 143930.265063; Thu, 17 Jun 2021 12:34:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrDh-00028z-D7; Thu, 17 Jun 2021 12:34:05 +0000
Received: by outflank-mailman (input) for mailman id 143930;
 Thu, 17 Jun 2021 12:34:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FoSe=LL=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1ltrDg-00028t-AD
 for win-pv-devel@lists.xenproject.org; Thu, 17 Jun 2021 12:34:04 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 874db0ea-d46a-4c14-92a5-a86d4076a56e;
 Thu, 17 Jun 2021 12:34:02 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 874db0ea-d46a-4c14-92a5-a86d4076a56e
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1623933242;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=7H8jkFe2XtilZqdLoLWUu71hQ4YtBt+1dxTEt2Sgu7g=;
  b=NYyKLbFpnL7ng41abY8+32DtgkFUJDLXUMIx2dt2f0KF6gIqi2oUno1n
   VnBKaARwkSCrrcgHurp/K4d1eHXkXgH619uCKTOy0GuVc52OxmqXP15tt
   GjAQJAFJcOy5w9Q7iqIKFm3bqhLaaPtFczjTexf/UPTcIV33lB9DagZmT
   8=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: M9s9PzfK5UldMFLCHYE+h7i0giomwhul4+m40XeTgqP72OwPWB9NPqej0/eKJGQ0qkSKWhnsPa
 Fwu12tp0p7C0GqwZFl92rmxTL7b/KF3vYtUIvNyF1xPJdNjG8HwlTv9jUaKXA/s2S5bpTn1Oqs
 0n2j2uVQdvpDseGq/pg0MWNMxMSdpPCXY6rKzNrBsr0hqNGAy8ib0ppPuOZPL8IuUyGLsjAx98
 j13NLSIl+e97voiIObhw33VN9hlrc+GdMr7AA7nQ/FKSUkfxeMRWAuPNwFX1W5mg7Vtkvr4BKL
 Feg=
X-SBRS: 5.1
X-MesageID: 47941190
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:2AZmTa98N2gCZqk0O+Zuk+AsI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc6Ax/ZJh3o6H/BEDmewKhyXcV2/htAV7GZmXbUQSTXeNfBOfZsljd8mjFh5dgPM
 RbAtJD4b/LfD5HZJ3BkXiF+r8bqbHmgcOVbKXlvg9QpGdRGsVdBmxCe32m+yNNNW577ZRQLu
 vi2iMRnUvRRV0nKv+JKD0sY9XjzuekqLvWJSU0KVoMzSG1t3eJxdfBciSl4g==
X-IronPort-AV: E=Sophos;i="5.83,280,1616472000"; 
   d="scan'208";a="47941190"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 1/6] Clear unplug keys if Active device is not the Vendor device
Date: Thu, 17 Jun 2021 13:33:51 +0100
Message-ID: <20210617123356.582-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

When a VM has both Vendor device and the standard device, upgrades can be made
for XenBus on the inactive device. In this case, the driver binaries are
replaced but the coinstaller is not executed for the Active device, leading to
the unplug keys remaining. When the VM is rebooted to complete the driver
installation, both the Active and Inactive devices will use the new driver
binaries, but the Active device will require the child devices rebinding to the
potentially new hardware IDs exposed by the newer binary. This is not possible
during early boot, and the absence of an emulated disk and not being able to
enumerate the PV disk will result in a 0x7B bugcheck.
The Vendor device is designed to be the prefered device, but is not required
to be the active device (this is the case if the VMs configuration is changed
after the drivers have been installed).
It is possible to detect if the Active device is not the Vendor device during
the Active device coinstaller, and clear the Unplug keys to avoid the problem
where the VM will attempt to boot with unplugged emulated disks and PV disks
that require rebinding, which results in a 0x7B bugcheck.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/coinst/coinst.c | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
index b269df0..c29ce59 100644
--- a/src/coinst/coinst.c
+++ b/src/coinst/coinst.c
@@ -1361,7 +1361,8 @@ static BOOLEAN
 IsActiveDevice(
     IN  HDEVINFO            DeviceInfoSet,
     IN  PSP_DEVINFO_DATA    DeviceInfoData,
-    OUT PBOOLEAN            ActiveDevice
+    OUT PBOOLEAN            ActiveDevice,
+    OUT PBOOLEAN            VendorIsActive
     )
 {
     PTCHAR                  ActiveDeviceID;
@@ -1392,6 +1393,20 @@ IsActiveDevice(
         TRUE :
         FALSE;
 
+#ifdef VENDOR_DEVICE_ID_STR
+
+#define DRIVER_VENDOR_DEVICE_ID "PCI\\VEN_5853&DEV_" ## VENDOR_DEVICE_ID_STR ## "&SUBSYS_C0005853&REV_01"
+
+    *VendorIsActive = (_stricmp(ActiveDeviceID, DRIVER_VENDOR_DEVICE_ID) == 0) ?
+        TRUE :
+        FALSE;
+
+#undef DRIVER_VENDOR_DEVICE_ID
+
+#else
+    *VendorIsActive = FALSE;
+#endif
+
     free(DeviceID);
     free(InstanceID);
 
@@ -1778,6 +1793,7 @@ DifInstallPostProcess(
 {
     BOOLEAN                         NewBinding;
     BOOLEAN                         Active;
+    BOOLEAN                         VendorIsActive;
 
     Log("====>");
 
@@ -1787,12 +1803,13 @@ DifInstallPostProcess(
 
     (VOID) IsActiveDevice(DeviceInfoSet,
                           DeviceInfoData,
-                          &Active);
+                          &Active,
+                          &VendorIsActive);
 
     Log("Active = %s", Active ? "TRUE" : "FALSE");
     Log("NewBinding = %s", NewBinding ? "TRUE" : "FALSE");
 
-    if (Active && NewBinding) {
+    if ((Active && NewBinding) || !VendorIsActive) {
         (VOID) ClearUnplugRequest("DISKS");
         (VOID) ClearUnplugRequest("NICS");
     }
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Thu Jun 17 12:34:10 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jun 2021 12:34:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.143931.265067 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrDm-0002BE-Hs; Thu, 17 Jun 2021 12:34:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 143931.265067; Thu, 17 Jun 2021 12:34:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrDm-0002B6-Ea; Thu, 17 Jun 2021 12:34:10 +0000
Received: by outflank-mailman (input) for mailman id 143931;
 Thu, 17 Jun 2021 12:34:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FoSe=LL=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1ltrDl-00028t-5c
 for win-pv-devel@lists.xenproject.org; Thu, 17 Jun 2021 12:34:09 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d72d744c-5bcb-4d83-8c14-2d55b6616ddc;
 Thu, 17 Jun 2021 12:34:04 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d72d744c-5bcb-4d83-8c14-2d55b6616ddc
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1623933244;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=rJ92CrKdcAv/Qo+638+HaUEXUF9OaEZePTkXjZF3HuU=;
  b=C221r1g03hFXD+rqZq0mrRmeStbAYaduAeCZ6co+9LuD+m9pJ5fLKPWQ
   E3y/2MaSgvdxvgdHk+3BpBjG2Yr3wm3L6keBoYzGFe62zHLWDTt21Av7g
   bLhKcPer0WGm7Cm0MDSZJNg9Q2Ss8Svaw5ZwsJ3hSpAqSStNtIhblj8m4
   s=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 23kccZJEjkDhGeCkq685sUzDhg/cRGga7K+cuZIC7hZBb8LsEsB++V1lFWTtRkTo6dQ+YQsh37
 hcx85xHf2va8l+pvh9mB2Opo/RYe37WfkH+abnq9ghb8ohvcN6j7wcZbxtiEZPpB/zz2f9igZO
 i4w7V6EWp9yecI5OinMTccSkbmE3a0SrbJAsk6TqPWdzzpj+K805dAn/b1lSJX7UI1zCC4ZZQq
 n/1yxgeBNRFDOH2siBsQuTPRrTCZBv8deK7NUkAJfbUfgUNxtfiWwiCJ/IR1Uc2xnmD9beSiyE
 tFs=
X-SBRS: 5.1
X-MesageID: 47941191
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:NFc+FKzLibT0Tj470jdwKrPw2L1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYVYqN03Iz+rwRpVoJkmsiaKdgLNhQItKOTOLhILGFvAB0WKP+UyEJ8S6zJ8l6U
 4CSdkFNDSTNykdsS+g2njILz9I+rDukNHKuQ6d9QYUcegNUdAF0+4TMHfhLqQZfnggOXI2fK
 Dsmfav8ADQCUg/X4CBNVdAd9T/hrTw+q7OUFo8NDBiwiyntwntyJOSKXml4is=
X-IronPort-AV: E=Sophos;i="5.83,280,1616472000"; 
   d="scan'208";a="47941191"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 2/6] Skip stale device config when checking child compatibility
Date: Thu, 17 Jun 2021 13:33:52 +0100
Message-ID: <20210617123356.582-2-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
In-Reply-To: <20210617123356.582-1-owen.smith@citrix.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

When a device is updated, the Enum key for the old binding is not deleted.
This can lead to a device binding that is not in use (has been replaced by
a later binding) triggering the coinstaller to fail the upgrade to a newer
version. This is especially prevelent when the older stale information was
bound to a revision that is not present in the new driver INF file.

This fix ignores the stale entries under the Enum key when performing the
compatibility checks.

e.g.
tag 8.2.1 has 0x08000009 to 0x08000009 for its bindings
tag 9.0.0 has 0x08000009 to 0x09000007 for its bindings
commit a9631142d0be removed v8 revisions, leaving only 0x0900000x revisions
It should be possible to upgrade from tag 8.2.1 to tag 9.0.0 and then to
commits after a9631142d0be. At each stage of this upgrade, the revisions
overlap, even if the initial and end revisions do not have an overlap.
It is not possible to upgrade directly from tag 8.2.1 to commit a9631142d0be,
as there is no common revision that can be used.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/coinst/coinst.c | 37 +++++++++++++++++++++++++++++++------
 1 file changed, 31 insertions(+), 6 deletions(-)

diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
index c29ce59..8dc290c 100644
--- a/src/coinst/coinst.c
+++ b/src/coinst/coinst.c
@@ -575,7 +575,8 @@ fail1:
 static BOOLEAN
 GetDriverKeyName(
     IN  HKEY    DeviceKey,
-    OUT PTCHAR  *Name
+    OUT PTCHAR  *Name,
+    OUT DWORD   *ConfigFlags
     )
 {
     HRESULT     Error;
@@ -586,6 +587,7 @@ GetDriverKeyName(
     DWORD       Index;
     HKEY        SubKey;
     PTCHAR      DriverKeyName;
+    DWORD       Flags;
 
     Error = RegQueryInfoKey(DeviceKey,
                             NULL,
@@ -612,9 +614,11 @@ GetDriverKeyName(
 
     SubKey = NULL;
     DriverKeyName = NULL;
+    Flags = 0;
 
     for (Index = 0; Index < SubKeys; Index++) {
         DWORD       MaxValueLength;
+        DWORD       ConfigFlagsLength;
         DWORD       DriverKeyNameLength;
         DWORD       Type;
 
@@ -661,6 +665,18 @@ GetDriverKeyName(
             goto fail4;
         }
 
+        ConfigFlagsLength = (DWORD)sizeof(DWORD);
+
+        Error = RegQueryValueEx(SubKey,
+                                "ConfigFlags",
+                                NULL,
+                                &Type,
+                                (LPBYTE)&Flags,
+                                &ConfigFlagsLength);
+        if (Error != ERROR_SUCCESS ||
+            Type != REG_DWORD)
+            Flags = 0;
+
         DriverKeyNameLength = MaxValueLength + sizeof (TCHAR);
 
         DriverKeyName = calloc(1, DriverKeyNameLength);
@@ -679,6 +695,7 @@ GetDriverKeyName(
 
         free(DriverKeyName);
         DriverKeyName = NULL;
+        Flags = 0;
 
         RegCloseKey(SubKey);
         SubKey = NULL;
@@ -692,6 +709,8 @@ GetDriverKeyName(
     free(SubKeyName);
 
     *Name = DriverKeyName;
+    if (ConfigFlags)
+        *ConfigFlags = Flags;
     return TRUE;
 
 fail5:
@@ -851,7 +870,7 @@ found:
         goto fail3;
 
     // Check for a bound driver
-    Success = GetDriverKeyName(DeviceKey, &DriverKeyName);
+    Success = GetDriverKeyName(DeviceKey, &DriverKeyName, NULL);
     if (!Success)
         goto fail4;
 
@@ -1452,6 +1471,7 @@ SupportChildDrivers(
     PTCHAR          SubKeyName;
     HKEY            DeviceKey;
     PTCHAR          DriverKeyName;
+    DWORD           ConfigFlags;
     HKEY            DriverKey;
     PTCHAR          MatchingDeviceID;
     DWORD           Index;
@@ -1511,20 +1531,23 @@ SupportChildDrivers(
         if (!Success)
             goto fail5;
 
-        Success = GetDriverKeyName(DeviceKey, &DriverKeyName);
+        Success = GetDriverKeyName(DeviceKey, &DriverKeyName, &ConfigFlags);
         if (!Success)
             goto fail6;
 
         if (DriverKeyName == NULL)
             goto loop1;
 
+        if (ConfigFlags & 0x20)
+            goto loop2;
+
         Success = OpenDriverKey(DriverKeyName, &DriverKey);
         if (!Success)
-            goto loop2;
+            goto loop3;
 
         Success = GetMatchingDeviceID(DriverKey, &MatchingDeviceID);
         if (!Success)
-            goto loop3;
+            goto loop4;
 
         Success = SupportDeviceID(MatchingDeviceID, NewBinding);
         if (!Success)
@@ -1532,9 +1555,11 @@ SupportChildDrivers(
 
         free(MatchingDeviceID);
 
-    loop3:
+    loop4:
         RegCloseKey(DriverKey);
 
+    loop3:
+
     loop2:
         free(DriverKeyName);
 
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Thu Jun 17 12:34:15 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jun 2021 12:34:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.143932.265071 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrDr-0002Dw-J4; Thu, 17 Jun 2021 12:34:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 143932.265071; Thu, 17 Jun 2021 12:34:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrDr-0002Dp-GF; Thu, 17 Jun 2021 12:34:15 +0000
Received: by outflank-mailman (input) for mailman id 143932;
 Thu, 17 Jun 2021 12:34:14 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FoSe=LL=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1ltrDq-00028t-5q
 for win-pv-devel@lists.xenproject.org; Thu, 17 Jun 2021 12:34:14 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 90a43ce7-5e31-4873-a54f-d6a0ab42c1c0;
 Thu, 17 Jun 2021 12:34:05 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90a43ce7-5e31-4873-a54f-d6a0ab42c1c0
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1623933245;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=PU9JsTZ7IZ/EFwNPC+EtZiQHIJc9gEEjEy+Ys1e+rm0=;
  b=BaE5JUanovu0qRjc3GoHFI9gj9up5oZuhmbyUDbKasry4J0HWMMORYL0
   MrwAUHiMg8h0MgokAuWOB0k6l4YOWsAMeldUf07ehy/vceqpnHINcgsGT
   05jRzjsYDfWY6xyOCtTtZ4Y7EUIfosbmLzJC/ugISJIGaGA7bIGuPxxT8
   E=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: O59M6TDKu5uhCFbLxxNtVN/NeR+KvLXVlXXLB4uBX/MVBXR+02zGsuPfic6PhXa7wILfrxLsjZ
 h0Qt3ghBuj3Y7II7lSiK2ua5ts+NwO5r/sPvdzhUFJEApzGiMWNNBstrKQTBpVJS3+wf5L4tWP
 UI+/n/cKcu41aK7L/7+mb8nXeei/be+UBbhLziQok95NwhP+aGwGd+sIBHTyQ+/+l134smmD61
 y/ZKt8YkBlRZNFl8Ptyvq9qSrRsRdEhdWyCA/Xp6BLUJfRi0GcW+jlRUv13jwO+1pfFqJnb4CE
 r6U=
X-SBRS: 5.1
X-MesageID: 46087437
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:zvY7OKF4uuFJ3VB+pLqE0MeALOsnbusQ8zAXP0AYc3Jom6uj5q
 aTdZUgpGfJYVkqOE3I9ertBEDEewK4yXcX2/h3AV7BZniEhILAFugLhuGO/9SjIVybygc079
 YYT0EUMrzN5DZB4voSmDPIceod/A==
X-IronPort-AV: E=Sophos;i="5.83,280,1616472000"; 
   d="scan'208";a="46087437"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 3/6] Delete stornvme's StartOverride
Date: Thu, 17 Jun 2021 13:33:53 +0100
Message-ID: <20210617123356.582-3-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
In-Reply-To: <20210617123356.582-1-owen.smith@citrix.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Using an emulated NVMe device for installation will not be able to
revert to emulated NVMe device once xenvbd has been used to boot. This
is due to stornvme creating a StartOverride value that overrides
stornvme's StartType to manual (from boot) when stornvme is not loaded
during boot. This occurs when xenbus has unplugged the emulated NVMe
controller at boot. Disabling the unplug is not sufficient to have
stornvme load at boot, which results in a 0x7B bugcheck.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/monitor/monitor.c | 60 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index 9adfb79..c858249 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -1172,6 +1172,64 @@ fail1:
     return FALSE;
 }
 
+static BOOL
+DeleteStartOverride(
+    _In_    LPTSTR      DriverName
+    )
+{
+    TCHAR               ServiceKeyName[MAX_PATH];
+    HKEY                Key;
+    HRESULT             Error;
+
+    Error = StringCbPrintf(ServiceKeyName,
+                            MAX_PATH,
+                            SERVICES_KEY "\\%s",
+                            DriverName);
+    if (!SUCCEEDED(Error))
+        goto fail1;
+
+    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+                         ServiceKeyName,
+                         0,
+                         KEY_ALL_ACCESS,
+                         &Key);
+    if (Error != ERROR_SUCCESS) {
+        SetLastError(Error);
+        goto fail2;
+    }
+
+    Error = RegDeleteTree(Key,
+                          "StartOverride");
+    if (Error != ERROR_SUCCESS) {
+        SetLastError(Error);
+        goto fail3;
+    }
+
+    RegCloseKey(Key);
+
+    return TRUE;
+
+fail3:
+    Log("fail3");
+
+    RegCloseKey(Key);
+
+fail2:
+    Log("fail2");
+
+fail1:
+    Error = GetLastError();
+
+    {
+        PTCHAR  Message;
+        Message = GetErrorMessage(Error);
+        Log("fail1 (%s)", Message);
+        LocalFree(Message);
+    }
+
+    return FALSE;
+}
+
 VOID WINAPI
 MonitorMain(
     _In_    DWORD       argc,
@@ -1251,6 +1309,7 @@ MonitorMain(
     if (!Success)
         goto fail9;
 
+    (VOID) DeleteStartOverride("stornvme");
     SetEvent(Context->RequestEvent);
 
     ReportStatus(SERVICE_RUNNING, NO_ERROR, 0);
@@ -1285,6 +1344,7 @@ MonitorMain(
     }
 
 done:
+    (VOID) DeleteStartOverride("stornvme");
     (VOID) RegDeleteTree(Context->RequestKey, NULL);
 
     free(Context->Question);
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Thu Jun 17 12:34:20 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jun 2021 12:34:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.143934.265074 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrDw-0002H0-Kz; Thu, 17 Jun 2021 12:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 143934.265074; Thu, 17 Jun 2021 12:34:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrDw-0002Gs-Hk; Thu, 17 Jun 2021 12:34:20 +0000
Received: by outflank-mailman (input) for mailman id 143934;
 Thu, 17 Jun 2021 12:34:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FoSe=LL=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1ltrDv-00028t-65
 for win-pv-devel@lists.xenproject.org; Thu, 17 Jun 2021 12:34:19 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1c763da1-63c9-495b-bcd1-5745898187b0;
 Thu, 17 Jun 2021 12:34:05 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c763da1-63c9-495b-bcd1-5745898187b0
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1623933245;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Cm2tHB5OE/4DiCZ/T6Dos34FrtMjYONYJoUKD0nWaXo=;
  b=P7yqxyBRiPlBnQz3GjbDJ7kjC3+8cj3mMsqS1z1YC7wRUMQN9XRL9rEZ
   1/dTzvpYhyB8+202ka1B+y0JYXfxewEAED66l3WgBNkOgWAcg1XMKGpsV
   1ogJwdYsExdmYhuTKz9PwDvmmXyJocAuGMJ5ySasGfUL4zvPEOaDKOxTT
   w=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: GN6NVSm7ohV16gvbOILpNdilNx2lU1A7YNEw4pI/wCKyQFkWJvX6GTaRCCV0gUCEC1tlQaUIWi
 n6//5G5hYUA9HAh/zr/4kmm+jDHEUDyoMoEJ3+AZritq/b8RdPrBCISNQvmkTx4fc0yR413PWf
 2H0TBxeE4OpzzGXjU1GwdK36lw+j+YxTr6NZI8YWr0L2IdRbqP83+J0tCfdlf8M8HPi2qh22G9
 n9yW+LG/j/VzyPgSk+b+ljEbHimLMpAz7AEjkZTDNJ/KiTSTSkWU0jV9iPTFTPTuYLx15+Hhv9
 BlY=
X-SBRS: 5.1
X-MesageID: 46430594
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:5+4fDKh6RXIuQe5iSbn94bPlFnBQXtwji2hC6mlwRA09TySZ//
 rAoB19726StN9xYgBYpTnuAsi9qB/nmKKdpLNhX4tKPzOW3FdATrsD0WKK+VSJcEfDH6xmpM
 JdmsBFebvN5DNB4/oSjjPVLz9Z+qjlzJyV
X-IronPort-AV: E=Sophos;i="5.83,280,1616472000"; 
   d="scan'208";a="46430594"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 4/6] Add emulated type override per device ID
Date: Thu, 17 Jun 2021 13:33:54 +0100
Message-ID: <20210617123356.582-4-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
In-Reply-To: <20210617123356.582-1-owen.smith@citrix.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Add the option to override a device nodes emulated type for a specific
device ID, and adds the NVME type.
Specific HardwareIDs may be associated with a more specific type than 'Device'.
Add a way of specifying a particular HardwareID as an emulated NVMe controller
so that when XenVbd queries if a disk is present, XenFilt can respond correctly
if either its emulated IDE disk or emulated NVMe disk is present.
Certain upgrade situations could leave the unplug key empty (so the emulated
NVMe device is in use), and this could lead to XenVbd not identifying the
emulated NVMe disk and proceeding to connect to the backend (which could already
be in use by the emulated NVMe disk). This situation leads to a recovery prompt
"A required device isn't connected or can't be accessed"

Note: this patch doesnt define the HardwareID(s) associated with emulated NVMe
devices, as this is dependent on the VM configuration.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenfilt/driver.c   | 20 +++++++++++++----
 src/xenfilt/driver.h   |  5 +++++
 src/xenfilt/emulated.c | 48 ++++++++++++++++++++++++++++++++++++++++
 src/xenfilt/emulated.h |  3 ++-
 src/xenfilt/pdo.c      | 50 ++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 121 insertions(+), 5 deletions(-)

diff --git a/src/xenfilt/driver.c b/src/xenfilt/driver.c
index e9e6673..e25c208 100644
--- a/src/xenfilt/driver.c
+++ b/src/xenfilt/driver.c
@@ -723,6 +723,21 @@ fail1:
     return status;
 }
 
+XENFILT_EMULATED_OBJECT_TYPE
+DriverParseEmulatedType(
+    IN  PANSI_STRING                Ansi
+    )
+{
+    if (_strnicmp(Ansi->Buffer, "PCI", Ansi->Length) == 0)
+        return XENFILT_EMULATED_OBJECT_TYPE_PCI;
+    else if (_strnicmp(Ansi->Buffer, "IDE", Ansi->Length) == 0)
+        return XENFILT_EMULATED_OBJECT_TYPE_IDE;
+    else if (_strnicmp(Ansi->Buffer, "NVME", Ansi->Length) == 0)
+        return XENFILT_EMULATED_OBJECT_TYPE_NVME;
+
+    return XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN;
+}
+
 static XENFILT_EMULATED_OBJECT_TYPE
 DriverGetEmulatedType(
     IN  PCHAR                       Id
@@ -753,10 +768,7 @@ DriverGetEmulatedType(
         if (NT_SUCCESS(status)) {
             Info("MATCH: %s -> %Z\n", &Id[Index], Ansi);
 
-            if (_strnicmp(Ansi->Buffer, "PCI", Ansi->Length) == 0)
-                Type = XENFILT_EMULATED_OBJECT_TYPE_PCI;
-            else if (_strnicmp(Ansi->Buffer, "IDE", Ansi->Length) == 0)
-                Type = XENFILT_EMULATED_OBJECT_TYPE_IDE;
+            Type = DriverParseEmulatedType(Ansi);
 
             RegistryFreeSzValue(Ansi);
         } else {
diff --git a/src/xenfilt/driver.h b/src/xenfilt/driver.h
index 286580b..ee656c8 100644
--- a/src/xenfilt/driver.h
+++ b/src/xenfilt/driver.h
@@ -90,6 +90,11 @@ DriverQueryDeviceText(
 
 #include "emulated.h"
 
+XENFILT_EMULATED_OBJECT_TYPE
+DriverParseEmulatedType(
+    IN  PANSI_STRING                Ansi
+    );
+
 PXENFILT_EMULATED_CONTEXT
 DriverGetEmulatedContext(
     VOID
diff --git a/src/xenfilt/emulated.c b/src/xenfilt/emulated.c
index 827c905..df8cbaf 100644
--- a/src/xenfilt/emulated.c
+++ b/src/xenfilt/emulated.c
@@ -52,9 +52,15 @@ typedef struct _XENFILT_EMULATED_DISK_DATA {
     ULONG   Index;
 } XENFILT_EMULATED_DISK_DATA, *PXENFILT_EMULATED_DISK_DATA;
 
+typedef struct _XENFILT_EMULATED_NVME_DATA {
+    ULONG   StartIndex;
+    ULONG   EndIndex;
+} XENFILT_EMULATED_NVME_DATA, *PXENFILT_EMULATED_NVME_DATA;
+
 typedef union _XENFILT_EMULATED_OBJECT_DATA {
     XENFILT_EMULATED_DEVICE_DATA Device;
     XENFILT_EMULATED_DISK_DATA   Disk;
+    XENFILT_EMULATED_NVME_DATA   Nvme;
 } XENFILT_EMULATED_OBJECT_DATA, *PXENFILT_EMULATED_OBJECT_DATA;
 
 struct _XENFILT_EMULATED_OBJECT {
@@ -189,6 +195,34 @@ fail1:
     return status;
 }
 
+static NTSTATUS
+EmulatedSetObjectNvmeData(
+    IN  PXENFILT_EMULATED_OBJECT        EmulatedObject,
+    IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
+    IN  PCHAR                           DeviceID,
+    IN  PCHAR                           InstanceID
+    )
+{
+    NTSTATUS                            status;
+
+    UNREFERENCED_PARAMETER(DeviceID);
+    UNREFERENCED_PARAMETER(InstanceID);
+
+    status = STATUS_INVALID_PARAMETER;
+    if (Type != XENFILT_EMULATED_OBJECT_TYPE_NVME)
+        goto fail1;
+
+    EmulatedObject->Data.Nvme.StartIndex = 0;
+    EmulatedObject->Data.Nvme.EndIndex = 3;
+
+    return STATUS_SUCCESS;
+
+fail1:
+    Error("fail1 (%08x)\n", status);
+
+    return status;
+}
+
 NTSTATUS
 EmulatedAddObject(
     IN  PXENFILT_EMULATED_CONTEXT       Context,
@@ -224,6 +258,13 @@ EmulatedAddObject(
                                            InstanceID);
         break;
 
+    case XENFILT_EMULATED_OBJECT_TYPE_NVME:
+        status = EmulatedSetObjectNvmeData(*EmulatedObject,
+                                           Type,
+                                           DeviceID,
+                                           InstanceID);
+        break;
+
     default:
         status = STATUS_INVALID_PARAMETER;
         break;
@@ -339,6 +380,13 @@ EmulatedIsDiskPresent(
             break;
         }
 
+        if (EmulatedObject->Type == XENFILT_EMULATED_OBJECT_TYPE_NVME &&
+            Index >= EmulatedObject->Data.Nvme.StartIndex &&
+            Index <= EmulatedObject->Data.Nvme.EndIndex) {
+            Trace("FOUND\n");
+            break;
+        }
+
         ListEntry = ListEntry->Flink;
     }
 
diff --git a/src/xenfilt/emulated.h b/src/xenfilt/emulated.h
index 57edee2..499e43c 100644
--- a/src/xenfilt/emulated.h
+++ b/src/xenfilt/emulated.h
@@ -41,7 +41,8 @@ typedef struct _XENFILT_EMULATED_CONTEXT XENFILT_EMULATED_CONTEXT, *PXENFILT_EMU
 typedef enum _XENFILT_EMULATED_OBJECT_TYPE {
     XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN = 0,
     XENFILT_EMULATED_OBJECT_TYPE_PCI,
-    XENFILT_EMULATED_OBJECT_TYPE_IDE
+    XENFILT_EMULATED_OBJECT_TYPE_IDE,
+    XENFILT_EMULATED_OBJECT_TYPE_NVME
 } XENFILT_EMULATED_OBJECT_TYPE, *PXENFILT_EMULATED_OBJECT_TYPE;
 
 typedef struct _XENFILT_EMULATED_OBJECT XENFILT_EMULATED_OBJECT, *PXENFILT_EMULATED_OBJECT;
diff --git a/src/xenfilt/pdo.c b/src/xenfilt/pdo.c
index 0f6e6ce..b0e0e0f 100644
--- a/src/xenfilt/pdo.c
+++ b/src/xenfilt/pdo.c
@@ -42,6 +42,7 @@
 #include "pdo.h"
 #include "thread.h"
 #include "driver.h"
+#include "registry.h"
 #include "dbg_print.h"
 #include "assert.h"
 #include "util.h"
@@ -251,6 +252,54 @@ __PdoGetFdo(
     return Pdo->Fdo;
 }
 
+
+static FORCEINLINE NTSTATUS
+__PdoGetEmulatedTypeOverride(
+    IN  PXENFILT_PDO                Pdo,
+    IN  PCHAR                       DeviceID
+    )
+{
+    XENFILT_EMULATED_OBJECT_TYPE    Type;
+    PANSI_STRING                    Ansi;
+    HANDLE                          ParametersKey;
+    HANDLE                          OverrideKey;
+    NTSTATUS                        status;
+
+    ParametersKey = DriverGetParametersKey();
+
+    status = RegistryOpenSubKey(ParametersKey,
+                                "Override",
+                                GENERIC_READ,
+                                &OverrideKey);
+    if (!NT_SUCCESS(status))
+        goto fail1;
+
+    status = RegistryQuerySzValue(OverrideKey,
+                                  DeviceID,
+                                  NULL,
+                                  &Ansi);
+    if (!NT_SUCCESS(status))
+        goto fail2;
+
+    Type = DriverParseEmulatedType(Ansi);
+    if (Type != XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN) {
+        Info("%s = %Z\n", DeviceID, Ansi);
+        Pdo->Type = Type;
+    }
+
+    RegistryFreeSzValue(Ansi);
+
+    RegistryCloseKey(OverrideKey);
+
+    return STATUS_SUCCESS;
+
+fail2:
+    RegistryCloseKey(OverrideKey);
+
+fail1:
+    return status;
+}
+
 static NTSTATUS
 PdoSetDeviceInformation(
     IN  PXENFILT_PDO    Pdo
@@ -313,6 +362,7 @@ PdoSetDeviceInformation(
     Dx->DeviceID = DeviceID;
     Dx->InstanceID = InstanceID;
     Dx->LocationInformation = LocationInformation;
+    (VOID) __PdoGetEmulatedTypeOverride(Pdo, DeviceID);
 
     return STATUS_SUCCESS;
 
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Thu Jun 17 12:34:25 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jun 2021 12:34:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.143937.265078 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrE1-0002Lk-MJ; Thu, 17 Jun 2021 12:34:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 143937.265078; Thu, 17 Jun 2021 12:34:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrE1-0002Ld-JE; Thu, 17 Jun 2021 12:34:25 +0000
Received: by outflank-mailman (input) for mailman id 143937;
 Thu, 17 Jun 2021 12:34:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FoSe=LL=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1ltrE0-00028t-6E
 for win-pv-devel@lists.xenproject.org; Thu, 17 Jun 2021 12:34:24 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 17a3dfdf-dc4c-4707-b05d-45026fc5b789;
 Thu, 17 Jun 2021 12:34:07 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17a3dfdf-dc4c-4707-b05d-45026fc5b789
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1623933246;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=UxN3H50l+eBwZpAPRZbSX4lKbMtGEWoo8coLeX2x2ds=;
  b=VMmxNkJaX8ozBW4ti3FBbG/Ph6Rjsznh9X5z4AJksPMPLNsNnXYrr6sI
   nef03v6eNmrfIApVs0eUUwF5KiA86btorWJbLuvN7fJ2UoWkTosb76zUo
   ArNKIaWl/0+zn00OHFbTFAr6lQY/8oSjohKIBfVgTj7VlfnLL65FRZDcj
   k=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: q/OYG3gm3Lha5Hr0+xUcLviKe7T0ik55Vb9o6ZcFpDS5wunmVdObpDvWKeRJ72NdLzve9noVSj
 gBZymPUjnKqfLo3guQ2xGOYcWpx43xFYHvet+7CMaZJy4Bo5zQaTSV/os5GESjSe0sy5hRqWcy
 lQ89NKo1u1MlUJJ25UjdxKxInphf6KuB+Vqf4pK+9xSSZj0x/p6oCy+8UAdqmX2nNWC0gR6Bzh
 HZOpMZ7FYSbWrFV8k6nza0zNoK/OzMnYej4716TS7gKza3LXUZjhy6gMEzh3D82q4FCWiUhzg+
 6Tk=
X-SBRS: 5.1
X-MesageID: 46087442
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:eyZgiqu00ZGIYY47653R+5PQ7skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpHnJYVcqKQkdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyIMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-IronPort-AV: E=Sophos;i="5.83,280,1616472000"; 
   d="scan'208";a="46087442"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 5/6] Add QEMU NVMe device emulated type override
Date: Thu, 17 Jun 2021 13:33:55 +0100
Message-ID: <20210617123356.582-5-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
In-Reply-To: <20210617123356.582-1-owen.smith@citrix.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

VEN_8086&DEV_5854 has been reserved (by Intel) for the emulated QEMU NVMe
device, which exposes disks with SCSI Inquiry data for "QEMU NVMe Ctrl"

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenbus.inf | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/xenbus.inf b/src/xenbus.inf
index f9a5475..d2f2477 100644
--- a/src/xenbus.inf
+++ b/src/xenbus.inf
@@ -119,6 +119,7 @@ AddReg = XenFilt_Parameters
 HKR,"Parameters",,0x00000010
 HKR,"Parameters","*PNP0A03",0x00000000,"PCI"
 HKR,"Parameters","Internal_IDE_Channel",0x00000000,"IDE"
+HKR,"Parameters\Override","PCI\VEN_8086&DEV_5845&SUBSYS_11001AF4&REV_02",0x00000000,"NVME"
 
 [Monitor_Service]
 DisplayName=%MonitorName%
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Thu Jun 17 12:34:30 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 17 Jun 2021 12:34:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.143942.265082 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrE6-0002Q3-OT; Thu, 17 Jun 2021 12:34:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 143942.265082; Thu, 17 Jun 2021 12:34:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1ltrE6-0002Pw-Lb; Thu, 17 Jun 2021 12:34:30 +0000
Received: by outflank-mailman (input) for mailman id 143942;
 Thu, 17 Jun 2021 12:34:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FoSe=LL=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1ltrE5-00028t-6T
 for win-pv-devel@lists.xenproject.org; Thu, 17 Jun 2021 12:34:29 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id afaa05ab-638b-45cb-8012-a3b7c13d1855;
 Thu, 17 Jun 2021 12:34:12 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afaa05ab-638b-45cb-8012-a3b7c13d1855
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1623933252;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=flN+hnOf6yVphOG28cNpYngHPXTI8PneEaS60J4uhB0=;
  b=fQATVLLE/OfsJt/dFnU48HeIqXnHvB0I7hc+MJXA/lpPtbiBmhAh7out
   /6ZQf2xXCTlRclKcBFNabHPF4PKw6ljbRTxb4q2SjHee8+tvuo+4MQruh
   EWZ7/vpkvfyElWDBs1L3OCPYkSm5v9ynVmeg9hWb8qQ7K5eqjoFcpkaB+
   0=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 6W9D32Qk6E6MJOBB33sL7FpKy69THOag0pdo05xHss6djU19SZhb0qi20Ek+DMGA6Fz757Fs9e
 +pMSJnDz0MSLBa8B81IJH5eM4QJkrhd9PUrL0In0aVG37JVM2xao/wlWv4Uc8F4Zu/MAlKSoVa
 6zK3bXx2AKPQR3QhEawKgUnpxMcfMTeZgWl3K4N6OM1tcXpI1qLO4aWFfwpB4k0uqTnduALXzG
 k6e7IFOYItdbmyltNVEmuyn0qxY/cBXfrNeBarh/QEYMU2lyp8krXlKBT64fCMFcIVWahsn1nd
 U/I=
X-SBRS: 5.1
X-MesageID: 46728256
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:iEUyWqye2XZKjvHyUxMHKrPwKr1zdoMgy1knxilNoRw8SKOlfq
 eV7ZMmPH7P+U8ssR4b+OxoVJPsfZqYz+8W3WBzB8bHYOCFgguVxehZhOOIqQEIWReOk9K1vZ
 0QFZSWY+efMbEVt6rHCXGDYrUd/OU=
X-IronPort-AV: E=Sophos;i="5.83,280,1616472000"; 
   d="scan'208";a="46728256"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 6/6] Dont always remove XenFilt from UpperFilters
Date: Thu, 17 Jun 2021 13:33:56 +0100
Message-ID: <20210617123356.582-6-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
In-Reply-To: <20210617123356.582-1-owen.smith@citrix.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

There is a race which can prevent XenFilt from having AddDevice
correctly called on some devices. This seems to happen more frequently
after driver upgrades.
It seems this is due to XenBus!DriverEntry removing XenFilt before
XenBus!AddDevice inserts XenFilt into the UpperFilters value. In this
gap, PnP manager can sample the UpperFilters key and fail to bind
XenFilt to the required device stacks. This leads to XenFilt failing
to determine the active device, which prevents the device unplugs
from occuring, leading to a constant cycle of reboot prompts from
xenbus_monitor.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenbus/driver.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/xenbus/driver.c b/src/xenbus/driver.c
index 1b621fa..e66bf45 100644
--- a/src/xenbus/driver.c
+++ b/src/xenbus/driver.c
@@ -296,6 +296,9 @@ DriverRemoveFunctionDeviceObject(
     RemoveEntryList(&Dx->ListEntry);
     ASSERT3U(Driver.References, !=, 0);
     References = --Driver.References;
+
+    if (References == 1)
+        FiltersUninstall();
 }
 
 //
@@ -859,16 +862,15 @@ DriverEntry(
                       MICRO_VERSION,
                       BUILD_NUMBER);
     if (!NT_SUCCESS(status)) {
-        if (status == STATUS_INCOMPATIBLE_DRIVER_BLOCKED)
+        if (status == STATUS_INCOMPATIBLE_DRIVER_BLOCKED) {
+            // Re-instate XenFilt to avoid a second required reboot
+            FiltersInstall();
             __DriverRequestReboot();
+        }
 
         goto done;
     }
 
-    // Remove the filters from the registry. They will be re-instated by
-    // the first successful AddDevice.
-    FiltersUninstall();
-
     DriverObject->DriverExtension->AddDevice = DriverAddDevice;
 
     for (Index = 0; Index <= IRP_MJ_MAXIMUM_FUNCTION; Index++) {
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 13:01:40 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 13:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145478.267654 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvJYY-0002GT-GB; Mon, 21 Jun 2021 13:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145478.267654; Mon, 21 Jun 2021 13:01:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvJYY-0002GL-D4; Mon, 21 Jun 2021 13:01:38 +0000
Received: by outflank-mailman (input) for mailman id 145478;
 Mon, 21 Jun 2021 13:01:37 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IH8w=LP=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lvJYW-0002GF-QL
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 13:01:36 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5ef40986-17d2-462d-bdf7-881c0a346969;
 Mon, 21 Jun 2021 13:01:35 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ef40986-17d2-462d-bdf7-881c0a346969
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624280495;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=cFV0UDZMTQnnw0oc1JiEEZlLLZauGbkHxzj4sam9BAI=;
  b=iGbnrZjX55Rn2lUQPMg4uURb0TBaILPJJm6Oqr6MTPRmAZI23vsh8nNI
   VdIGFveQ+2rrMF7hdAd6iKHx+ADoKex0H3D+ZKpyrZrcToN5EkpNQoRHJ
   YQhdPHGp0v/g3Mw7tqssBQFupHP7nsT62iql+h8PVXMyuaRig4+Vs7dIr
   g=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 6w24MEiocuW4ef6f3phwsLZpNcT19dlKNDQqbttrSmOav4ikLEHLFJ2OjOiMWjzMCBHqn5nET7
 v6aUI5Vt1mscIN1aGFZP1AIakzF60ZZG8lc6xXZiwUCNgFxndiGcVPdyyL4HIDUnJ+VLA7yBGA
 hvVL12+ZenujQFKWtYpjoubQQ2FnBS3tgrha32kd+rSjDDHV4hvq9zDgS2Nw1DE+RMvcXdPoH7
 k2iP+vIWAOrJ3DCxdRK4qrH7hK8iizrREMOVMR+Xt0OjLIGDR6/k648+wfVgX0hkcHG09iov9R
 zms=
X-SBRS: 5.1
X-MesageID: 46656391
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:FCLUTKky1M7YuS9xoBS9ZxzjOXnpDfIm3DAbv31ZSRFFG/Fxl6
 iV88jzsiWE7Qr5OUtQ/uxoV5PgfZqxz/NICOoqTNWftWvd2FdARbsKheCJ/9SJIVybygc378
 ldmsZFZOEYdWIK7vrH3A==
X-IronPort-AV: E=Sophos;i="5.83,289,1616472000"; 
   d="scan'208";a="46656391"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 1/2] Match __FreePage with __AllocatePage calls
Date: Mon, 21 Jun 2021 13:54:44 +0100
Message-ID: <20210621125445.1800-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Replace __FreePages with __FreePage when the memory was allocated with
__AllocatePage. This is a cosmetic change, as __FreePage is an alias for
__FreePages

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenvbd/adapter.c | 2 +-
 src/xenvbd/ring.c    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/xenvbd/adapter.c b/src/xenvbd/adapter.c
index 67dd14c..9fd2abc 100644
--- a/src/xenvbd/adapter.c
+++ b/src/xenvbd/adapter.c
@@ -1166,7 +1166,7 @@ AdapterBounceDtor(
 
     Bounce->BouncePtr = NULL;
 
-    __FreePages(Bounce->BounceMdl);
+    __FreePage(Bounce->BounceMdl);
     Bounce->BounceMdl = NULL;
 }
 
diff --git a/src/xenvbd/ring.c b/src/xenvbd/ring.c
index bfe62a8..66e8cdd 100644
--- a/src/xenvbd/ring.c
+++ b/src/xenvbd/ring.c
@@ -494,7 +494,7 @@ BlkifRingIndirectDtor(
 
     UNREFERENCED_PARAMETER(Argument);
 
-    __FreePages(Indirect->Mdl);
+    __FreePage(Indirect->Mdl);
     Indirect->Page = NULL;
     Indirect->Mdl = NULL;
 }
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 13:01:42 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 13:01:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145479.267657 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvJYc-0002IK-HT; Mon, 21 Jun 2021 13:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145479.267657; Mon, 21 Jun 2021 13:01:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvJYc-0002ID-Ea; Mon, 21 Jun 2021 13:01:42 +0000
Received: by outflank-mailman (input) for mailman id 145479;
 Mon, 21 Jun 2021 13:01:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IH8w=LP=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lvJYb-0002GF-Ku
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 13:01:41 +0000
Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2aeb032d-7448-4fba-a236-0b9cc6272012;
 Mon, 21 Jun 2021 13:01:36 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2aeb032d-7448-4fba-a236-0b9cc6272012
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624280496;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=qnwFI60XUnzWJRRNpZrjMS4VUsyErA7hr/w/at25at8=;
  b=LnOpc0ZkIa1hiKzptdFBwNY1/FoNTtiAki7F7TW8WDrMeXsvMMDfRYij
   1VzPp8s2YgCatHEv6U1C3AaCL/RR05uYaPVPodpci6mzDYa2u0+o/ndRV
   C29X5vCx5YUUTaBZT4XYjzyIDQ4kw/t+ltSlh4S4gu9YAw8ZvMkgt3YfO
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: Fes6/wXnNC+g0ecdV8loTFyyi0LD/ZK5a0lkyCJO+UK9+TNIGMrXozNdGnxaBCwjcwGp9ZtJyJ
 CxJ+rxQcglC1HydIsWD+NLLeD+cZ0J54OVPV92y4a2sVMeXCuTXzJyJ7Nj2H8+1NCkfKYXwGDV
 yfS+OJSWnCUya5qiHrAXX4s0WwQ3FleOLb6gqJntVGkCTNFmQCF6ryBdhyywdbIGvTj50yZnhq
 WcM73lp/pzIKBwGEYdNxW6/RJXFpto0vlkKOq/eYoiprCEFnw88panptM03YkKDxT+vDfrvdxn
 LGM=
X-SBRS: 5.1
X-MesageID: 46656395
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Ig9U0aP+ZkuUYMBcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3/qy
 nOpoVi6faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrJ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.83,289,1616472000"; 
   d="scan'208";a="46656395"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 2/2] Call BlkifRing(Acquire/Release)Lock before/after BlkifRingPoll
Date: Mon, 21 Jun 2021 13:54:45 +0100
Message-ID: <20210621125445.1800-2-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
In-Reply-To: <20210621125445.1800-1-owen.smith@citrix.com>
References: <20210621125445.1800-1-owen.smith@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Releasing the blkif ring lock drains the atomic SRB list into the queue. When
attempting to move things along, this also includes the atomic SRB list.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenvbd/ring.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/xenvbd/ring.c b/src/xenvbd/ring.c
index 66e8cdd..1ea1250 100644
--- a/src/xenvbd/ring.c
+++ b/src/xenvbd/ring.c
@@ -2158,7 +2158,6 @@ BlkifRingDisable(
 
     Trace("====> %u\n", BlkifRing->Index);
 
-    __BlkifRingAcquireLock(BlkifRing);
     ASSERT(BlkifRing->Enabled);
 
     status = XENBUS_STORE(Read,
@@ -2188,8 +2187,10 @@ BlkifRingDisable(
                 break;
 
             // Try to move things along
+            __BlkifRingAcquireLock(BlkifRing);
             __BlkifRingSend(BlkifRing);
             (VOID) BlkifRingPoll(BlkifRing);
+            __BlkifRingReleaseLock(BlkifRing);
 
             // We are waiting for a watch event at DISPATCH_LEVEL so
             // it is our responsibility to poll the store ring.
@@ -2200,6 +2201,7 @@ BlkifRingDisable(
         }
     }
 
+    __BlkifRingAcquireLock(BlkifRing);
     BlkifRing->Enabled = FALSE;
 
     while (!IsListEmpty(&BlkifRing->SubmittedList)) {
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 13:28:18 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 13:28:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145490.267662 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvJyL-00049s-Gv; Mon, 21 Jun 2021 13:28:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145490.267662; Mon, 21 Jun 2021 13:28:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvJyL-00049l-E1; Mon, 21 Jun 2021 13:28:17 +0000
Received: by outflank-mailman (input) for mailman id 145490;
 Mon, 21 Jun 2021 13:28:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YVbB=LP=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lvJyK-00049f-B6
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 13:28:16 +0000
Received: from mail-wr1-x432.google.com (unknown [2a00:1450:4864:20::432])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f3f4481e-923d-4fff-9477-d9aacb1640c3;
 Mon, 21 Jun 2021 13:28:15 +0000 (UTC)
Received: by mail-wr1-x432.google.com with SMTP id b3so9417493wrm.6
 for <win-pv-devel@lists.xenproject.org>; Mon, 21 Jun 2021 06:28:15 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:950a:b93c:9a9d:3022?
 ([2a00:23c5:5785:9a01:950a:b93c:9a9d:3022])
 by smtp.gmail.com with ESMTPSA id z14sm6537203wrv.68.2021.06.21.06.28.13
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Jun 2021 06:28:14 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3f4481e-923d-4fff-9477-d9aacb1640c3
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=Xfc8aB4+411cXrTnF4NTMApMMmNtfV2DJk7dVhoqAt4=;
        b=Kpj6k0SNH7mjCwbL/WjG+xHiJ8hdq3zYr+Zj/NtjyV+2SNUvLW3nrvZdVzcOo0YZX4
         geqL60LiA5L4SGki0uraOUHh8cbFzN5BtINkbmlfjIhqq1UTIjJN4e3O3eWleEQo9kGY
         UZhoJkY+kJWtfUeoDiOqwdpCpgYQV62HJYolM697U3/ISgA2YODozPnhCo3EUgBf3Cre
         xABALzHPyFKwMnjBsBDR3B7taHeS38ZHN4XrNF1g4D5tDmVQAAXEG43QIbzZv0xaWwjC
         WkF6LERpReO0WkNZ35KpDqXES141nvoB42VrR7ymqE98sTJGdEDRJkapd6Aq3EE1nU4F
         EwCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=Xfc8aB4+411cXrTnF4NTMApMMmNtfV2DJk7dVhoqAt4=;
        b=l4FT5MMUbZfsHhq7niCASLhE7STGIdAsxgOdDLFoGkkdTrSFGqkO+h5qIIaR6Hu1Hw
         XGxU3QYQw6B3i1HzCyRlXTU+Nxk7ouyUWoo+8gJesinCUEFIie99/rUkaaHzWtcdbU/u
         5giHhVqlV/VFtutvy4zCiboFaue+t+C0ricNdkga6jNJUsq1J2w6X7OMlP108DrwUfPA
         E5I56uEOh91A56cPf+LXf+elwfeiLaEfvizelF6S5DnlNfk1+yOp8zflKUALD1ZLwE51
         Be4DrCBR4HZfoJVF/TE8qfZlz8aja08I7tY+0CpSRaKIMz+Edy6Eg8sy++Za/L12Uvca
         DItA==
X-Gm-Message-State: AOAM530v2mAf/sD2SsoItXJLZnBx1OCdjzzS3+H7V+ESRgl2G1tHu2xv
	vtrEGRkrhkdBun0GqfVaLEZZpHtaMwI=
X-Google-Smtp-Source: ABdhPJxS6YAR42yq5B2m2y5ECQhM5xPpCqoGjZE5eu/XzW3MHiSUM8hcsJXCusS8FnS+H8o2EcOdDQ==
X-Received: by 2002:adf:ebc6:: with SMTP id v6mr28368979wrn.398.1624282094625;
        Mon, 21 Jun 2021 06:28:14 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/2] Call BlkifRing(Acquire/Release)Lock before/after
 BlkifRingPoll
To: win-pv-devel@lists.xenproject.org
References: <20210621125445.1800-1-owen.smith@citrix.com>
 <20210621125445.1800-2-owen.smith@citrix.com>
Message-ID: <cbe3f7a9-191f-9e4a-adf6-96703198436c@xen.org>
Date: Mon, 21 Jun 2021 14:28:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210621125445.1800-2-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 21/06/2021 13:54, Owen Smith wrote:
> Releasing the blkif ring lock drains the atomic SRB list into the queue. When
> attempting to move things along, this also includes the atomic SRB list.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   src/xenvbd/ring.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/xenvbd/ring.c b/src/xenvbd/ring.c
> index 66e8cdd..1ea1250 100644
> --- a/src/xenvbd/ring.c
> +++ b/src/xenvbd/ring.c
> @@ -2158,7 +2158,6 @@ BlkifRingDisable(
>   
>       Trace("====> %u\n", BlkifRing->Index);
>   
> -    __BlkifRingAcquireLock(BlkifRing);
>       ASSERT(BlkifRing->Enabled);
>   
>       status = XENBUS_STORE(Read,
> @@ -2188,8 +2187,10 @@ BlkifRingDisable(
>                   break;
>   
>               // Try to move things along
> +            __BlkifRingAcquireLock(BlkifRing);
>               __BlkifRingSend(BlkifRing);
>               (VOID) BlkifRingPoll(BlkifRing);
> +            __BlkifRingReleaseLock(BlkifRing);
>   
>               // We are waiting for a watch event at DISPATCH_LEVEL so
>               // it is our responsibility to poll the store ring.
> @@ -2200,6 +2201,7 @@ BlkifRingDisable(
>           }
>       }
>   
> +    __BlkifRingAcquireLock(BlkifRing);
>       BlkifRing->Enabled = FALSE;
>   
>       while (!IsListEmpty(&BlkifRing->SubmittedList)) {
> 



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 13:32:54 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 13:32:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145496.267666 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvK2n-0004zi-Qi; Mon, 21 Jun 2021 13:32:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145496.267666; Mon, 21 Jun 2021 13:32:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvK2n-0004za-Na; Mon, 21 Jun 2021 13:32:53 +0000
Received: by outflank-mailman (input) for mailman id 145496;
 Mon, 21 Jun 2021 13:32:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IH8w=LP=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lvK2m-0004zU-JB
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 13:32:52 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6b08370d-a494-4bbe-b010-fb248565795d;
 Mon, 21 Jun 2021 13:32:51 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b08370d-a494-4bbe-b010-fb248565795d
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624282371;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=cFV0UDZMTQnnw0oc1JiEEZlLLZauGbkHxzj4sam9BAI=;
  b=c7Y5G1HvgR2o/Yj6y7e0TPBLytDLHPKpvM0z1/mbB5Z6E5JzlEyrFp/O
   i6NWzb20u4K9gjF4nVgXHrftBHripzC7bohiI+0iFwyBAnUO1J7KJAxCG
   J+UlnEEFGKW7E3ouKcZTGkFW0G7K6mvkkJbf2aHf3Cffq70mvdgxryg0q
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: V/f1bqCjZ+Un481RIGaE3VT+A9rBUhzdML3xOBZdei1AVgB2cq98QlLzHrAKWXBcN3D8YM2jRw
 7vhr74xhNQwpyT+zo9JX8hGWjIb7Ipk6FiwKRSHOYm7UzdHWoiQBE5JD3DIFD2z6OMWr9RoudT
 YxPIRJe0YqRCHygz73+9SPxNGz3CXL1KXMYAS3HB13DHm01GAOnmX+gnhHbX3iBxAzBHmt+MQw
 Txzj5kXSe6m4aX2oxS8TJfDBxA4ip2bDKmAoOBNqPZwLYhLLZLshdnPfvAolS64Ji/4rN/l7rj
 hN8=
X-SBRS: 5.1
X-MesageID: 48178727
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:Iy+wCK5A/vUQazh21APXwDLXdLJyesId70hD6qkQc3FomwKj9/
 xG/c5rsSMc7Qx6ZJhOo7+90cW7L080lqQFhLX5X43SPzUO0VHARO1fBOPZqAEIcBeOlNK1u5
 0AT0B/YueAcGSTj6zBkXWF+wBL+qj5zEiq792usUuEVWtRGsZdB58SMHfhLqVxLjM2Y6YRJd
 6nyedsgSGvQngTZtTTPAh+YwCSz+e77a4PeHQ9dmYa1DU=
X-IronPort-AV: E=Sophos;i="5.83,289,1616472000"; 
   d="scan'208";a="48178727"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 1/2] Match __FreePage with __AllocatePage calls
Date: Mon, 21 Jun 2021 13:27:03 +0100
Message-ID: <20210621122704.1186-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Replace __FreePages with __FreePage when the memory was allocated with
__AllocatePage. This is a cosmetic change, as __FreePage is an alias for
__FreePages

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenvbd/adapter.c | 2 +-
 src/xenvbd/ring.c    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/xenvbd/adapter.c b/src/xenvbd/adapter.c
index 67dd14c..9fd2abc 100644
--- a/src/xenvbd/adapter.c
+++ b/src/xenvbd/adapter.c
@@ -1166,7 +1166,7 @@ AdapterBounceDtor(
 
     Bounce->BouncePtr = NULL;
 
-    __FreePages(Bounce->BounceMdl);
+    __FreePage(Bounce->BounceMdl);
     Bounce->BounceMdl = NULL;
 }
 
diff --git a/src/xenvbd/ring.c b/src/xenvbd/ring.c
index bfe62a8..66e8cdd 100644
--- a/src/xenvbd/ring.c
+++ b/src/xenvbd/ring.c
@@ -494,7 +494,7 @@ BlkifRingIndirectDtor(
 
     UNREFERENCED_PARAMETER(Argument);
 
-    __FreePages(Indirect->Mdl);
+    __FreePage(Indirect->Mdl);
     Indirect->Page = NULL;
     Indirect->Mdl = NULL;
 }
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 13:37:58 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 13:37:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145502.267670 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvK7h-000581-7l; Mon, 21 Jun 2021 13:37:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145502.267670; Mon, 21 Jun 2021 13:37:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvK7h-00057t-4Y; Mon, 21 Jun 2021 13:37:57 +0000
Received: by outflank-mailman (input) for mailman id 145502;
 Mon, 21 Jun 2021 13:37:56 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YVbB=LP=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lvK7f-00057n-Tw
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 13:37:55 +0000
Received: from mail-wr1-x435.google.com (unknown [2a00:1450:4864:20::435])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a0b44af7-977f-47bd-9d79-43599021598d;
 Mon, 21 Jun 2021 13:37:55 +0000 (UTC)
Received: by mail-wr1-x435.google.com with SMTP id y7so19635214wrh.7
 for <win-pv-devel@lists.xenproject.org>; Mon, 21 Jun 2021 06:37:55 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:950a:b93c:9a9d:3022?
 ([2a00:23c5:5785:9a01:950a:b93c:9a9d:3022])
 by smtp.gmail.com with ESMTPSA id f19sm11519831wmc.16.2021.06.21.06.37.53
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Jun 2021 06:37:53 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0b44af7-977f-47bd-9d79-43599021598d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=5PQzwkHN8z09NGNF4LmDI4/p7ybKLldJHcAhvj8Xd+U=;
        b=LKsSAp2u5f0C1UMeBSvvid2rUMYPF3qpJwdnhExoy39sv6BkaqiNM+zCT/9meezeo7
         PG95qfB1LXDdaflWw/snIICTL7If2SsstecptphmDSU/U8rrLY06cZwb7EL6KfkG2pX6
         XXL8VZGrVNlElKqshI0OtlHpwct2SjCFiu7LgEqI5xgNgIj27CbzNuXL5uZcMQ9UUi4L
         n2ygVBKapydEj8PRS7vA7qGgqvcHwaJgXhzoUq7mh1POnQY+tI7C2PO6ML9+9sLgJ1r8
         Glowu7mrnakpAi5X+9Ako9cw6ZUoCeH0Ef5zJOcPcm90UkwNSAauyw/INMImJ4k65byS
         8x2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=5PQzwkHN8z09NGNF4LmDI4/p7ybKLldJHcAhvj8Xd+U=;
        b=KyBp24G85FF1Ot0miYPtZgRufYr4b8VDio1f6XvKvSOynB6clsTT7PKHrFzTDHQsNU
         +lZgmjsVP4SukBiyPSWDL3ACZHvcpQ0qGm9bsasCGWKAWjgmT0u1wyQaTVy9m07Gtn9A
         BH7qIa7C4i15innqQwuFQMEfeOA/gGSYEPXlUKzD5pQ38Q7FuAd5Nt37ZgLfFvwlhNdj
         ueC5kIs9O5kuYAUvfj21FrzFEr5QUCD4ZX2e8ffcvGAiK3p9M8Dp3BI6/yBUKXyjB2k3
         Peneoti/PPDk4uaWahNPBnagKEh4OBoaPd3mZPeis66UTyUshD6jhcHNgHSKB22xYT0r
         v1dg==
X-Gm-Message-State: AOAM533EKsffavDSmpFFYJxlUqR+1zrWFgcE0tcvAYNyo567N7gmC5dx
	8TCH8UHY+q9VaQMqOKz17Kbl9BO5mCk=
X-Google-Smtp-Source: ABdhPJzjzwFsTmey8Gg+SnIsa8yXju1ye0gOa73yPQu6Iy/Qz9SSMxac1QexONP7fILZ1HP1mSIvRw==
X-Received: by 2002:a5d:6acc:: with SMTP id u12mr28378566wrw.414.1624282674225;
        Mon, 21 Jun 2021 06:37:54 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/6] Clear unplug keys if Active device is not the Vendor
 device
To: win-pv-devel@lists.xenproject.org
References: <20210617123356.582-1-owen.smith@citrix.com>
Message-ID: <13f12225-dcbc-fa03-6d83-bb1f2b34cc20@xen.org>
Date: Mon, 21 Jun 2021 14:37:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210617123356.582-1-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 17/06/2021 13:33, Owen Smith wrote:
> When a VM has both Vendor device and the standard device, upgrades can be made
> for XenBus on the inactive device. In this case, the driver binaries are
> replaced but the coinstaller is not executed for the Active device, leading to
> the unplug keys remaining. When the VM is rebooted to complete the driver
> installation, both the Active and Inactive devices will use the new driver
> binaries, but the Active device will require the child devices rebinding to the
> potentially new hardware IDs exposed by the newer binary. This is not possible
> during early boot, and the absence of an emulated disk and not being able to
> enumerate the PV disk will result in a 0x7B bugcheck.
> The Vendor device is designed to be the prefered device, but is not required
> to be the active device (this is the case if the VMs configuration is changed
> after the drivers have been installed).
> It is possible to detect if the Active device is not the Vendor device during
> the Active device coinstaller, and clear the Unplug keys to avoid the problem
> where the VM will attempt to boot with unplugged emulated disks and PV disks
> that require rebinding, which results in a 0x7B bugcheck.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   src/coinst/coinst.c | 23 ++++++++++++++++++++---
>   1 file changed, 20 insertions(+), 3 deletions(-)
> 
> diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
> index b269df0..c29ce59 100644
> --- a/src/coinst/coinst.c
> +++ b/src/coinst/coinst.c
> @@ -1361,7 +1361,8 @@ static BOOLEAN
>   IsActiveDevice(
>       IN  HDEVINFO            DeviceInfoSet,
>       IN  PSP_DEVINFO_DATA    DeviceInfoData,
> -    OUT PBOOLEAN            ActiveDevice
> +    OUT PBOOLEAN            ActiveDevice,
> +    OUT PBOOLEAN            VendorIsActive
>       )
>   {
>       PTCHAR                  ActiveDeviceID;
> @@ -1392,6 +1393,20 @@ IsActiveDevice(
>           TRUE :
>           FALSE;
>   
> +#ifdef VENDOR_DEVICE_ID_STR
> +
> +#define DRIVER_VENDOR_DEVICE_ID "PCI\\VEN_5853&DEV_" ## VENDOR_DEVICE_ID_STR ## "&SUBSYS_C0005853&REV_01"
> +
> +    *VendorIsActive = (_stricmp(ActiveDeviceID, DRIVER_VENDOR_DEVICE_ID) == 0) ?
> +        TRUE :
> +        FALSE;
> +
> +#undef DRIVER_VENDOR_DEVICE_ID
> +
> +#else
> +    *VendorIsActive = FALSE;
> +#endif
> +
>       free(DeviceID);
>       free(InstanceID);
>   
> @@ -1778,6 +1793,7 @@ DifInstallPostProcess(
>   {
>       BOOLEAN                         NewBinding;
>       BOOLEAN                         Active;
> +    BOOLEAN                         VendorIsActive;
>   
>       Log("====>");
>   
> @@ -1787,12 +1803,13 @@ DifInstallPostProcess(
>   
>       (VOID) IsActiveDevice(DeviceInfoSet,
>                             DeviceInfoData,
> -                          &Active);
> +                          &Active,
> +                          &VendorIsActive);
>   
>       Log("Active = %s", Active ? "TRUE" : "FALSE");
>       Log("NewBinding = %s", NewBinding ? "TRUE" : "FALSE");
>   
> -    if (Active && NewBinding) {
> +    if ((Active && NewBinding) || !VendorIsActive) {
>           (VOID) ClearUnplugRequest("DISKS");
>           (VOID) ClearUnplugRequest("NICS");
>       }
> 



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 13:40:23 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 13:40:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145508.267673 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvKA3-0005um-EN; Mon, 21 Jun 2021 13:40:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145508.267673; Mon, 21 Jun 2021 13:40:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvKA3-0005uf-Bc; Mon, 21 Jun 2021 13:40:23 +0000
Received: by outflank-mailman (input) for mailman id 145508;
 Mon, 21 Jun 2021 13:40:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YVbB=LP=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lvKA2-0005uZ-6H
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 13:40:22 +0000
Received: from mail-wm1-x32a.google.com (unknown [2a00:1450:4864:20::32a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 887bea0a-416a-49eb-893f-5f1615f90dea;
 Mon, 21 Jun 2021 13:40:21 +0000 (UTC)
Received: by mail-wm1-x32a.google.com with SMTP id
 l7-20020a05600c1d07b02901b0e2ebd6deso1677wms.1
 for <win-pv-devel@lists.xenproject.org>; Mon, 21 Jun 2021 06:40:21 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:950a:b93c:9a9d:3022?
 ([2a00:23c5:5785:9a01:950a:b93c:9a9d:3022])
 by smtp.gmail.com with ESMTPSA id p13sm16807785wrt.89.2021.06.21.06.40.19
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Jun 2021 06:40:20 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 887bea0a-416a-49eb-893f-5f1615f90dea
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=mEisFZS4R8/6bi13MIOCJ6iNLa9xYVmjy6Yz1vSRjW0=;
        b=bpDzWopzFfvcrjSHrwCxd/cSEdJLBSAV4wz/WYnDY+PFU+g3qeyl1pxlxG7WFTlhTe
         fp4FjAr2KU0wpRQu+RL9OcQvxVdoHjRHl49veW3h+GeTNRNnQpl/zVCG+3Xz+gnQfsiW
         E0SPHVBfusC8mF2TJmOy9zVpMUOTkFHCfGYsayXOrGHNP5k3wk6o3gUgFQ7B+bmv43xd
         fpDHifT03OsKsZnA2hF6ny+wEPvBJpDlBt5AoMGZ0pr/H0sbahYf2jzjOhG/SsjylqmX
         wZR2rA2vJd6yoQfWLZVl/6G/iKfKrorGxEJvlHtsyBj4XVvM92pfjPHg/X7BhTr3Lk//
         XZKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=mEisFZS4R8/6bi13MIOCJ6iNLa9xYVmjy6Yz1vSRjW0=;
        b=DyoBb5SaAE7FGNxBox4F9TgW9/I9twio0Hfi0bw/npgFoE2RrYHBXyfovSuIYiXuA5
         /XM0vjqMZW23FN5Uk+BJZxVMtDAz8d4FzMIJ63eMr8m+1Jp3F+G4QSSFOCpje5f7c18p
         qKeXtEweahbbvRi6mLbA837jiZ4hLNh9qZu5gkigujmHmuTBFsrA4yus6rrHTwnDGZx2
         9f0A5D100McZPt2EGIuJY4dWclbYOHjVwapjumUsjStRxSy35ikOZe8tIvZ+k9fT5iIb
         qxpw3io2jQgzFFMKlCaALdK8r2HJiEXzvVX52iRRHmHHBvoTDC9rDezoNnwhebERgiA4
         y/8g==
X-Gm-Message-State: AOAM532AE22qC36Y55VwTJBdg61V2A2qdNm9Tfs49W9bZz7P5bx736El
	p9Yp2czKOGPqmTFT89QBMzKf53lz9Qc=
X-Google-Smtp-Source: ABdhPJxTHLJwN5nqsL42UhyOZ006SDLTLErNJoXfAD81ij8L/f1MkunDK8I8gLpeLG+FJi9drhHzNA==
X-Received: by 2002:a05:600c:5112:: with SMTP id o18mr26464153wms.15.1624282820517;
        Mon, 21 Jun 2021 06:40:20 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/6] Skip stale device config when checking child
 compatibility
To: win-pv-devel@lists.xenproject.org
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-2-owen.smith@citrix.com>
Message-ID: <6f6a66b4-a118-6892-9ef2-27a75bb35d7c@xen.org>
Date: Mon, 21 Jun 2021 14:40:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210617123356.582-2-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 17/06/2021 13:33, Owen Smith wrote:
> When a device is updated, the Enum key for the old binding is not deleted.
> This can lead to a device binding that is not in use (has been replaced by
> a later binding) triggering the coinstaller to fail the upgrade to a newer
> version. This is especially prevelent when the older stale information was
> bound to a revision that is not present in the new driver INF file.
> 
> This fix ignores the stale entries under the Enum key when performing the
> compatibility checks.
> 
> e.g.
> tag 8.2.1 has 0x08000009 to 0x08000009 for its bindings
> tag 9.0.0 has 0x08000009 to 0x09000007 for its bindings
> commit a9631142d0be removed v8 revisions, leaving only 0x0900000x revisions
> It should be possible to upgrade from tag 8.2.1 to tag 9.0.0 and then to
> commits after a9631142d0be. At each stage of this upgrade, the revisions
> overlap, even if the initial and end revisions do not have an overlap.
> It is not possible to upgrade directly from tag 8.2.1 to commit a9631142d0be,
> as there is no common revision that can be used.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   src/coinst/coinst.c | 37 +++++++++++++++++++++++++++++++------
>   1 file changed, 31 insertions(+), 6 deletions(-)
> 
> diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
> index c29ce59..8dc290c 100644
> --- a/src/coinst/coinst.c
> +++ b/src/coinst/coinst.c
> @@ -575,7 +575,8 @@ fail1:
>   static BOOLEAN
>   GetDriverKeyName(
>       IN  HKEY    DeviceKey,
> -    OUT PTCHAR  *Name
> +    OUT PTCHAR  *Name,
> +    OUT DWORD   *ConfigFlags
>       )
>   {
>       HRESULT     Error;
> @@ -586,6 +587,7 @@ GetDriverKeyName(
>       DWORD       Index;
>       HKEY        SubKey;
>       PTCHAR      DriverKeyName;
> +    DWORD       Flags;
>   
>       Error = RegQueryInfoKey(DeviceKey,
>                               NULL,
> @@ -612,9 +614,11 @@ GetDriverKeyName(
>   
>       SubKey = NULL;
>       DriverKeyName = NULL;
> +    Flags = 0;
>   
>       for (Index = 0; Index < SubKeys; Index++) {
>           DWORD       MaxValueLength;
> +        DWORD       ConfigFlagsLength;
>           DWORD       DriverKeyNameLength;
>           DWORD       Type;
>   
> @@ -661,6 +665,18 @@ GetDriverKeyName(
>               goto fail4;
>           }
>   
> +        ConfigFlagsLength = (DWORD)sizeof(DWORD);
> +
> +        Error = RegQueryValueEx(SubKey,
> +                                "ConfigFlags",
> +                                NULL,
> +                                &Type,
> +                                (LPBYTE)&Flags,
> +                                &ConfigFlagsLength);
> +        if (Error != ERROR_SUCCESS ||
> +            Type != REG_DWORD)
> +            Flags = 0;
> +
>           DriverKeyNameLength = MaxValueLength + sizeof (TCHAR);
>   
>           DriverKeyName = calloc(1, DriverKeyNameLength);
> @@ -679,6 +695,7 @@ GetDriverKeyName(
>   
>           free(DriverKeyName);
>           DriverKeyName = NULL;
> +        Flags = 0;
>   
>           RegCloseKey(SubKey);
>           SubKey = NULL;
> @@ -692,6 +709,8 @@ GetDriverKeyName(
>       free(SubKeyName);
>   
>       *Name = DriverKeyName;
> +    if (ConfigFlags)
> +        *ConfigFlags = Flags;
>       return TRUE;
>   
>   fail5:
> @@ -851,7 +870,7 @@ found:
>           goto fail3;
>   
>       // Check for a bound driver
> -    Success = GetDriverKeyName(DeviceKey, &DriverKeyName);
> +    Success = GetDriverKeyName(DeviceKey, &DriverKeyName, NULL);
>       if (!Success)
>           goto fail4;
>   
> @@ -1452,6 +1471,7 @@ SupportChildDrivers(
>       PTCHAR          SubKeyName;
>       HKEY            DeviceKey;
>       PTCHAR          DriverKeyName;
> +    DWORD           ConfigFlags;
>       HKEY            DriverKey;
>       PTCHAR          MatchingDeviceID;
>       DWORD           Index;
> @@ -1511,20 +1531,23 @@ SupportChildDrivers(
>           if (!Success)
>               goto fail5;
>   
> -        Success = GetDriverKeyName(DeviceKey, &DriverKeyName);
> +        Success = GetDriverKeyName(DeviceKey, &DriverKeyName, &ConfigFlags);
>           if (!Success)
>               goto fail6;
>   
>           if (DriverKeyName == NULL)
>               goto loop1;
>   
> +        if (ConfigFlags & 0x20)
> +            goto loop2;
> +
>           Success = OpenDriverKey(DriverKeyName, &DriverKey);
>           if (!Success)
> -            goto loop2;
> +            goto loop3;
>   
>           Success = GetMatchingDeviceID(DriverKey, &MatchingDeviceID);
>           if (!Success)
> -            goto loop3;
> +            goto loop4;
>   
>           Success = SupportDeviceID(MatchingDeviceID, NewBinding);
>           if (!Success)
> @@ -1532,9 +1555,11 @@ SupportChildDrivers(
>   
>           free(MatchingDeviceID);
>   
> -    loop3:
> +    loop4:
>           RegCloseKey(DriverKey);
>   
> +    loop3:
> +
>       loop2:
>           free(DriverKeyName);
>   
> 



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 13:47:54 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 13:47:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145523.267683 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvKHJ-00068J-61; Mon, 21 Jun 2021 13:47:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145523.267683; Mon, 21 Jun 2021 13:47:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvKHJ-00068C-2w; Mon, 21 Jun 2021 13:47:53 +0000
Received: by outflank-mailman (input) for mailman id 145523;
 Mon, 21 Jun 2021 13:47:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YVbB=LP=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lvKHH-000686-G8
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 13:47:51 +0000
Received: from mail-wm1-x336.google.com (unknown [2a00:1450:4864:20::336])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7f691f30-4f4d-4f36-8c4c-ff41d1d8d9ac;
 Mon, 21 Jun 2021 13:47:50 +0000 (UTC)
Received: by mail-wm1-x336.google.com with SMTP id
 j21-20020a05600c1c15b02901dde2accccbso9710wms.4
 for <win-pv-devel@lists.xenproject.org>; Mon, 21 Jun 2021 06:47:50 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:950a:b93c:9a9d:3022?
 ([2a00:23c5:5785:9a01:950a:b93c:9a9d:3022])
 by smtp.gmail.com with ESMTPSA id g17sm22596415wrh.72.2021.06.21.06.47.49
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Jun 2021 06:47:49 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f691f30-4f4d-4f36-8c4c-ff41d1d8d9ac
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=wHsM+0istdWx4eHP0Eyq/yfLhl077qxbYvc3jxK2W9g=;
        b=pG45tK/roOXMmb4Inzok67DebNEEYY8zAl6IYkBVsk0636kE6KNaq7qsd24+faQrtq
         89eMVoAhplU4oFbZ5ZEjOnEwGUkB9k2TUKmuNszB83oy8wUNhT+87CXIHAE5kD9ZOM5w
         R2bAcAA18taqFV9vvu0C4mcli1HL/PJGabnm/A9k7nXQ/ljG2MI4aiYb3+x/SJJVE+Xd
         Zwa1O0qQoLZ2E2ZpiJBbsaLY+b9EyBQUT3ydckiTzShevgQ3A4AtCXGqhjbhJkTfpMIH
         gD3+Ds7Th0LKGpre4q8aY2+Jts1eQ/DZHjUqMb3MljZTRxLy40LdyyjSmVBu7j/D+KEa
         /AHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=wHsM+0istdWx4eHP0Eyq/yfLhl077qxbYvc3jxK2W9g=;
        b=t7hGiQsdxZQRp+HU2fvPhIlDN4sSs+soKlttkyxHl3AoNjg0NZVwj1CLB2GL44t/n0
         KUoMGJylBGhls9M13touZNQ2ljL9hSF0Iz3TWeL8nCXB57/qv2/4TLcv1Bcb/RPxC1/a
         ujxpb7/0NEeecYEEiLtAjMomyUusFmHVywpjjYrO8WQmD3EGkevBPcrHTkeV788zcjQS
         uFA1EPv7bT3r9tvZEJ7ShRwW3xXQfwfMR5XIQwy4vVJ2VfkCRziWJFtaGxYvrti4WPeR
         vBRJl6fgWozRzp2x7c3piM3qdEEK7YSvpzxDJ5QPDLRn4b0SduD1V9RCUWzhd7DRq56n
         /s/g==
X-Gm-Message-State: AOAM532yFiu1h1vT0E8CLR+sFHzazDawNk/mpb2ZPmwLEBhdXx0QH6Mi
	1aAahu/SyqY60YsYlW5dNOJyGERjhAA=
X-Google-Smtp-Source: ABdhPJzxK25X9iaLv/Yv/Ad4jIV1u5cf2KDaofKIFcBHUWkoEWMPFNYPeB5SIGZktx9u/+30uX/EVQ==
X-Received: by 2002:a7b:c3c6:: with SMTP id t6mr26966207wmj.160.1624283269870;
        Mon, 21 Jun 2021 06:47:49 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 3/6] Delete stornvme's StartOverride
To: win-pv-devel@lists.xenproject.org
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-3-owen.smith@citrix.com>
Message-ID: <8218f216-5d69-501f-4620-036213da7a49@xen.org>
Date: Mon, 21 Jun 2021 14:47:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210617123356.582-3-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 17/06/2021 13:33, Owen Smith wrote:
> Using an emulated NVMe device for installation will not be able to
> revert to emulated NVMe device once xenvbd has been used to boot. This
> is due to stornvme creating a StartOverride value that overrides
> stornvme's StartType to manual (from boot) when stornvme is not loaded
> during boot. This occurs when xenbus has unplugged the emulated NVMe
> controller at boot. Disabling the unplug is not sufficient to have
> stornvme load at boot, which results in a 0x7B bugcheck.

Ick!

> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>
> ---
>   src/monitor/monitor.c | 60 +++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 60 insertions(+)
> 
> diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c

Not sure the monitor is the best place to do this; it seems a little too 
critical for that. Could we use this ancient interface instead?

https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/nf-ntddk-ioregisterbootdriverreinitialization

   Paul

> index 9adfb79..c858249 100644
> --- a/src/monitor/monitor.c
> +++ b/src/monitor/monitor.c
> @@ -1172,6 +1172,64 @@ fail1:
>       return FALSE;
>   }
>   
> +static BOOL
> +DeleteStartOverride(
> +    _In_    LPTSTR      DriverName
> +    )
> +{
> +    TCHAR               ServiceKeyName[MAX_PATH];
> +    HKEY                Key;
> +    HRESULT             Error;
> +
> +    Error = StringCbPrintf(ServiceKeyName,
> +                            MAX_PATH,
> +                            SERVICES_KEY "\\%s",
> +                            DriverName);
> +    if (!SUCCEEDED(Error))
> +        goto fail1;
> +
> +    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
> +                         ServiceKeyName,
> +                         0,
> +                         KEY_ALL_ACCESS,
> +                         &Key);
> +    if (Error != ERROR_SUCCESS) {
> +        SetLastError(Error);
> +        goto fail2;
> +    }
> +
> +    Error = RegDeleteTree(Key,
> +                          "StartOverride");
> +    if (Error != ERROR_SUCCESS) {
> +        SetLastError(Error);
> +        goto fail3;
> +    }
> +
> +    RegCloseKey(Key);
> +
> +    return TRUE;
> +
> +fail3:
> +    Log("fail3");
> +
> +    RegCloseKey(Key);
> +
> +fail2:
> +    Log("fail2");
> +
> +fail1:
> +    Error = GetLastError();
> +
> +    {
> +        PTCHAR  Message;
> +        Message = GetErrorMessage(Error);
> +        Log("fail1 (%s)", Message);
> +        LocalFree(Message);
> +    }
> +
> +    return FALSE;
> +}
> +
>   VOID WINAPI
>   MonitorMain(
>       _In_    DWORD       argc,
> @@ -1251,6 +1309,7 @@ MonitorMain(
>       if (!Success)
>           goto fail9;
>   
> +    (VOID) DeleteStartOverride("stornvme");
>       SetEvent(Context->RequestEvent);
>   
>       ReportStatus(SERVICE_RUNNING, NO_ERROR, 0);
> @@ -1285,6 +1344,7 @@ MonitorMain(
>       }
>   
>   done:
> +    (VOID) DeleteStartOverride("stornvme");
>       (VOID) RegDeleteTree(Context->RequestKey, NULL);
>   
>       free(Context->Question);
> 



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 13:57:34 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 13:57:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145529.267687 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvKQe-00071o-UF; Mon, 21 Jun 2021 13:57:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145529.267687; Mon, 21 Jun 2021 13:57:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvKQe-00071h-RR; Mon, 21 Jun 2021 13:57:32 +0000
Received: by outflank-mailman (input) for mailman id 145529;
 Mon, 21 Jun 2021 13:57:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YVbB=LP=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lvKQd-00071Y-C9
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 13:57:31 +0000
Received: from mail-wr1-x434.google.com (unknown [2a00:1450:4864:20::434])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 76d7e896-6cf7-422d-abe9-3925cecef794;
 Mon, 21 Jun 2021 13:57:30 +0000 (UTC)
Received: by mail-wr1-x434.google.com with SMTP id e22so16228468wrc.1
 for <win-pv-devel@lists.xenproject.org>; Mon, 21 Jun 2021 06:57:30 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:950a:b93c:9a9d:3022?
 ([2a00:23c5:5785:9a01:950a:b93c:9a9d:3022])
 by smtp.gmail.com with ESMTPSA id y14sm11510840wrq.66.2021.06.21.06.57.28
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Jun 2021 06:57:28 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76d7e896-6cf7-422d-abe9-3925cecef794
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=TFVR5JeoMG42xwM+V2kyUxK38VYjL1ee5iqNbLWvpjo=;
        b=ACfd0z5Bb872zycRWhIwBqcvzzDp67JNBKIChWOAFAlFtXZ2MDsjsQqBNS0fvFbOdq
         EwYhCyKl+ILcp9UjDQhezO49b7dWXczGizZFpUg9OojwD1XLVT3L+FR9z+qk4EhS31KD
         IfZKbLEo1760N9L2o8A+OXbE35EEqSlNKibxN6PgF9J9EM47wL2mec3iReZfV/lHgg1B
         bsAKsI1iuiGg+scb7h0Z4jWsPOkJ9L0O+xB/wYuzc9wmSn+BAx1cyIDJvMu5Tyi+1mtU
         8v/keIJaJd0QJTKRNH2I85l2ZJGWU7OgX5AH7y/qzVNZuKslbK/8nxk18UegF8zDgylm
         quxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=TFVR5JeoMG42xwM+V2kyUxK38VYjL1ee5iqNbLWvpjo=;
        b=a9swiXTNMWGpiqzjOTzYl9QNNduKRfgDqwFrVjtgxINqiXNCk9jCSCEWtZjYmJlozU
         rqPjhHr8AJfMUYHOoc3HqUV4B0lJENUOFMVu58kHUWw42qm6qdKp6T36R0Lgi9YMSkVI
         /6bTiPBK6iGC/oSUTWlXokjO6ZLRUrAGWC944gFefl04JgEcC+l0YMc7zuY94OaBCLmN
         Xtmk1JaCKfkZFdCzv6TCreXnsScXFW1whd9ZhyGGNB+/D2Dn1pAklpCl+wT9eekJyX96
         zLG++SW9e4yxpxVk9+hkkQD8FGlWmvBMg4SRSNToqTCLSb+7vGNc/8RCI8JSjoOXLtTW
         n5Ww==
X-Gm-Message-State: AOAM530EFlaXYKlh+o3g8HmT8mFp0c4KlBpveLRcUNrT161MR8poxXTf
	IO0dxxhYAPvjs6jCcSOKdhGR9ec8pbc=
X-Google-Smtp-Source: ABdhPJzBAANZQFHdM5PTL5qFNnz/M6PxMAleEZwFXRAWbD92703bD7uF55uBrRXW+22oxic45/Ubcw==
X-Received: by 2002:a5d:548a:: with SMTP id h10mr16607468wrv.234.1624283849335;
        Mon, 21 Jun 2021 06:57:29 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 4/6] Add emulated type override per device ID
To: win-pv-devel@lists.xenproject.org
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-4-owen.smith@citrix.com>
Message-ID: <6cad3d24-838e-9c33-7fc0-46e719a4c5e4@xen.org>
Date: Mon, 21 Jun 2021 14:57:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210617123356.582-4-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 17/06/2021 13:33, Owen Smith wrote:
> Add the option to override a device nodes emulated type for a specific
> device ID, and adds the NVME type.
> Specific HardwareIDs may be associated with a more specific type than 'Device'.
> Add a way of specifying a particular HardwareID as an emulated NVMe controller
> so that when XenVbd queries if a disk is present, XenFilt can respond correctly
> if either its emulated IDE disk or emulated NVMe disk is present.
> Certain upgrade situations could leave the unplug key empty (so the emulated
> NVMe device is in use), and this could lead to XenVbd not identifying the
> emulated NVMe disk and proceeding to connect to the backend (which could already
> be in use by the emulated NVMe disk). This situation leads to a recovery prompt
> "A required device isn't connected or can't be accessed"
> 
> Note: this patch doesnt define the HardwareID(s) associated with emulated NVMe
> devices, as this is dependent on the VM configuration.

Could we not use CompatibleIDs and look for "PCI\\CC_010802" (or perhaps 
even drop the 02)?

   Paul

> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>
> ---
>   src/xenfilt/driver.c   | 20 +++++++++++++----
>   src/xenfilt/driver.h   |  5 +++++
>   src/xenfilt/emulated.c | 48 ++++++++++++++++++++++++++++++++++++++++
>   src/xenfilt/emulated.h |  3 ++-
>   src/xenfilt/pdo.c      | 50 ++++++++++++++++++++++++++++++++++++++++++
>   5 files changed, 121 insertions(+), 5 deletions(-)
> 
> diff --git a/src/xenfilt/driver.c b/src/xenfilt/driver.c
> index e9e6673..e25c208 100644
> --- a/src/xenfilt/driver.c
> +++ b/src/xenfilt/driver.c
> @@ -723,6 +723,21 @@ fail1:
>       return status;
>   }
>   
> +XENFILT_EMULATED_OBJECT_TYPE
> +DriverParseEmulatedType(
> +    IN  PANSI_STRING                Ansi
> +    )
> +{
> +    if (_strnicmp(Ansi->Buffer, "PCI", Ansi->Length) == 0)
> +        return XENFILT_EMULATED_OBJECT_TYPE_PCI;
> +    else if (_strnicmp(Ansi->Buffer, "IDE", Ansi->Length) == 0)
> +        return XENFILT_EMULATED_OBJECT_TYPE_IDE;
> +    else if (_strnicmp(Ansi->Buffer, "NVME", Ansi->Length) == 0)
> +        return XENFILT_EMULATED_OBJECT_TYPE_NVME;
> +
> +    return XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN;
> +}
> +
>   static XENFILT_EMULATED_OBJECT_TYPE
>   DriverGetEmulatedType(
>       IN  PCHAR                       Id
> @@ -753,10 +768,7 @@ DriverGetEmulatedType(
>           if (NT_SUCCESS(status)) {
>               Info("MATCH: %s -> %Z\n", &Id[Index], Ansi);
>   
> -            if (_strnicmp(Ansi->Buffer, "PCI", Ansi->Length) == 0)
> -                Type = XENFILT_EMULATED_OBJECT_TYPE_PCI;
> -            else if (_strnicmp(Ansi->Buffer, "IDE", Ansi->Length) == 0)
> -                Type = XENFILT_EMULATED_OBJECT_TYPE_IDE;
> +            Type = DriverParseEmulatedType(Ansi);
>   
>               RegistryFreeSzValue(Ansi);
>           } else {
> diff --git a/src/xenfilt/driver.h b/src/xenfilt/driver.h
> index 286580b..ee656c8 100644
> --- a/src/xenfilt/driver.h
> +++ b/src/xenfilt/driver.h
> @@ -90,6 +90,11 @@ DriverQueryDeviceText(
>   
>   #include "emulated.h"
>   
> +XENFILT_EMULATED_OBJECT_TYPE
> +DriverParseEmulatedType(
> +    IN  PANSI_STRING                Ansi
> +    );
> +
>   PXENFILT_EMULATED_CONTEXT
>   DriverGetEmulatedContext(
>       VOID
> diff --git a/src/xenfilt/emulated.c b/src/xenfilt/emulated.c
> index 827c905..df8cbaf 100644
> --- a/src/xenfilt/emulated.c
> +++ b/src/xenfilt/emulated.c
> @@ -52,9 +52,15 @@ typedef struct _XENFILT_EMULATED_DISK_DATA {
>       ULONG   Index;
>   } XENFILT_EMULATED_DISK_DATA, *PXENFILT_EMULATED_DISK_DATA;
>   
> +typedef struct _XENFILT_EMULATED_NVME_DATA {
> +    ULONG   StartIndex;
> +    ULONG   EndIndex;
> +} XENFILT_EMULATED_NVME_DATA, *PXENFILT_EMULATED_NVME_DATA;
> +
>   typedef union _XENFILT_EMULATED_OBJECT_DATA {
>       XENFILT_EMULATED_DEVICE_DATA Device;
>       XENFILT_EMULATED_DISK_DATA   Disk;
> +    XENFILT_EMULATED_NVME_DATA   Nvme;
>   } XENFILT_EMULATED_OBJECT_DATA, *PXENFILT_EMULATED_OBJECT_DATA;
>   
>   struct _XENFILT_EMULATED_OBJECT {
> @@ -189,6 +195,34 @@ fail1:
>       return status;
>   }
>   
> +static NTSTATUS
> +EmulatedSetObjectNvmeData(
> +    IN  PXENFILT_EMULATED_OBJECT        EmulatedObject,
> +    IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
> +    IN  PCHAR                           DeviceID,
> +    IN  PCHAR                           InstanceID
> +    )
> +{
> +    NTSTATUS                            status;
> +
> +    UNREFERENCED_PARAMETER(DeviceID);
> +    UNREFERENCED_PARAMETER(InstanceID);
> +
> +    status = STATUS_INVALID_PARAMETER;
> +    if (Type != XENFILT_EMULATED_OBJECT_TYPE_NVME)
> +        goto fail1;
> +
> +    EmulatedObject->Data.Nvme.StartIndex = 0;
> +    EmulatedObject->Data.Nvme.EndIndex = 3;
> +
> +    return STATUS_SUCCESS;
> +
> +fail1:
> +    Error("fail1 (%08x)\n", status);
> +
> +    return status;
> +}
> +
>   NTSTATUS
>   EmulatedAddObject(
>       IN  PXENFILT_EMULATED_CONTEXT       Context,
> @@ -224,6 +258,13 @@ EmulatedAddObject(
>                                              InstanceID);
>           break;
>   
> +    case XENFILT_EMULATED_OBJECT_TYPE_NVME:
> +        status = EmulatedSetObjectNvmeData(*EmulatedObject,
> +                                           Type,
> +                                           DeviceID,
> +                                           InstanceID);
> +        break;
> +
>       default:
>           status = STATUS_INVALID_PARAMETER;
>           break;
> @@ -339,6 +380,13 @@ EmulatedIsDiskPresent(
>               break;
>           }
>   
> +        if (EmulatedObject->Type == XENFILT_EMULATED_OBJECT_TYPE_NVME &&
> +            Index >= EmulatedObject->Data.Nvme.StartIndex &&
> +            Index <= EmulatedObject->Data.Nvme.EndIndex) {
> +            Trace("FOUND\n");
> +            break;
> +        }
> +
>           ListEntry = ListEntry->Flink;
>       }
>   
> diff --git a/src/xenfilt/emulated.h b/src/xenfilt/emulated.h
> index 57edee2..499e43c 100644
> --- a/src/xenfilt/emulated.h
> +++ b/src/xenfilt/emulated.h
> @@ -41,7 +41,8 @@ typedef struct _XENFILT_EMULATED_CONTEXT XENFILT_EMULATED_CONTEXT, *PXENFILT_EMU
>   typedef enum _XENFILT_EMULATED_OBJECT_TYPE {
>       XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN = 0,
>       XENFILT_EMULATED_OBJECT_TYPE_PCI,
> -    XENFILT_EMULATED_OBJECT_TYPE_IDE
> +    XENFILT_EMULATED_OBJECT_TYPE_IDE,
> +    XENFILT_EMULATED_OBJECT_TYPE_NVME
>   } XENFILT_EMULATED_OBJECT_TYPE, *PXENFILT_EMULATED_OBJECT_TYPE;
>   
>   typedef struct _XENFILT_EMULATED_OBJECT XENFILT_EMULATED_OBJECT, *PXENFILT_EMULATED_OBJECT;
> diff --git a/src/xenfilt/pdo.c b/src/xenfilt/pdo.c
> index 0f6e6ce..b0e0e0f 100644
> --- a/src/xenfilt/pdo.c
> +++ b/src/xenfilt/pdo.c
> @@ -42,6 +42,7 @@
>   #include "pdo.h"
>   #include "thread.h"
>   #include "driver.h"
> +#include "registry.h"
>   #include "dbg_print.h"
>   #include "assert.h"
>   #include "util.h"
> @@ -251,6 +252,54 @@ __PdoGetFdo(
>       return Pdo->Fdo;
>   }
>   
> +
> +static FORCEINLINE NTSTATUS
> +__PdoGetEmulatedTypeOverride(
> +    IN  PXENFILT_PDO                Pdo,
> +    IN  PCHAR                       DeviceID
> +    )
> +{
> +    XENFILT_EMULATED_OBJECT_TYPE    Type;
> +    PANSI_STRING                    Ansi;
> +    HANDLE                          ParametersKey;
> +    HANDLE                          OverrideKey;
> +    NTSTATUS                        status;
> +
> +    ParametersKey = DriverGetParametersKey();
> +
> +    status = RegistryOpenSubKey(ParametersKey,
> +                                "Override",
> +                                GENERIC_READ,
> +                                &OverrideKey);
> +    if (!NT_SUCCESS(status))
> +        goto fail1;
> +
> +    status = RegistryQuerySzValue(OverrideKey,
> +                                  DeviceID,
> +                                  NULL,
> +                                  &Ansi);
> +    if (!NT_SUCCESS(status))
> +        goto fail2;
> +
> +    Type = DriverParseEmulatedType(Ansi);
> +    if (Type != XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN) {
> +        Info("%s = %Z\n", DeviceID, Ansi);
> +        Pdo->Type = Type;
> +    }
> +
> +    RegistryFreeSzValue(Ansi);
> +
> +    RegistryCloseKey(OverrideKey);
> +
> +    return STATUS_SUCCESS;
> +
> +fail2:
> +    RegistryCloseKey(OverrideKey);
> +
> +fail1:
> +    return status;
> +}
> +
>   static NTSTATUS
>   PdoSetDeviceInformation(
>       IN  PXENFILT_PDO    Pdo
> @@ -313,6 +362,7 @@ PdoSetDeviceInformation(
>       Dx->DeviceID = DeviceID;
>       Dx->InstanceID = InstanceID;
>       Dx->LocationInformation = LocationInformation;
> +    (VOID) __PdoGetEmulatedTypeOverride(Pdo, DeviceID);
>   
>       return STATUS_SUCCESS;
>   
> 



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 14:02:52 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 14:02:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145535.267692 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvKVn-0007wk-Bn; Mon, 21 Jun 2021 14:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145535.267692; Mon, 21 Jun 2021 14:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvKVn-0007wd-8k; Mon, 21 Jun 2021 14:02:51 +0000
Received: by outflank-mailman (input) for mailman id 145535;
 Mon, 21 Jun 2021 14:02:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YVbB=LP=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lvKVl-0007wX-DJ
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 14:02:49 +0000
Received: from mail-wr1-x42a.google.com (unknown [2a00:1450:4864:20::42a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 04637dbd-86a3-4520-aa5e-25bb09656e00;
 Mon, 21 Jun 2021 14:02:48 +0000 (UTC)
Received: by mail-wr1-x42a.google.com with SMTP id n7so19823497wri.3
 for <win-pv-devel@lists.xenproject.org>; Mon, 21 Jun 2021 07:02:48 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:950a:b93c:9a9d:3022?
 ([2a00:23c5:5785:9a01:950a:b93c:9a9d:3022])
 by smtp.gmail.com with ESMTPSA id i3sm11700053wmb.15.2021.06.21.07.02.46
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 21 Jun 2021 07:02:47 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04637dbd-86a3-4520-aa5e-25bb09656e00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=eBKTX5pH+g7cvAGBygn/qzbT44X7V8YLw7KJwgqWvNQ=;
        b=msVC54EXFOgU39Adb1LUUipvs4W3eBr9mfhivQVHIf7quMLU9Aonr7miHO/8wjb59X
         t04ca/Pl2JIEqjgKqC+kFA0ldoagDVJPoAQmze3XcL4SIeKAaDi3+XLLpOY/JndM/Doo
         CBPrF2H1QJ5B7T9b9Ci99q365GuHA/bFMg9+tRIBAnZyqAYIkr9rdmmctP9sS2wEOHKQ
         B7WgEqyDvX97HjzhWbbwkce8JADjO75o0M42O52QOH90VzP7vgjqNhP/cUpBavEKtnnN
         LtJJ2tq6KwEPlLizc45/bgFch3BlNs3r8DckTzl5dbcDJuGRRzaBHQxxD41HiZUhSMdt
         n2Cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=eBKTX5pH+g7cvAGBygn/qzbT44X7V8YLw7KJwgqWvNQ=;
        b=NDc8x/Unn458G0qUlorVk6usNn/Olvc+iHr+JWaybXytGVIFZW8mTArxFL9aEKZsUx
         /6u5+rFhSBdMtDGoAusTBOB5MPdL0mYvN0k7/EylVYGAAk6AHbo+DpPrRrldTXbG+55H
         3puCJajeANEqqSUGbWK13qTxeMGmuLi/WZzaBB16waH7+I2rRvT2OmqQBxV9QpILldSS
         SW4i0fn1Xh8lKa7dbXYNl2GoWSqkkGE41S7lvr25Zlum1l0gZgyr4nVloG948+RPLUxa
         TE9ZGlNG3jHB2rQMC6xoOxJeKiIlmiCtxnfTtRP2Bqhnj7WiSQwRw+oAWq223kJ/T9Or
         dyYw==
X-Gm-Message-State: AOAM531EnrSpOAPG6PqiMYo2vA/7TFVPJpClnCy2N0CGNSLCXKTJBBXx
	Y+hNcVDIkMnkODEWcW7jzI+d8qyQONE=
X-Google-Smtp-Source: ABdhPJxu0Bdr2j4m+dpkMhz9SGSzBZorFIzMaaHEfayw25UotLkXyHu8xHqo4q+VVHW5RH2WObKFTg==
X-Received: by 2002:a5d:5302:: with SMTP id e2mr1515562wrv.75.1624284167584;
        Mon, 21 Jun 2021 07:02:47 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 6/6] Dont always remove XenFilt from UpperFilters
To: win-pv-devel@lists.xenproject.org
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-6-owen.smith@citrix.com>
Message-ID: <acd9a907-ebeb-74ff-1952-7eab947cacfe@xen.org>
Date: Mon, 21 Jun 2021 15:02:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210617123356.582-6-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 17/06/2021 13:33, Owen Smith wrote:
> There is a race which can prevent XenFilt from having AddDevice
> correctly called on some devices. This seems to happen more frequently
> after driver upgrades.
> It seems this is due to XenBus!DriverEntry removing XenFilt before
> XenBus!AddDevice inserts XenFilt into the UpperFilters value. In this
> gap, PnP manager can sample the UpperFilters key and fail to bind
> XenFilt to the required device stacks. This leads to XenFilt failing
> to determine the active device, which prevents the device unplugs
> from occuring, leading to a constant cycle of reboot prompts from
> xenbus_monitor.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

This is a partial reversion of 9d28a9e9b798f "Avoid removing filters on 
upgrade installations". I think you need to state why that commit was 
wrong (assuming it was).

   Paul

> ---
>   src/xenbus/driver.c | 12 +++++++-----
>   1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/src/xenbus/driver.c b/src/xenbus/driver.c
> index 1b621fa..e66bf45 100644
> --- a/src/xenbus/driver.c
> +++ b/src/xenbus/driver.c
> @@ -296,6 +296,9 @@ DriverRemoveFunctionDeviceObject(
>       RemoveEntryList(&Dx->ListEntry);
>       ASSERT3U(Driver.References, !=, 0);
>       References = --Driver.References;
> +
> +    if (References == 1)
> +        FiltersUninstall();
>   }
>   
>   //
> @@ -859,16 +862,15 @@ DriverEntry(
>                         MICRO_VERSION,
>                         BUILD_NUMBER);
>       if (!NT_SUCCESS(status)) {
> -        if (status == STATUS_INCOMPATIBLE_DRIVER_BLOCKED)
> +        if (status == STATUS_INCOMPATIBLE_DRIVER_BLOCKED) {
> +            // Re-instate XenFilt to avoid a second required reboot
> +            FiltersInstall();
>               __DriverRequestReboot();
> +        }
>   
>           goto done;
>       }
>   
> -    // Remove the filters from the registry. They will be re-instated by
> -    // the first successful AddDevice.
> -    FiltersUninstall();
> -
>       DriverObject->DriverExtension->AddDevice = DriverAddDevice;
>   
>       for (Index = 0; Index <= IRP_MJ_MAXIMUM_FUNCTION; Index++) {
> 



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 14:39:30 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 14:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145541.267696 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvL5G-0002Ad-15; Mon, 21 Jun 2021 14:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145541.267696; Mon, 21 Jun 2021 14:39:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvL5F-0002AV-UJ; Mon, 21 Jun 2021 14:39:29 +0000
Received: by outflank-mailman (input) for mailman id 145541;
 Mon, 21 Jun 2021 14:39:28 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul.durrant@xenproject.org>) id 1lvL5E-0002A4-Jn
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 14:39:28 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
Date: Mon, 21 Jun 2021 14:39:14 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <25216596.1.1624286357341.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
Subject: XENVBD-master - Build #154 - Successful
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_0_12511512.1624286355904"
X-Jenkins-Job: XENVBD-master
X-Jenkins-Result: SUCCESS


------=_Part_0_12511512.1624286355904
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #154.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENVBD-master/154/console to view the results.
------=_Part_0_12511512.1624286355904--


From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 14:53:18 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 14:53:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145549.267699 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLIb-0003or-0v; Mon, 21 Jun 2021 14:53:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145549.267699; Mon, 21 Jun 2021 14:53:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLIa-0003ok-UN; Mon, 21 Jun 2021 14:53:16 +0000
Received: by outflank-mailman (input) for mailman id 145549;
 Mon, 21 Jun 2021 14:53:14 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul.durrant@xenproject.org>) id 1lvLIY-0003oe-Qs
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 14:53:14 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
Date: Mon, 21 Jun 2021 14:53:03 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <28601988.3.1624287183404.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
Subject: XENBUS-master - Build #220 - Successful
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_2_33424285.1624287183186"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS


------=_Part_2_33424285.1624287183186
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #220.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENBUS-master/220/console to view the results.
------=_Part_2_33424285.1624287183186--


From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 15:32:57 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 15:32:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145559.267709 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLux-0007Ep-05; Mon, 21 Jun 2021 15:32:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145559.267709; Mon, 21 Jun 2021 15:32:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLuw-0007Ei-TP; Mon, 21 Jun 2021 15:32:54 +0000
Received: by outflank-mailman (input) for mailman id 145559;
 Mon, 21 Jun 2021 15:32:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IH8w=LP=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lvLuw-0007EY-33
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 15:32:54 +0000
Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 49093b5d-1b60-4c4b-8fcb-89428b3688eb;
 Mon, 21 Jun 2021 15:32:52 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49093b5d-1b60-4c4b-8fcb-89428b3688eb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624289572;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=z2Yntnwi4EYm2i3zVTFX4OrEvL1o+OdM95hrcQXPNPo=;
  b=B6zNL75qwvnkndjDKhvDieOjv1Db52EktoYMPx3lp9Lge8nJK9Z6spb8
   q1m9HKPUKLQUENFLgj/KQ0QR9HOVdHpMyYkr8HdJ2p1A86HOJ2EMg1a8g
   8JopYi9yGVfD6VOo8SlfCOk9WRBzXGz0Ya+mvaJZ2No9uz8PGr/ma+uuE
   o=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: fd0Xh7ttAg5cxENGThKkw5uxf4DfYIGoEwaeaaMk4PoETah9DSlJ8GIy6jCxQdEhK/THPfJ8yy
 +EbVJU43CtGENPBiXg8oHBiyO+9RgjJMsT6BotaSRS/DQNzi+1MZUVDSb/jeGBo8gcHKQzPMnC
 4QD2qK+q9JGr8ydIpb5RpAbiR2CYl+jByCiGXgaRKYonuCn0kDmdITugw5YCpyZeQXvtC80WJ1
 dpbRuMfOBKqQqIDPiyITwnVTgM1AEhdWbS/uzfYUlxHzFUALdDkSzAe6ZY0YyQN2yCId2lThon
 QpE=
X-SBRS: 5.1
X-MesageID: 48192568
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:dD4Jq677a4lZN+gsgAPXwUOBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc0AxhJU3I6urwRJVoJkmsu6KdgLNhcotKOTOGhILGFvAa0WKP+UyDJ8S6zJ8m6U
 4CSdk+NDSTNykDsS+S2mDReLxMoKjlzEnrv5ak854Ed3AwV0gK1XYcNu/vKDwReOAwP+tfKH
 Pz3LsjmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlil9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4sow3TX+0SVjbZaKvm/VQMO0aaSAZER4Z
 /xSiIbToFOArXqDziISFXWqlHdOX0VmgDfIBej8AXeSIrCNWgH4oN69PNkWwqc5Ew6sN5m1q
 VXm2qfqppMFBvF2D/w/t7SSnhR5wGJSFcZ4KcuZkZkIMMjgX5q3Pgi1VIQFI1FEDPx6YghHu
 UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwU/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFjx2aKpUCLa/YQ8Sj7wQrLMkccIDdCRCes1JcEJ6e
 f8uXtjxBsPkmzVeL2z4KE=
X-IronPort-AV: E=Sophos;i="5.83,289,1616472000"; 
   d="scan'208";a="48192568"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A/oY+eU+gTqo8tOaEFM++MFmAEfmuvTdJsABBePCrc89sigklYloLgwZDyEPlssTXOLZfFMOiqREgA13KtlskFRhibBPdhMLSs/jVoKCQOeYqUN6+TCAtgwsjzk12Jx31bG2sn7/1+kcFf5IdVBp69WVUDgWHRZHyQLJiwSpMErxNUrY4bzYYdJjaNvzwr3jAw/00aR9jX4eMZ0aWYEK1f+at8mPrf/H71/dIw92VCh4Rxo9KnZIuFjf/I/IdiHCMfIid2M9JHLmrUGULDfT6bX/nlCOlDSI3osjpRi4h/0uCULwqOoeu//cmKAayP0+gsw06J1HyvRmp/UxqkZB7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z2Yntnwi4EYm2i3zVTFX4OrEvL1o+OdM95hrcQXPNPo=;
 b=Z0Qc4/vdTUQfsu/uLcxKi8o9d6Xq4fV6uDSLD0gOk1rf1C9vSfDfuZne5MhTYzHeup9ehe8StywsGxbzv3BhsL6bpMiIo47gpF3UAvZ51tAOXvGHYTCl+9bAFycVWs4YhLNGiPSSSiyEjOCihJgTcVJAYkNsQP6YOOxgLQbqbjzkkyluF084olkTw/wDbU+efS/A4/Vx7DvZ/j57G+iPGPWVjSS8tWMBGHWbLnrdLvfzaDa+GxPPFndum/eh16OfPBTp1EoSGVZZ2JUI2Q+y6ccoqvUB+iXIbEXdEq/627OBxm1GZ9oeEaISqQRwr0e31502N2j8PrghHw6nquVe+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z2Yntnwi4EYm2i3zVTFX4OrEvL1o+OdM95hrcQXPNPo=;
 b=nn0nD9uFBgDmI1EwAVOgIa6XINCsBGbCK+QQvSZW+E5wdcql750AnA/oGXfrPSiqr0tZ9voNFTuUgQhJky7dN/CBR6ColtVxFV0pQPN4tnn8vhLfbtxvUmde2CgMfvKl9SW+Zpz7PW4+I74ptXKZe6HZ5895pC4yo5JIz3LLBIE=
From: Owen Smith <owen.smith@citrix.com>
To: "paul@xen.org" <paul@xen.org>, "win-pv-devel@lists.xenproject.org"
	<win-pv-devel@lists.xenproject.org>
Subject: RE: [PATCH 3/6] Delete stornvme's StartOverride
Thread-Topic: [PATCH 3/6] Delete stornvme's StartOverride
Thread-Index: AQHXY3UQ3XqodTsqBE2hji69PMRIKasegSAAgAAc+5A=
Date: Mon, 21 Jun 2021 15:32:46 +0000
Message-ID: <DS7PR03MB54774B5C23FE4C1BAF46BAA4FE0A9@DS7PR03MB5477.namprd03.prod.outlook.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-3-owen.smith@citrix.com>
 <8218f216-5d69-501f-4620-036213da7a49@xen.org>
In-Reply-To: <8218f216-5d69-501f-4620-036213da7a49@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a7b6487f-ae1d-48d4-dbf2-08d934c9d213
x-ms-traffictypediagnostic: DM6PR03MB4282:
x-microsoft-antispam-prvs: <DM6PR03MB428284A8E4F703C18403BD1FFE0A9@DM6PR03MB4282.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:2201;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: isa97lnacITzQxA0lEK7A0HVNZ6tqZRKLUEubjvZRjIdhVX1UYT0qP/8F8RJJQS6WTWjXN0oJ/t3Fzqgu8SXJTjHsAMJbD7sOJWDnWYIZ98B7SIqskHWghlEjOj9ssdmhxEfInRn3xmozQjB7O+fG7fuYQvbqU29T/xznauOwDniiIzdzSzF4+CKfrYguK3SXnfh5/7adhUUW+1ZnbtDXZVLeh4KWInH+S5nPhH3GkMu+gci9epnwUgld9Zh+PU9Vb0Nq05V5QSfBMcAODd7XGGiiKzWviGE3fCpshr+m1J0652Sc2QKW9JiWvkRsV5FHS8Byez6W8rKVorcTRWrIiyANE6NKsmRgNfs13NP1Vz6qpfe1iM+/CgA1RCwK2pSd4N6sTx/o42ZB4zUCRflLO/drJ8QQ0shfYaYnEadzx0f1F79AMWE2d8wZzuY82weeHAmAg11r0DmZiGYoh13sdk2QqpEew7kqGRB4W9y4eZwkuCPtJUGNw6Z4YM4JOeeFG5sZwzeUzHE7LNfESvCw0mGnEeOs3Ji+2U4UZvjka3gJcKMw+GE21Ps65cyU5cS7i3ct/PspgF7Yg3XhtGDn9yDZVbc7ImHxZz6IoldariqO3MnaGEWL+IXkAoOjvA5R4ul02YW0Gjj+uTcU3tOMwjDxaDfyBnOYW5+3qYLggrjF+64PJz/cqqWIjZdJA/v4JS8SnY2AKJ85efZUByFTEPCURZe2ePvDJqu+fDCkhs=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5477.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(136003)(39860400002)(366004)(396003)(346002)(55016002)(966005)(66556008)(66476007)(52536014)(316002)(33656002)(53546011)(9686003)(5660300002)(6506007)(478600001)(7696005)(8936002)(38100700002)(2906002)(76116006)(186003)(86362001)(8676002)(44832011)(71200400001)(64756008)(66946007)(83380400001)(110136005)(122000001)(66446008)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SjFMUVd2RmFyWDVHc2FSelYwVVdUY1pXbkxFS3AxZmRPV0hCSC9Qa2VvQ211?=
 =?utf-8?B?SXFXdUZqTnZUcUxwQWVlNGxXbm9rdG52WnlrVHJsSE1LZWpkS2xjSEc0WEdO?=
 =?utf-8?B?a3NKSEVwWkhpRmJtZlhOTEx1cU9hMGVCcXJOaTJIaHVUbnlTdmJHei9zNjdk?=
 =?utf-8?B?M3Y3QmR5YVQ5bTBiT2lxK1JpUm1vVTlwUkdWQVpKUzRPTUgyZnR2czhzemxV?=
 =?utf-8?B?V2RHMG1IU3cvOHVndnF0R09Rdi9zSjNRZW1VRzY0SlNXQWtsZmRSUHpqbnJ1?=
 =?utf-8?B?RGpqb01pOXZQYVdrVGZVbTFUTmV5QXBvbEhXSTFiOFVsaUc4YUlmTGd0Qy9J?=
 =?utf-8?B?TUZFWDNjSXB5bE1xYlp1WXBzbklUbjFnVzZhSmRvVnhzTk1TMGtFMHFsVkVi?=
 =?utf-8?B?U0Z0bkFtdHFDbVZqMEVQUyt0K0FibXhsdkFtcGhmRkZObGtWZk5JanZzbm4r?=
 =?utf-8?B?NFpxQ0VIbFVYVGg0S0x6Y2drU2kyRm5CaXovZ1pxSWJxTmRvaFhOQlAyd3hF?=
 =?utf-8?B?U3RaMTBrcGRTd0pab2VsSTRUNWd3eGJ0Tm40YWhYak41UDFRTjRyeHVLbVB0?=
 =?utf-8?B?UHJtSkUwdUt3S01vSlNwY0VxQXpMYmc5WkZuMjZXRThKZUZZYk5RSVc2WTl2?=
 =?utf-8?B?U2M0ZXFJUGg3bkU0enZQaUwyTHdVYTE4OTR3aFhhRFlTZXQ3U2JaVUovWkhZ?=
 =?utf-8?B?Q1QyRkJodkR4MFdOYUpmUTIyNXdtQmJ3aXZDVkRhR0tpVVRpaDQvVmV2QzZN?=
 =?utf-8?B?M1UxaXlBQkMreWhDd2U5VktrZ0hDeFcwNWRFQ1Q2NUk2cFFmK24rckFueEhR?=
 =?utf-8?B?Mk9CT1JVTlNpSFBaWGE2VTR3bU13SFJLQm9yRDBMR3hKSEpCbU96MFJWNXpL?=
 =?utf-8?B?VWw2V05JMUNtZmFCckJuVXNMR2E4S2NmTGZhV2xNWjA0OENuajNXZnpJWG9a?=
 =?utf-8?B?bUtKUStjZitERWk3T3VDeklqWXFxWFlLSnB4S3pEZTAyVmhtVGk1S2lHNFNk?=
 =?utf-8?B?eGNidHlFeDlSSFhGanlBRmxmb25YQVdqY215cjFtRkFyRkZrZk1aWENjL2RD?=
 =?utf-8?B?eWJocWpZcFFvRWg4Z2xnOE1jcUhWUFJSNUtmRVBndm5BSlJmWHM2OHRyOHNP?=
 =?utf-8?B?eUtzRFJhNVZrUmEvN3A3L1AyTFFPMXFmU2pwWTQ4cjYvVjFpbHk1MmtmUlVP?=
 =?utf-8?B?N2Fvd1A5anlSWHF4dVRWcDQ2eXN4OUdQMlMrL3RaTUptbGNpQjQ0bmF1Umtu?=
 =?utf-8?B?TXhmbHVGTGlZVkhMNXVBdXV1Q2tiNjdyWFdtL1lmUmNHSlBWNE9iYlZHMXVR?=
 =?utf-8?B?MGZoN29kblhNSVdiVmtDS3NsaXpuLzZSSUFuWStTNkdoUjhhWmxSV1dPd2J4?=
 =?utf-8?B?NFlMZ2hSc3VEN2laeVV4elFObDNVTWovS2hWTGhtS0Z6d2hvRFNyR0t0ek01?=
 =?utf-8?B?T2JDZTlJNVdRdkYraU5hTnFWcUlUMWtObXJVQU1jNWEvUzJIUWdTZ1Nud3hH?=
 =?utf-8?B?MWZKSDFla3JxZmpkVE9JeGtpVjBSQ1Jzd2NNMi9uZDVMRUtiWWcxYTdJYTJx?=
 =?utf-8?B?bnFiRkVvQXlxWENqbldYV3ZHWnRYYmVBbFhERmN5elpkeCt1NWFhMWNxN0ZQ?=
 =?utf-8?B?UE9aeG92SGRhZDhBN3liY0dIcUhFaTdLRktPTkhOOWdJN1JCWHVpUW9Ic1Bq?=
 =?utf-8?B?QnoxVHpRM3ZQYU5jZ00zLzNoM3VTU3dnSStFVHVqVlF6elVKVmx6UTljKzJR?=
 =?utf-8?Q?V4QxvEd+Kj2Gnq9R68=3D?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5477.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7b6487f-ae1d-48d4-dbf2-08d934c9d213
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2021 15:32:46.6188
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: OytXKcJ+48hF/pQccAFX1i0M6S5VGdQIzE6/HIi26cfCuH1ZjRVyd9+UlqxYdZOo8zsgygW8oM5/Dsv43AaJVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4282
X-OriginatorOrg: citrix.com

LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IHdpbi1wdi1kZXZlbCA8d2luLXB2LWRl
dmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZiBQYXVsIER1cnJh
bnQNClNlbnQ6IE1vbmRheSwgSnVuZSAyMSwgMjAyMSAyOjQ4IFBNDQpUbzogd2luLXB2LWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnDQpTdWJqZWN0OiBSZTogW1BBVENIIDMvNl0gRGVsZXRlIHN0
b3Judm1lJ3MgU3RhcnRPdmVycmlkZQ0KDQpbQ0FVVElPTiAtIEVYVEVSTkFMIEVNQUlMXSBETyBO
T1QgcmVwbHksIGNsaWNrIGxpbmtzLCBvciBvcGVuIGF0dGFjaG1lbnRzIHVubGVzcyB5b3UgaGF2
ZSB2ZXJpZmllZCB0aGUgc2VuZGVyIGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQoNCk9u
IDE3LzA2LzIwMjEgMTM6MzMsIE93ZW4gU21pdGggd3JvdGU6DQo+IFVzaW5nIGFuIGVtdWxhdGVk
IE5WTWUgZGV2aWNlIGZvciBpbnN0YWxsYXRpb24gd2lsbCBub3QgYmUgYWJsZSB0byANCj4gcmV2
ZXJ0IHRvIGVtdWxhdGVkIE5WTWUgZGV2aWNlIG9uY2UgeGVudmJkIGhhcyBiZWVuIHVzZWQgdG8g
Ym9vdC4gVGhpcyANCj4gaXMgZHVlIHRvIHN0b3Judm1lIGNyZWF0aW5nIGEgU3RhcnRPdmVycmlk
ZSB2YWx1ZSB0aGF0IG92ZXJyaWRlcyANCj4gc3Rvcm52bWUncyBTdGFydFR5cGUgdG8gbWFudWFs
IChmcm9tIGJvb3QpIHdoZW4gc3Rvcm52bWUgaXMgbm90IGxvYWRlZCANCj4gZHVyaW5nIGJvb3Qu
IFRoaXMgb2NjdXJzIHdoZW4geGVuYnVzIGhhcyB1bnBsdWdnZWQgdGhlIGVtdWxhdGVkIE5WTWUg
DQo+IGNvbnRyb2xsZXIgYXQgYm9vdC4gRGlzYWJsaW5nIHRoZSB1bnBsdWcgaXMgbm90IHN1ZmZp
Y2llbnQgdG8gaGF2ZSANCj4gc3Rvcm52bWUgbG9hZCBhdCBib290LCB3aGljaCByZXN1bHRzIGlu
IGEgMHg3QiBidWdjaGVjay4NCg0KSWNrIQ0KDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBPd2VuIFNt
aXRoIDxvd2VuLnNtaXRoQGNpdHJpeC5jb20+DQo+IC0tLQ0KPiAgIHNyYy9tb25pdG9yL21vbml0
b3IuYyB8IDYwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4g
ICAxIGZpbGUgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3Ny
Yy9tb25pdG9yL21vbml0b3IuYyBiL3NyYy9tb25pdG9yL21vbml0b3IuYw0KDQpOb3Qgc3VyZSB0
aGUgbW9uaXRvciBpcyB0aGUgYmVzdCBwbGFjZSB0byBkbyB0aGlzOyBpdCBzZWVtcyBhIGxpdHRs
ZSB0b28gY3JpdGljYWwgZm9yIHRoYXQuIENvdWxkIHdlIHVzZSB0aGlzIGFuY2llbnQgaW50ZXJm
YWNlIGluc3RlYWQ/DQoNCmh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL3dpbmRvd3Mt
aGFyZHdhcmUvZHJpdmVycy9kZGkvbnRkZGsvbmYtbnRkZGstaW9yZWdpc3RlcmJvb3Rkcml2ZXJy
ZWluaXRpYWxpemF0aW9uDQoNCiAgIFBhdWwNCg0KDQpUaGlzIGxvb2tzIGRvYWJsZSwgY2FsbGlu
ZyBJb1JlZ2lzdGVyQm9vdERyaXZlclJlaW5pdGlhbGl6YXRpb24gZnJvbSBYZW5WYmQncyBEcml2
ZXJFbnRyeSBhbmQgY2xlYXJpbmcgdGhlIFN0YXJ0T3ZlcnJpZGUgZnJvbSB0aGUgcmVpbml0aWFs
aXplIHJvdXRpbmUNCg0KT3dlbg0KDQoNCj4gaW5kZXggOWFkZmI3OS4uYzg1ODI0OSAxMDA2NDQN
Cj4gLS0tIGEvc3JjL21vbml0b3IvbW9uaXRvci5jDQo+ICsrKyBiL3NyYy9tb25pdG9yL21vbml0
b3IuYw0KPiBAQCAtMTE3Miw2ICsxMTcyLDY0IEBAIGZhaWwxOg0KPiAgICAgICByZXR1cm4gRkFM
U0U7DQo+ICAgfQ0KPiAgIA0KPiArc3RhdGljIEJPT0wNCj4gK0RlbGV0ZVN0YXJ0T3ZlcnJpZGUo
DQo+ICsgICAgX0luXyAgICBMUFRTVFIgICAgICBEcml2ZXJOYW1lDQo+ICsgICAgKQ0KPiArew0K
PiArICAgIFRDSEFSICAgICAgICAgICAgICAgU2VydmljZUtleU5hbWVbTUFYX1BBVEhdOw0KPiAr
ICAgIEhLRVkgICAgICAgICAgICAgICAgS2V5Ow0KPiArICAgIEhSRVNVTFQgICAgICAgICAgICAg
RXJyb3I7DQo+ICsNCj4gKyAgICBFcnJvciA9IFN0cmluZ0NiUHJpbnRmKFNlcnZpY2VLZXlOYW1l
LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1BWF9QQVRILA0KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFNFUlZJQ0VTX0tFWSAiXFwlcyIsDQo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRHJpdmVyTmFtZSk7DQo+ICsgICAgaWYgKCFTVUNDRUVERUQoRXJyb3Ip
KQ0KPiArICAgICAgICBnb3RvIGZhaWwxOw0KPiArDQo+ICsgICAgRXJyb3IgPSBSZWdPcGVuS2V5
RXgoSEtFWV9MT0NBTF9NQUNISU5FLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIFNlcnZp
Y2VLZXlOYW1lLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgS0VZX0FMTF9BQ0NFU1MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICAgJktleSk7DQo+ICsgICAgaWYgKEVycm9yICE9IEVSUk9SX1NVQ0NFU1MpIHsNCj4gKyAgICAg
ICAgU2V0TGFzdEVycm9yKEVycm9yKTsNCj4gKyAgICAgICAgZ290byBmYWlsMjsNCj4gKyAgICB9
DQo+ICsNCj4gKyAgICBFcnJvciA9IFJlZ0RlbGV0ZVRyZWUoS2V5LA0KPiArICAgICAgICAgICAg
ICAgICAgICAgICAgICAiU3RhcnRPdmVycmlkZSIpOw0KPiArICAgIGlmIChFcnJvciAhPSBFUlJP
Ul9TVUNDRVNTKSB7DQo+ICsgICAgICAgIFNldExhc3RFcnJvcihFcnJvcik7DQo+ICsgICAgICAg
IGdvdG8gZmFpbDM7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgUmVnQ2xvc2VLZXkoS2V5KTsNCj4g
Kw0KPiArICAgIHJldHVybiBUUlVFOw0KPiArDQo+ICtmYWlsMzoNCj4gKyAgICBMb2coImZhaWwz
Iik7DQo+ICsNCj4gKyAgICBSZWdDbG9zZUtleShLZXkpOw0KPiArDQo+ICtmYWlsMjoNCj4gKyAg
ICBMb2coImZhaWwyIik7DQo+ICsNCj4gK2ZhaWwxOg0KPiArICAgIEVycm9yID0gR2V0TGFzdEVy
cm9yKCk7DQo+ICsNCj4gKyAgICB7DQo+ICsgICAgICAgIFBUQ0hBUiAgTWVzc2FnZTsNCj4gKyAg
ICAgICAgTWVzc2FnZSA9IEdldEVycm9yTWVzc2FnZShFcnJvcik7DQo+ICsgICAgICAgIExvZygi
ZmFpbDEgKCVzKSIsIE1lc3NhZ2UpOw0KPiArICAgICAgICBMb2NhbEZyZWUoTWVzc2FnZSk7DQo+
ICsgICAgfQ0KPiArDQo+ICsgICAgcmV0dXJuIEZBTFNFOw0KPiArfQ0KPiArDQo+ICAgVk9JRCBX
SU5BUEkNCj4gICBNb25pdG9yTWFpbigNCj4gICAgICAgX0luXyAgICBEV09SRCAgICAgICBhcmdj
LA0KPiBAQCAtMTI1MSw2ICsxMzA5LDcgQEAgTW9uaXRvck1haW4oDQo+ICAgICAgIGlmICghU3Vj
Y2VzcykNCj4gICAgICAgICAgIGdvdG8gZmFpbDk7DQo+ICAgDQo+ICsgICAgKFZPSUQpIERlbGV0
ZVN0YXJ0T3ZlcnJpZGUoInN0b3Judm1lIik7DQo+ICAgICAgIFNldEV2ZW50KENvbnRleHQtPlJl
cXVlc3RFdmVudCk7DQo+ICAgDQo+ICAgICAgIFJlcG9ydFN0YXR1cyhTRVJWSUNFX1JVTk5JTkcs
IE5PX0VSUk9SLCAwKTsgQEAgLTEyODUsNiArMTM0NCw3IA0KPiBAQCBNb25pdG9yTWFpbigNCj4g
ICAgICAgfQ0KPiAgIA0KPiAgIGRvbmU6DQo+ICsgICAgKFZPSUQpIERlbGV0ZVN0YXJ0T3ZlcnJp
ZGUoInN0b3Judm1lIik7DQo+ICAgICAgIChWT0lEKSBSZWdEZWxldGVUcmVlKENvbnRleHQtPlJl
cXVlc3RLZXksIE5VTEwpOw0KPiAgIA0KPiAgICAgICBmcmVlKENvbnRleHQtPlF1ZXN0aW9uKTsN
Cj4gDQoNCg0K


From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 15:34:55 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 15:34:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145567.267714 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLwt-0007KT-6w; Mon, 21 Jun 2021 15:34:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145567.267714; Mon, 21 Jun 2021 15:34:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLwt-0007KM-3z; Mon, 21 Jun 2021 15:34:55 +0000
Received: by outflank-mailman (input) for mailman id 145567;
 Mon, 21 Jun 2021 15:34:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IH8w=LP=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lvLws-0007KG-IW
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 15:34:54 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 80466dc3-e88b-4434-81a0-219bd666e073;
 Mon, 21 Jun 2021 15:34:53 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80466dc3-e88b-4434-81a0-219bd666e073
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624289692;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=l0RAHzJQ4BSan3rNslM4yEmsd+wnEzElqEJcB4zT5Ds=;
  b=dqMApBlJAAqRklXnaWBWf/XoGdYmBhJsg0dAYUq+SHYxJ9ys9lT47EwD
   N0+exTZB9SWCZ0g9GtI6OjiRjPHiU6qvhQFHBa2/YYkfjAtpqxKC0XHeP
   jzm8ikPGPypv8QutuEM46iGXniLtBgEyx/DrXrQ8mAGDRi0OG2euBQaTD
   M=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: O8xvItoWWJGcuYLsxp0E6WeXQ3R3o9gGd1UoOcQ4rze/VHMvd6/PjbtCj+sRRjzlY+jQDiIc6t
 6rviZXuFVe9Me5O+Bp/F+hZAR0ZEO7X3ZrTU0uk+ZeMY4IEsfQkRRbcsLxVcQ34mMjkhZoLzKU
 vDnGypPPZqsx9JpsGkHfP5j15rxs4Pz7qK9+OdEYSoburDWWV0WmYjoOLwK4hSkF4+BTooCasS
 5JDleoWSQp5MbikX/nAvrDU/JsFIz4yNjGUZB7zCbK/qk+rHd7tuQTJBEoksyL3wG2qHDPt11j
 Z0M=
X-SBRS: 5.1
X-MesageID: 46328107
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:VpC/Za9QUztlSiNae9huk+AiI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHvJYVMqMk3I9uruBEDtex3hHP1OkOws1NWZLWrbUQKTRekP0WKL+Vbd8kbFh4xgPM
 lbEpSXCLfLfCVHZcSR2njFLz73quP3j5xBho3lvglQpRkBUdAG0+/gYDzraXGfQmN9dPwEPa
 vZ3OVrjRy6d08aa8yqb0N1JdQq97Xw5evbiQdtPW9e1DWz
X-IronPort-AV: E=Sophos;i="5.83,289,1616472000"; 
   d="scan'208";a="46328107"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UqX7ogQ+6o0W/G7QL4Y4j/39MtfO/ojSKgcFjjDl/5XlKlXvZ2JFIdoVLeBJ/s1U4q4xYWbg6GJgy/xs2AOpSd1yKy+C4n/QMJaL6BrH4b9LLtHCV4/L5WCm9P8pjACWzq/sEjLuYV/srr4FSDCgkbZB4rshh4N2zlVgAa9yJRYgP3VWRHGRP9xkcBYZGrp1XX/VbAAVEwDm1Ii7+2hUBAHsiC4DXmi2NHNiK3jZai7ofTmGgT3qHrWcYVsqTKR+5sHVt2sRqslndyyZ8QT29z0kUKPTNbirDfiN+vbB3kuEokbX7qqyXYLGkra/2OUeu9LlUU/mzfHC1JXlaAbuoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l0RAHzJQ4BSan3rNslM4yEmsd+wnEzElqEJcB4zT5Ds=;
 b=NwfW94LWPISt3K54OoyJE1xD90RBjnjXP5sgI2RsCfSBwTJuVizV16+MtMPYlNqPs1FHvP6LC8i6SSdkvsZy/vQhh0E+wBaUV5rP6GzLp6UblY4iiLro/0gvLX4ENRq77dIeuyEdzfsCQ6Rr8D/sobSmJLPTA/m7UJmYhKLrG7lY5UotncD1nFauarEx5hTLD1Yj0lxtuleX8XvHYVu0uKFLud0Fn6hasw1iKnJXw0ei/4fMRJ1WdGDiPS8XatWtByiemq4hCLCgfyF22bqoZj8H5fxF4tgluCCe4hikW6KwkC56ODI1oaeXW1blW2LmL8FpD5Je+tLB46ZFDJLBCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l0RAHzJQ4BSan3rNslM4yEmsd+wnEzElqEJcB4zT5Ds=;
 b=BBzKkI+bg/cA6vwFiga5Y5zJFn518OuarsuzazUMQdsl0cGQ2q2O4sM9IO2zTFI0A+viG+35WC3qY2R5qH47RxCv+mc9JI/Zq60w4K/vuaHxkpyrdLYwM3oFQlKNVnPRL08g4SNuTZoGbAg5h4KkecS5rHDfVG6HH7iHVX/I6bA=
From: Owen Smith <owen.smith@citrix.com>
To: "paul@xen.org" <paul@xen.org>, "win-pv-devel@lists.xenproject.org"
	<win-pv-devel@lists.xenproject.org>
Subject: RE: [PATCH 4/6] Add emulated type override per device ID
Thread-Topic: [PATCH 4/6] Add emulated type override per device ID
Thread-Index: AQHXY3UR5WYpS/Vu8kORMlgE0RWa2qseg9MAgAAawIA=
Date: Mon, 21 Jun 2021 15:34:49 +0000
Message-ID: <DS7PR03MB547731B40FCA2D35FB2A52DCFE0A9@DS7PR03MB5477.namprd03.prod.outlook.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-4-owen.smith@citrix.com>
 <6cad3d24-838e-9c33-7fc0-46e719a4c5e4@xen.org>
In-Reply-To: <6cad3d24-838e-9c33-7fc0-46e719a4c5e4@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 80e87010-13dd-45e5-90ed-08d934ca1b5a
x-ms-traffictypediagnostic: DS7PR03MB5399:
x-microsoft-antispam-prvs: <DS7PR03MB5399B807B2A86B4704A29581FE0A9@DS7PR03MB5399.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:2887;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: MzOsV6DMnUZOWwhhi5UWaacoAG5ZcEYwefITMH3q3Ruap8eVGwfwmyGO8fe5shXZpa7+PRPmFU0dnpdUzoSkCRi/Iw86UW1RfQSvJI/ZWPQvucSyCGscD23kAYqVkM7bd74zICFj2ZWh/94/xCshjXqqwcFJYXHw8UlCXUCVbBXr0Vlnlsb88+E7F+5rkAu5c944Fhx9rhGit7uPYiBUnyvwDbdyxuTUQpSaXvewWBWMftkFuu/+30jwIzysFI8GQKOPbqCGMNlRwamg/aprKwUAAxse+MUMdyWxdUuxcfXjqezrHbTQKG14UxuEUWnDJEUe+PQcGoalYxSHjiCQbcuZmTkadCSdxdV2MRvoWjZ7XXZ0HUdCSGPiaDTSa1OGz+w7vy1h+Q7x3nFMz5Ra9/Tct4Yk1aKjxWfrsil8tbsu7nXHORm2JDj0g2UqEsKKgKiNxTdJ6xYD8Ii50LA08WgXzNjCuJBzTdZBjA/FZRZj4HUYK5ZVv6k5c4ehCdd9r9lqSfsbmVYdEP5oTLEqcgTmKuqKt/45yeLwrgCv0M/fJtySEDJL8xCtVw71Q3R7VetXCOBdo8M15TZkzQs25nYchuIecJoUsMblrtLWoXQ=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5477.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(396003)(39860400002)(366004)(376002)(346002)(316002)(33656002)(26005)(478600001)(2906002)(52536014)(110136005)(44832011)(53546011)(83380400001)(6506007)(8676002)(76116006)(86362001)(66946007)(5660300002)(9686003)(38100700002)(122000001)(186003)(8936002)(55016002)(7696005)(71200400001)(66556008)(64756008)(66446008)(66476007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eU5Hd2c1UHcrSVd5VGYwSXMvcW5KUTM1b0s2eTdMaGYxZldYS3d6UWtYK3px?=
 =?utf-8?B?QmFQR0hPbGxzSmJpUEp6ajB3MVFOZ2JjWXlnOTVLeEVNaDhsOHBxZi9tU2FO?=
 =?utf-8?B?T0d5LzlFN3dadHljTnJwOEs5QmcrZlRtdVBXcTRXS2EwVFUxRS9DLzVpRURZ?=
 =?utf-8?B?bWlUMmw0aVU0QzgzaFNTQ2tNbzNwa2tFMkx0NnFBZTBBeU5zSXE3MmN2dHI2?=
 =?utf-8?B?dERnUG4yUEdHY0pYSERpdWFhVDVOWWlCeWVKTHFyakFtUnJ4YVh4Z0ZQbjFV?=
 =?utf-8?B?cy9UQnJDVE1QeEFyQ2tkNHp3V3h1Y0FBdkd4UVdkY1JQNEVyaTlmdTkxeWhV?=
 =?utf-8?B?VWFSTmdKam9GYUxLOWVhN0FlU2c1UDNjV3F0b1RHR3FpdmhrQkRhQVZGTlFi?=
 =?utf-8?B?UzIzT2Vwa0JZRUF5bHF0VmQ3T0RoMnVtQm43WE1sZUo4ZzEwM05HZGlTZzFX?=
 =?utf-8?B?cTV3Zk9SalhBMnhKai9Yb2ErdFkxVDhiTmdaak1NWERZYS9xQlJHbXQ4OU5Z?=
 =?utf-8?B?K29Yd3BGRGdDOHNVbW5iNlV5Nkt6R1ZUMkVPTnJ0YVFEZFdXMDA2Skp6MUli?=
 =?utf-8?B?QUFSYjkrbXpIOExKNXUvTC9SekRET2dGNXJIVmM5WVoyWVkrS3U5MWxhV29m?=
 =?utf-8?B?VGlzMncwWTRHc0Vwc3RTYTVoWHVqRkJPQkRGUXc3d3FwYkxGdGZGZC9xRHNo?=
 =?utf-8?B?U3ViZ2ZaOEQ5RkZCT0tSYkJiWnhFdmxmbk1tNENOLzZFZm5xMDVmUDFxTW95?=
 =?utf-8?B?cGJwNzg5OTlYQXNnTWRWZitNamVDTE9PKzRPR29HdEF1Sm9tYjQxSUJBQWJV?=
 =?utf-8?B?OVRaN2ZBcXNqS0N0Qk1KMzJ4K0pGR2h5Qnc4V2g4UTJjSk51TjRlZ2RzZFlJ?=
 =?utf-8?B?Ri9IaElJaUFHaUczdGZnMkFNSlJxTUp4SU5RK291a1dzWkNVWXBpUExUVUxF?=
 =?utf-8?B?K2pvUUFPZWk0Qzd3OHB4S0VXQnpOd2N4L0VCcm02cElVdGdmd0JNODN5K0xK?=
 =?utf-8?B?Z0lvUVZPTlV0TmErVzNIcnZEMEMraUV1YXlWdkVxY1o0S1dzZHdUTHdzZlhS?=
 =?utf-8?B?ajZ3RFpkS3U0R21ESTVBaEhoOE5mMHBMTlRVS2wrcXc2ZTJCcW9UZ2hWTWtI?=
 =?utf-8?B?NXJmam96SXU4ZjVDdVJ2OTMwZmhiT1lIcDF6NG1vcFlMWFFNeC9pVTZPSzZO?=
 =?utf-8?B?RHRhWDZWb2Q2OWt1Vi90WjlCTEtkRm9GV2Z5aXczby9MU2Q0dlhONks2V2NB?=
 =?utf-8?B?NDBPN3dDN05TSXVROGRSZC8rbExoTkZkQjFFQlp5YVJreG9zeWpvNkE1YmxJ?=
 =?utf-8?B?VU1SVURrazdtam9YWVNucGNieG1UZDlWeG05YUpnU0o4bEI5YzhSRWdHdklw?=
 =?utf-8?B?L1d3OEdhRzkySG5RbEdkWnQ5K0pDRFpaamFWRWNHMStMMUFmckhhSUxKRUhy?=
 =?utf-8?B?TXNEY2FVYnVQY0t3dHFPL0c4NzNoN2hzNVp1aW8wSjJNN1NMK3hhVFBOMTdy?=
 =?utf-8?B?UlhnRW91RFZXakx0THlHV1dzRm1PSXVJVUtweTlxWGoyWUhhY09uTHZONWkv?=
 =?utf-8?B?ZjZyVnJtaXdwc2NlRFByZExQQ3Z3cHJrcnZTbloxMk1ybENFdFBTRzZnaHFm?=
 =?utf-8?B?RGF2YzBWQWJUSmJCSVNuVktaUlNHQzdvREttWUZoS0lyQWtLdHg4bDc0RTFh?=
 =?utf-8?B?RHZ5YmtXYzFvYnQ3RTJwdnF1cS9CeVdqODdhSWYzRDVxM2h1VHNYb3J3QjVm?=
 =?utf-8?Q?EPsrejvH/DQegmrUk8=3D?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5477.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 80e87010-13dd-45e5-90ed-08d934ca1b5a
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2021 15:34:49.5145
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: TUKNf92f+y3iX2VI4z1cgi0yRNLfqy2yHNjxA6DRgtnFj0XRS4z9jSSsDe7JeZvMWiC+aK02On+UcnepMywQmQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5399
X-OriginatorOrg: citrix.com

LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IHdpbi1wdi1kZXZlbCA8d2luLXB2LWRl
dmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZiBQYXVsIER1cnJh
bnQNClNlbnQ6IE1vbmRheSwgSnVuZSAyMSwgMjAyMSAyOjU3IFBNDQpUbzogd2luLXB2LWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnDQpTdWJqZWN0OiBSZTogW1BBVENIIDQvNl0gQWRkIGVtdWxh
dGVkIHR5cGUgb3ZlcnJpZGUgcGVyIGRldmljZSBJRA0KDQpbQ0FVVElPTiAtIEVYVEVSTkFMIEVN
QUlMXSBETyBOT1QgcmVwbHksIGNsaWNrIGxpbmtzLCBvciBvcGVuIGF0dGFjaG1lbnRzIHVubGVz
cyB5b3UgaGF2ZSB2ZXJpZmllZCB0aGUgc2VuZGVyIGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNh
ZmUuDQoNCk9uIDE3LzA2LzIwMjEgMTM6MzMsIE93ZW4gU21pdGggd3JvdGU6DQo+IEFkZCB0aGUg
b3B0aW9uIHRvIG92ZXJyaWRlIGEgZGV2aWNlIG5vZGVzIGVtdWxhdGVkIHR5cGUgZm9yIGEgc3Bl
Y2lmaWMgDQo+IGRldmljZSBJRCwgYW5kIGFkZHMgdGhlIE5WTUUgdHlwZS4NCj4gU3BlY2lmaWMg
SGFyZHdhcmVJRHMgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCBhIG1vcmUgc3BlY2lmaWMgdHlwZSB0
aGFuICdEZXZpY2UnLg0KPiBBZGQgYSB3YXkgb2Ygc3BlY2lmeWluZyBhIHBhcnRpY3VsYXIgSGFy
ZHdhcmVJRCBhcyBhbiBlbXVsYXRlZCBOVk1lIA0KPiBjb250cm9sbGVyIHNvIHRoYXQgd2hlbiBY
ZW5WYmQgcXVlcmllcyBpZiBhIGRpc2sgaXMgcHJlc2VudCwgWGVuRmlsdCANCj4gY2FuIHJlc3Bv
bmQgY29ycmVjdGx5IGlmIGVpdGhlciBpdHMgZW11bGF0ZWQgSURFIGRpc2sgb3IgZW11bGF0ZWQg
TlZNZSBkaXNrIGlzIHByZXNlbnQuDQo+IENlcnRhaW4gdXBncmFkZSBzaXR1YXRpb25zIGNvdWxk
IGxlYXZlIHRoZSB1bnBsdWcga2V5IGVtcHR5IChzbyB0aGUgDQo+IGVtdWxhdGVkIE5WTWUgZGV2
aWNlIGlzIGluIHVzZSksIGFuZCB0aGlzIGNvdWxkIGxlYWQgdG8gWGVuVmJkIG5vdCANCj4gaWRl
bnRpZnlpbmcgdGhlIGVtdWxhdGVkIE5WTWUgZGlzayBhbmQgcHJvY2VlZGluZyB0byBjb25uZWN0
IHRvIHRoZSANCj4gYmFja2VuZCAod2hpY2ggY291bGQgYWxyZWFkeSBiZSBpbiB1c2UgYnkgdGhl
IGVtdWxhdGVkIE5WTWUgZGlzaykuIA0KPiBUaGlzIHNpdHVhdGlvbiBsZWFkcyB0byBhIHJlY292
ZXJ5IHByb21wdCAiQSByZXF1aXJlZCBkZXZpY2UgaXNuJ3QgY29ubmVjdGVkIG9yIGNhbid0IGJl
IGFjY2Vzc2VkIg0KPiANCj4gTm90ZTogdGhpcyBwYXRjaCBkb2VzbnQgZGVmaW5lIHRoZSBIYXJk
d2FyZUlEKHMpIGFzc29jaWF0ZWQgd2l0aCANCj4gZW11bGF0ZWQgTlZNZSBkZXZpY2VzLCBhcyB0
aGlzIGlzIGRlcGVuZGVudCBvbiB0aGUgVk0gY29uZmlndXJhdGlvbi4NCg0KQ291bGQgd2Ugbm90
IHVzZSBDb21wYXRpYmxlSURzIGFuZCBsb29rIGZvciAiUENJXFxDQ18wMTA4MDIiIChvciBwZXJo
YXBzIGV2ZW4gZHJvcCB0aGUgMDIpPw0KDQogICBQYXVsDQoNCg0KSSdsbCByZXdvcmsgdGhpcyBw
YXRjaCBhbmQgdGhlIGZvbGxvdyB1cCBwYXRjaCAodGhhdCBkZWZpbmVzIHRoZSBvdmVycmlkZSBm
b3IgdGhlIFFFTVUgTlZNZSBjb250cm9sbGVyKSBiYXNlZCBvbiBDb21wYXRpYmxlSURzDQoNCk93
ZW4NCg0KPiANCj4gU2lnbmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXgu
Y29tPg0KPiAtLS0NCj4gICBzcmMveGVuZmlsdC9kcml2ZXIuYyAgIHwgMjAgKysrKysrKysrKysr
Ky0tLS0NCj4gICBzcmMveGVuZmlsdC9kcml2ZXIuaCAgIHwgIDUgKysrKysNCj4gICBzcmMveGVu
ZmlsdC9lbXVsYXRlZC5jIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKw0KPiAgIHNyYy94ZW5maWx0L2VtdWxhdGVkLmggfCAgMyArKy0NCj4gICBzcmMveGVuZmls
dC9wZG8uYyAgICAgIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrDQo+ICAgNSBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo
LSkNCj4gDQo+IGRpZmYgLS1naXQgYS9zcmMveGVuZmlsdC9kcml2ZXIuYyBiL3NyYy94ZW5maWx0
L2RyaXZlci5jIGluZGV4IA0KPiBlOWU2NjczLi5lMjVjMjA4IDEwMDY0NA0KPiAtLS0gYS9zcmMv
eGVuZmlsdC9kcml2ZXIuYw0KPiArKysgYi9zcmMveGVuZmlsdC9kcml2ZXIuYw0KPiBAQCAtNzIz
LDYgKzcyMywyMSBAQCBmYWlsMToNCj4gICAgICAgcmV0dXJuIHN0YXR1czsNCj4gICB9DQo+ICAg
DQo+ICtYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9UWVBFDQo+ICtEcml2ZXJQYXJzZUVtdWxhdGVk
VHlwZSgNCj4gKyAgICBJTiAgUEFOU0lfU1RSSU5HICAgICAgICAgICAgICAgIEFuc2kNCj4gKyAg
ICApDQo+ICt7DQo+ICsgICAgaWYgKF9zdHJuaWNtcChBbnNpLT5CdWZmZXIsICJQQ0kiLCBBbnNp
LT5MZW5ndGgpID09IDApDQo+ICsgICAgICAgIHJldHVybiBYRU5GSUxUX0VNVUxBVEVEX09CSkVD
VF9UWVBFX1BDSTsNCj4gKyAgICBlbHNlIGlmIChfc3RybmljbXAoQW5zaS0+QnVmZmVyLCAiSURF
IiwgQW5zaS0+TGVuZ3RoKSA9PSAwKQ0KPiArICAgICAgICByZXR1cm4gWEVORklMVF9FTVVMQVRF
RF9PQkpFQ1RfVFlQRV9JREU7DQo+ICsgICAgZWxzZSBpZiAoX3N0cm5pY21wKEFuc2ktPkJ1ZmZl
ciwgIk5WTUUiLCBBbnNpLT5MZW5ndGgpID09IDApDQo+ICsgICAgICAgIHJldHVybiBYRU5GSUxU
X0VNVUxBVEVEX09CSkVDVF9UWVBFX05WTUU7DQo+ICsNCj4gKyAgICByZXR1cm4gWEVORklMVF9F
TVVMQVRFRF9PQkpFQ1RfVFlQRV9VTktOT1dOOw0KPiArfQ0KPiArDQo+ICAgc3RhdGljIFhFTkZJ
TFRfRU1VTEFURURfT0JKRUNUX1RZUEUNCj4gICBEcml2ZXJHZXRFbXVsYXRlZFR5cGUoDQo+ICAg
ICAgIElOICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgSWQNCj4gQEAgLTc1MywxMCArNzY4
LDcgQEAgRHJpdmVyR2V0RW11bGF0ZWRUeXBlKA0KPiAgICAgICAgICAgaWYgKE5UX1NVQ0NFU1Mo
c3RhdHVzKSkgew0KPiAgICAgICAgICAgICAgIEluZm8oIk1BVENIOiAlcyAtPiAlWlxuIiwgJklk
W0luZGV4XSwgQW5zaSk7DQo+ICAgDQo+IC0gICAgICAgICAgICBpZiAoX3N0cm5pY21wKEFuc2kt
PkJ1ZmZlciwgIlBDSSIsIEFuc2ktPkxlbmd0aCkgPT0gMCkNCj4gLSAgICAgICAgICAgICAgICBU
eXBlID0gWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRV9QQ0k7DQo+IC0gICAgICAgICAgICBl
bHNlIGlmIChfc3RybmljbXAoQW5zaS0+QnVmZmVyLCAiSURFIiwgQW5zaS0+TGVuZ3RoKSA9PSAw
KQ0KPiAtICAgICAgICAgICAgICAgIFR5cGUgPSBYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9UWVBF
X0lERTsNCj4gKyAgICAgICAgICAgIFR5cGUgPSBEcml2ZXJQYXJzZUVtdWxhdGVkVHlwZShBbnNp
KTsNCj4gICANCj4gICAgICAgICAgICAgICBSZWdpc3RyeUZyZWVTelZhbHVlKEFuc2kpOw0KPiAg
ICAgICAgICAgfSBlbHNlIHsNCj4gZGlmZiAtLWdpdCBhL3NyYy94ZW5maWx0L2RyaXZlci5oIGIv
c3JjL3hlbmZpbHQvZHJpdmVyLmggaW5kZXggDQo+IDI4NjU4MGIuLmVlNjU2YzggMTAwNjQ0DQo+
IC0tLSBhL3NyYy94ZW5maWx0L2RyaXZlci5oDQo+ICsrKyBiL3NyYy94ZW5maWx0L2RyaXZlci5o
DQo+IEBAIC05MCw2ICs5MCwxMSBAQCBEcml2ZXJRdWVyeURldmljZVRleHQoDQo+ICAgDQo+ICAg
I2luY2x1ZGUgImVtdWxhdGVkLmgiDQo+ICAgDQo+ICtYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9U
WVBFDQo+ICtEcml2ZXJQYXJzZUVtdWxhdGVkVHlwZSgNCj4gKyAgICBJTiAgUEFOU0lfU1RSSU5H
ICAgICAgICAgICAgICAgIEFuc2kNCj4gKyAgICApOw0KPiArDQo+ICAgUFhFTkZJTFRfRU1VTEFU
RURfQ09OVEVYVA0KPiAgIERyaXZlckdldEVtdWxhdGVkQ29udGV4dCgNCj4gICAgICAgVk9JRA0K
PiBkaWZmIC0tZ2l0IGEvc3JjL3hlbmZpbHQvZW11bGF0ZWQuYyBiL3NyYy94ZW5maWx0L2VtdWxh
dGVkLmMgaW5kZXggDQo+IDgyN2M5MDUuLmRmOGNiYWYgMTAwNjQ0DQo+IC0tLSBhL3NyYy94ZW5m
aWx0L2VtdWxhdGVkLmMNCj4gKysrIGIvc3JjL3hlbmZpbHQvZW11bGF0ZWQuYw0KPiBAQCAtNTIs
OSArNTIsMTUgQEAgdHlwZWRlZiBzdHJ1Y3QgX1hFTkZJTFRfRU1VTEFURURfRElTS19EQVRBIHsN
Cj4gICAgICAgVUxPTkcgICBJbmRleDsNCj4gICB9IFhFTkZJTFRfRU1VTEFURURfRElTS19EQVRB
LCAqUFhFTkZJTFRfRU1VTEFURURfRElTS19EQVRBOw0KPiAgIA0KPiArdHlwZWRlZiBzdHJ1Y3Qg
X1hFTkZJTFRfRU1VTEFURURfTlZNRV9EQVRBIHsNCj4gKyAgICBVTE9ORyAgIFN0YXJ0SW5kZXg7
DQo+ICsgICAgVUxPTkcgICBFbmRJbmRleDsNCj4gK30gWEVORklMVF9FTVVMQVRFRF9OVk1FX0RB
VEEsICpQWEVORklMVF9FTVVMQVRFRF9OVk1FX0RBVEE7DQo+ICsNCj4gICB0eXBlZGVmIHVuaW9u
IF9YRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9EQVRBIHsNCj4gICAgICAgWEVORklMVF9FTVVMQVRF
RF9ERVZJQ0VfREFUQSBEZXZpY2U7DQo+ICAgICAgIFhFTkZJTFRfRU1VTEFURURfRElTS19EQVRB
ICAgRGlzazsNCj4gKyAgICBYRU5GSUxUX0VNVUxBVEVEX05WTUVfREFUQSAgIE52bWU7DQo+ICAg
fSBYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9EQVRBLCAqUFhFTkZJTFRfRU1VTEFURURfT0JKRUNU
X0RBVEE7DQo+ICAgDQo+ICAgc3RydWN0IF9YRU5GSUxUX0VNVUxBVEVEX09CSkVDVCB7DQo+IEBA
IC0xODksNiArMTk1LDM0IEBAIGZhaWwxOg0KPiAgICAgICByZXR1cm4gc3RhdHVzOw0KPiAgIH0N
Cj4gICANCj4gK3N0YXRpYyBOVFNUQVRVUw0KPiArRW11bGF0ZWRTZXRPYmplY3ROdm1lRGF0YSgN
Cj4gKyAgICBJTiAgUFhFTkZJTFRfRU1VTEFURURfT0JKRUNUICAgICAgICBFbXVsYXRlZE9iamVj
dCwNCj4gKyAgICBJTiAgWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRSAgICBUeXBlLA0KPiAr
ICAgIElOICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZUlELA0KPiArICAg
IElOICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbmNlSUQNCj4gKyAgICAp
DQo+ICt7DQo+ICsgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVz
Ow0KPiArDQo+ICsgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihEZXZpY2VJRCk7DQo+ICsgICAg
VU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihJbnN0YW5jZUlEKTsNCj4gKw0KPiArICAgIHN0YXR1cyA9
IFNUQVRVU19JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgICBpZiAoVHlwZSAhPSBYRU5GSUxUX0VN
VUxBVEVEX09CSkVDVF9UWVBFX05WTUUpDQo+ICsgICAgICAgIGdvdG8gZmFpbDE7DQo+ICsNCj4g
KyAgICBFbXVsYXRlZE9iamVjdC0+RGF0YS5Odm1lLlN0YXJ0SW5kZXggPSAwOw0KPiArICAgIEVt
dWxhdGVkT2JqZWN0LT5EYXRhLk52bWUuRW5kSW5kZXggPSAzOw0KPiArDQo+ICsgICAgcmV0dXJu
IFNUQVRVU19TVUNDRVNTOw0KPiArDQo+ICtmYWlsMToNCj4gKyAgICBFcnJvcigiZmFpbDEgKCUw
OHgpXG4iLCBzdGF0dXMpOw0KPiArDQo+ICsgICAgcmV0dXJuIHN0YXR1czsNCj4gK30NCj4gKw0K
PiAgIE5UU1RBVFVTDQo+ICAgRW11bGF0ZWRBZGRPYmplY3QoDQo+ICAgICAgIElOICBQWEVORklM
VF9FTVVMQVRFRF9DT05URVhUICAgICAgIENvbnRleHQsDQo+IEBAIC0yMjQsNiArMjU4LDEzIEBA
IEVtdWxhdGVkQWRkT2JqZWN0KA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBJbnN0YW5jZUlEKTsNCj4gICAgICAgICAgIGJyZWFrOw0KPiAgIA0KPiArICAg
IGNhc2UgWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRV9OVk1FOg0KPiArICAgICAgICBzdGF0
dXMgPSBFbXVsYXRlZFNldE9iamVjdE52bWVEYXRhKCpFbXVsYXRlZE9iamVjdCwNCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlLA0KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZUlELA0KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbmNlSUQpOw0KPiArICAgICAg
ICBicmVhazsNCj4gKw0KPiAgICAgICBkZWZhdWx0Og0KPiAgICAgICAgICAgc3RhdHVzID0gU1RB
VFVTX0lOVkFMSURfUEFSQU1FVEVSOw0KPiAgICAgICAgICAgYnJlYWs7DQo+IEBAIC0zMzksNiAr
MzgwLDEzIEBAIEVtdWxhdGVkSXNEaXNrUHJlc2VudCgNCj4gICAgICAgICAgICAgICBicmVhazsN
Cj4gICAgICAgICAgIH0NCj4gICANCj4gKyAgICAgICAgaWYgKEVtdWxhdGVkT2JqZWN0LT5UeXBl
ID09IFhFTkZJTFRfRU1VTEFURURfT0JKRUNUX1RZUEVfTlZNRSAmJg0KPiArICAgICAgICAgICAg
SW5kZXggPj0gRW11bGF0ZWRPYmplY3QtPkRhdGEuTnZtZS5TdGFydEluZGV4ICYmDQo+ICsgICAg
ICAgICAgICBJbmRleCA8PSBFbXVsYXRlZE9iamVjdC0+RGF0YS5Odm1lLkVuZEluZGV4KSB7DQo+
ICsgICAgICAgICAgICBUcmFjZSgiRk9VTkRcbiIpOw0KPiArICAgICAgICAgICAgYnJlYWs7DQo+
ICsgICAgICAgIH0NCj4gKw0KPiAgICAgICAgICAgTGlzdEVudHJ5ID0gTGlzdEVudHJ5LT5GbGlu
azsNCj4gICAgICAgfQ0KPiAgIA0KPiBkaWZmIC0tZ2l0IGEvc3JjL3hlbmZpbHQvZW11bGF0ZWQu
aCBiL3NyYy94ZW5maWx0L2VtdWxhdGVkLmggaW5kZXggDQo+IDU3ZWRlZTIuLjQ5OWU0M2MgMTAw
NjQ0DQo+IC0tLSBhL3NyYy94ZW5maWx0L2VtdWxhdGVkLmgNCj4gKysrIGIvc3JjL3hlbmZpbHQv
ZW11bGF0ZWQuaA0KPiBAQCAtNDEsNyArNDEsOCBAQCB0eXBlZGVmIHN0cnVjdCBfWEVORklMVF9F
TVVMQVRFRF9DT05URVhUIFhFTkZJTFRfRU1VTEFURURfQ09OVEVYVCwgKlBYRU5GSUxUX0VNVQ0K
PiAgIHR5cGVkZWYgZW51bSBfWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRSB7DQo+ICAgICAg
IFhFTkZJTFRfRU1VTEFURURfT0JKRUNUX1RZUEVfVU5LTk9XTiA9IDAsDQo+ICAgICAgIFhFTkZJ
TFRfRU1VTEFURURfT0JKRUNUX1RZUEVfUENJLA0KPiAtICAgIFhFTkZJTFRfRU1VTEFURURfT0JK
RUNUX1RZUEVfSURFDQo+ICsgICAgWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRV9JREUsDQo+
ICsgICAgWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRV9OVk1FDQo+ICAgfSBYRU5GSUxUX0VN
VUxBVEVEX09CSkVDVF9UWVBFLCAqUFhFTkZJTFRfRU1VTEFURURfT0JKRUNUX1RZUEU7DQo+ICAg
DQo+ICAgdHlwZWRlZiBzdHJ1Y3QgX1hFTkZJTFRfRU1VTEFURURfT0JKRUNUIFhFTkZJTFRfRU1V
TEFURURfT0JKRUNULCANCj4gKlBYRU5GSUxUX0VNVUxBVEVEX09CSkVDVDsgZGlmZiAtLWdpdCBh
L3NyYy94ZW5maWx0L3Bkby5jIA0KPiBiL3NyYy94ZW5maWx0L3Bkby5jIGluZGV4IDBmNmU2Y2Uu
LmIwZTBlMGYgMTAwNjQ0DQo+IC0tLSBhL3NyYy94ZW5maWx0L3Bkby5jDQo+ICsrKyBiL3NyYy94
ZW5maWx0L3Bkby5jDQo+IEBAIC00Miw2ICs0Miw3IEBADQo+ICAgI2luY2x1ZGUgInBkby5oIg0K
PiAgICNpbmNsdWRlICJ0aHJlYWQuaCINCj4gICAjaW5jbHVkZSAiZHJpdmVyLmgiDQo+ICsjaW5j
bHVkZSAicmVnaXN0cnkuaCINCj4gICAjaW5jbHVkZSAiZGJnX3ByaW50LmgiDQo+ICAgI2luY2x1
ZGUgImFzc2VydC5oIg0KPiAgICNpbmNsdWRlICJ1dGlsLmgiDQo+IEBAIC0yNTEsNiArMjUyLDU0
IEBAIF9fUGRvR2V0RmRvKA0KPiAgICAgICByZXR1cm4gUGRvLT5GZG87DQo+ICAgfQ0KPiAgIA0K
PiArDQo+ICtzdGF0aWMgRk9SQ0VJTkxJTkUgTlRTVEFUVVMNCj4gK19fUGRvR2V0RW11bGF0ZWRU
eXBlT3ZlcnJpZGUoDQo+ICsgICAgSU4gIFBYRU5GSUxUX1BETyAgICAgICAgICAgICAgICBQZG8s
DQo+ICsgICAgSU4gIFBDSEFSICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VJRA0KPiArICAg
ICkNCj4gK3sNCj4gKyAgICBYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9UWVBFICAgIFR5cGU7DQo+
ICsgICAgUEFOU0lfU1RSSU5HICAgICAgICAgICAgICAgICAgICBBbnNpOw0KPiArICAgIEhBTkRM
RSAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW1ldGVyc0tleTsNCj4gKyAgICBIQU5ETEUg
ICAgICAgICAgICAgICAgICAgICAgICAgIE92ZXJyaWRlS2V5Ow0KPiArICAgIE5UU1RBVFVTICAg
ICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOw0KPiArDQo+ICsgICAgUGFyYW1ldGVyc0tleSA9
IERyaXZlckdldFBhcmFtZXRlcnNLZXkoKTsNCj4gKw0KPiArICAgIHN0YXR1cyA9IFJlZ2lzdHJ5
T3BlblN1YktleShQYXJhbWV0ZXJzS2V5LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiT3ZlcnJpZGUiLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRU5F
UklDX1JFQUQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZPdmVycmlkZUtl
eSk7DQo+ICsgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpDQo+ICsgICAgICAgIGdvdG8gZmFp
bDE7DQo+ICsNCj4gKyAgICBzdGF0dXMgPSBSZWdpc3RyeVF1ZXJ5U3pWYWx1ZShPdmVycmlkZUtl
eSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VJRCwNCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZBbnNpKTsNCj4gKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkNCj4gKyAgICAgICAgZ290byBmYWlsMjsNCj4gKw0KPiArICAgIFR5cGUgPSBEcml2ZXJQYXJz
ZUVtdWxhdGVkVHlwZShBbnNpKTsNCj4gKyAgICBpZiAoVHlwZSAhPSBYRU5GSUxUX0VNVUxBVEVE
X09CSkVDVF9UWVBFX1VOS05PV04pIHsNCj4gKyAgICAgICAgSW5mbygiJXMgPSAlWlxuIiwgRGV2
aWNlSUQsIEFuc2kpOw0KPiArICAgICAgICBQZG8tPlR5cGUgPSBUeXBlOw0KPiArICAgIH0NCj4g
Kw0KPiArICAgIFJlZ2lzdHJ5RnJlZVN6VmFsdWUoQW5zaSk7DQo+ICsNCj4gKyAgICBSZWdpc3Ry
eUNsb3NlS2V5KE92ZXJyaWRlS2V5KTsNCj4gKw0KPiArICAgIHJldHVybiBTVEFUVVNfU1VDQ0VT
UzsNCj4gKw0KPiArZmFpbDI6DQo+ICsgICAgUmVnaXN0cnlDbG9zZUtleShPdmVycmlkZUtleSk7
DQo+ICsNCj4gK2ZhaWwxOg0KPiArICAgIHJldHVybiBzdGF0dXM7DQo+ICt9DQo+ICsNCj4gICBz
dGF0aWMgTlRTVEFUVVMNCj4gICBQZG9TZXREZXZpY2VJbmZvcm1hdGlvbigNCj4gICAgICAgSU4g
IFBYRU5GSUxUX1BETyAgICBQZG8NCj4gQEAgLTMxMyw2ICszNjIsNyBAQCBQZG9TZXREZXZpY2VJ
bmZvcm1hdGlvbigNCj4gICAgICAgRHgtPkRldmljZUlEID0gRGV2aWNlSUQ7DQo+ICAgICAgIER4
LT5JbnN0YW5jZUlEID0gSW5zdGFuY2VJRDsNCj4gICAgICAgRHgtPkxvY2F0aW9uSW5mb3JtYXRp
b24gPSBMb2NhdGlvbkluZm9ybWF0aW9uOw0KPiArICAgIChWT0lEKSBfX1Bkb0dldEVtdWxhdGVk
VHlwZU92ZXJyaWRlKFBkbywgRGV2aWNlSUQpOw0KPiAgIA0KPiAgICAgICByZXR1cm4gU1RBVFVT
X1NVQ0NFU1M7DQo+ICAgDQo+IA0KDQoNCg==


From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 15:36:59 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 15:36:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145573.267718 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLyt-0007PX-E0; Mon, 21 Jun 2021 15:36:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145573.267718; Mon, 21 Jun 2021 15:36:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLyt-0007PP-Ai; Mon, 21 Jun 2021 15:36:59 +0000
Received: by outflank-mailman (input) for mailman id 145573;
 Mon, 21 Jun 2021 15:36:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IH8w=LP=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lvLys-0007PJ-02
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 15:36:58 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b22cef17-b352-4ada-800e-36b1fc31524f;
 Mon, 21 Jun 2021 15:36:56 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b22cef17-b352-4ada-800e-36b1fc31524f
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624289816;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=l0RAHzJQ4BSan3rNslM4yEmsd+wnEzElqEJcB4zT5Ds=;
  b=GUCxRpaE1hdlUSjjjhS1LbJLVnauYnYbvB4jzRK/9sjcinN7wLuGwlS2
   ptsySG/8ON5Ml4eQhsSMwnz001v6MYj70bb5becPJGfaQa/iLZAAyu+3X
   UNQrJcv8mcfHRmQOzdeNCgiTOJ32X+qiZ696FbN5D2s6JT3TNUD+w4qSI
   I=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: ZumQcb6ghB7W/5+ugXgKKmI+QACa9n2AydOUZUACYR3QHu5CtrF+V6OfmyyR9ZJB/OtIDyyfAk
 L/78Ms1ydi6aT9u2wHBD77ldm/YecmyJCRMjH1MeQONioZv/jHiMPbhoYCPsNmkrhkluQHU3RN
 eAavs12YRnt61sPQkSjDw+PoUTvzB2WbzEZm8IXkYFtIfh+rA0QKSbb9CHhvTGwkAASDHIDq0f
 aPBGCzKc5sUm8av6ccgASllTzNdGNMi7O+pNaPF0CK7xuD2Oh2eb3lp2RBlI6KrkG9XndAEMi9
 Qos=
X-SBRS: 5.1
X-MesageID: 46589712
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:R6KItKA3XrNk7kDlHeglsceALOsnbusQ8zAXPh9KJiC9I/b1qy
 nxppkmPEfP+UwssQIb6K290c67MDzhHP9OkMUs1NKZMjUO11HYSr2KgbGSoAEIXheOjdK1tp
 0QPZSWaueAdGSS5PySiGLTcrYdKZu8gdiVbI/lvi9QpGpRGsRdBnJCe2Gm+zpNNW177PQCZf
 ihz/sCgwDlVWUcb8y9CHVAdfPEvcf3mJXvZgNDLwI76SGV5AnYqYLSIly95FMzQjlPybAt/S
 zuiAri/JiutPm911v1y3LT1ZJLg9Hso+EzRPBky/JlaQkEuDzYIbiJaIfy+AzdZ9vfr2rCpe
 O84SvI+f4DrU85MFvF+CcFkDOQrArGo0WStmNwx0GT+vARDQhKdfZplMZXdADU5FEnu8w52K
 VX33iBv54SFh/Ymj/hjuK4Hy2Cu3DE10bKq9RjxkC3kLFuHYN5vMga5gdYAZ0AFCX15MQuF/
 RvFtjV4LJTfUmBZ37Us2FzyJj0N05DVCuuUwwHoIiYwjJWlHd2ww8Rw9EehG4J8NY4R4Nf7+
 rJP6x0nPVFT9MQb6h6GOAdKPHHQVAlgSi8R156BG6XWZ3vF0i92KIf0Y9FkN1CIqZ4vKfasK
 6xIm+wm1RCCn7TNQ==
X-IronPort-AV: E=Sophos;i="5.83,289,1616472000"; 
   d="scan'208";a="46589712"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lp22Vfr/N6O+TobgGLcMBiy/3uG3UpANIiEXHESJlT9GTSjKupul/YCXHeMmi+WAPnmXM5VyCayjnds81x29AQBybO0NMOafi+VFn0YIe4osgkegAUimUETTgcgybl8tHvUKDHIvcbfUccmmpNL2qpNp6nVVZz9zM40sWZNPg+V5j0Ixz5Yq7V4SKXX1l041+5UfhD9OPqmavxtWvy6drAXQlpeuRJS2RWQowWVbgVQw3SR93IcrJTHKQsbzdI5KwaYKaY3Pm23d2Hgq+VLJKCQ6zIxaUVwEw1Mj+KzDOCt4DkkakiB4z+gGS/3cJeooVNaBM/kjyapEvBBdKiJAYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l0RAHzJQ4BSan3rNslM4yEmsd+wnEzElqEJcB4zT5Ds=;
 b=YqATkVcAO7lcA5WT51luU2sRGST4+jpME7PHfsexuKVFr2n31RcYSQRPg4F2eyNVxOa1asMxvMXS5gt7qMd9Ha6CE1bhQVS64pX0w+YwXHumF0O343KmQCcj/4FqqTE+7jt4ocUV8N19HfSzUZbDnhRm2fgM/DzOYwPUh1/9DCXGP9zSmpao+KyPViTrsFsGDo10rFVAqYI7QfIqDvQN/mDTuhvna0X1/dgCbQFFdvqZZqc6IQ91u3zt9rK0lKG18X8Yjk93n3fLy9OPaxcz7HW53kRUYw1gK+vvuuAJpmD7ZdX5OkRoBolo6KtnXkEP2e8fhjCQxPS6R+j5I5v64Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l0RAHzJQ4BSan3rNslM4yEmsd+wnEzElqEJcB4zT5Ds=;
 b=SWVSzQhk7k6Ayp0fMv9FDOUtchmvslUjLWnrA/G+V0ZtdSEu8LVcwd+yp0+SLU51Y9Plyxf4j3VsiYDpyp90L6/4EYp9lIxDpPklWluU2vnIT8pJbWJlIIRRckeQXfClVOu2Kz+3RdfmUwbg9Zg8GIe9SxENsc6vcfu7quJN0g4=
From: Owen Smith <owen.smith@citrix.com>
To: "paul@xen.org" <paul@xen.org>, "win-pv-devel@lists.xenproject.org"
	<win-pv-devel@lists.xenproject.org>
Subject: RE: [PATCH 4/6] Add emulated type override per device ID
Thread-Topic: [PATCH 4/6] Add emulated type override per device ID
Thread-Index: AQHXY3UR5WYpS/Vu8kORMlgE0RWa2qseg9MAgAAawIA=
Date: Mon, 21 Jun 2021 15:36:51 +0000
Message-ID: <DS7PR03MB5477E199DE565C374B7B6956FE0A9@DS7PR03MB5477.namprd03.prod.outlook.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-4-owen.smith@citrix.com>
 <6cad3d24-838e-9c33-7fc0-46e719a4c5e4@xen.org>
In-Reply-To: <6cad3d24-838e-9c33-7fc0-46e719a4c5e4@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: cda251b5-b2ec-4351-5b46-08d934ca6409
x-ms-traffictypediagnostic: DM5PR03MB3338:
x-microsoft-antispam-prvs: <DM5PR03MB3338E9A147AD82998B4AA28CFE0A9@DM5PR03MB3338.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:2887;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: giMLAmxQZfF+JSjYgnZFIDuBPHYZGaW+glV4XPr2Wtgn+ezStYXbuJghJCuFYkrm2Pw1KW0mkVu/caKm4BjQvuj3JGUH9ku6BiylkXuE1YTJQT7Ip9+Pd9b7S/X1UjcoyNl7Bn2FS+LO66mS0dHTs/7qQzgHfDeNNSQ+YTMUc0dKEFa5WvQFmR/D6KQzXJ8BcZiLoctl7irjhocra0Ekj/V8zNdh9JW2LNqKHPd41aPbvf2mR4WAr1FuIG9t3Z3rt+5zzFy66QSdwzHET2j2wHPnn/BjWBw4NrpS4Bwjn/XXSqME1jd7DTIy4xGXgplgzND/vFyMz0/a41k3qTNJ53rzP372DiZNkVS+QOEeM0630MNjJ26ZvrOqn1LthY1iy6+pSfI0kduj25q5NS/+nlZie5UOtiE/lWLaODZyJqB6Ic1USTQJFNR9T1wBtvewOgqexM+5lccgaHRMSBIh6iZjtvUFIjq9M3fbOErh/K2CmzMKDd2xb54ydv0mb4Em2mGSNAZJCAKBCllco1rrQcvM39qA21IhespwqV2lasijXugSIuS+M4RbcdrezqUZ8RL2SyQtqJPORJl6k6wNYDEvuGNdaO82LzldBr2kUfg=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5477.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(136003)(376002)(39860400002)(346002)(366004)(38100700002)(86362001)(66946007)(122000001)(83380400001)(2906002)(26005)(64756008)(316002)(110136005)(186003)(33656002)(66556008)(66476007)(55016002)(478600001)(76116006)(66446008)(44832011)(52536014)(6506007)(53546011)(5660300002)(8936002)(71200400001)(7696005)(9686003)(8676002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UllwWGVuNHJleStybGZqcWZDZTZ0QXZ2cUdqdUFYR2k2YVpSdUxUYy9wdnlk?=
 =?utf-8?B?bUZ4ckh3TEsvejJsZXVaMWhxanRTQTM1WHNRc2dTL2NoNmZvSm1iTFllY2NV?=
 =?utf-8?B?VTVzTjlQaEZncjhMNWpoRzluYUR3V3RoRjljK0VaR0c4NEM2enFyd1ZhdmtV?=
 =?utf-8?B?SnVaVExpaXNFR3ZWTkdIRW5CZlc1M2hrcUtmaE1mbzRIT0R6cSsvNUxoRmpS?=
 =?utf-8?B?dGRrNGJUR0ZGL0tVYWxsOHJBV3U4QjA3TUVVQnFQdzJ2U2FxK2JPRVl6L1pi?=
 =?utf-8?B?a0F1UU5XWDhPMXQ1M2todnhsVDdwWFBVU042M2k0RW1qaFJGU0c0UFBSS09t?=
 =?utf-8?B?T2RzWVgrMnBmTkMvQUtXNVNhVjhuYTJqV1VINTgwTEo3T041ZElVL1F4T0RN?=
 =?utf-8?B?am9ZNWlNVU1DYk9FcDQwN1BTUmZqaHNOZWJCem12WVZHaUkrYXplL2pDbGdN?=
 =?utf-8?B?UVFtK3ZFZlJaQ2NyeVhpd3V3a1pncmFNWFp4SXJ0RFR6U2FiUTdnSDlOc1dk?=
 =?utf-8?B?MlJZSHM2aVVXS3luQUVYcVcxMVl2eUdRSlBUbXpLaCtSMTRLakYyTGhjcEdv?=
 =?utf-8?B?MVo1RTM2VzdrUWMrNEtXSi9PM3NrS0lrcnUzdHo4ck05aFA3a3VpdGdFS0V1?=
 =?utf-8?B?bkFTeng3YXVTbUh0dU1LS3MzWUVIM2k4YmoxZTBhd3FWSE9SbHpDQWhRQkpu?=
 =?utf-8?B?MjhmQmV2YnZmMHhId1RZR1FFNnJPNnBGSzZ3MTU5cWo4NUFNSnptOFEzcWIr?=
 =?utf-8?B?T0Q4blJqSHlMYndQa0FXbTJjWGE2Mks1L0I2d3ZDQ2hpNk9XQVozQVE1UnlC?=
 =?utf-8?B?dzFnY2tHSitGcmtRRFF1MDN2U1RCRUhPTUd6aU53UUhpOHFUalAzZmRpczUr?=
 =?utf-8?B?bnMyWmxhN1RkcVYrbFY5akx5UlVGQ3A2ckVpTiszandacnhMblJYUkpUL0Iv?=
 =?utf-8?B?c3lwWEFaeDFpMlJZM2Y3SVVmWHRIZ0VWYTBDYzJ3ZVIzY2h2MGFrWEJFMUlz?=
 =?utf-8?B?dGMxaUczSSszRnNQZS9hYVAySjdHdDduR21qeTlhSjkxZXdmK1Z6ZXNneEZT?=
 =?utf-8?B?QkJZYjhDaXNrQ1dpdWxNTTNnZUxURHdKT2R4Z0lja0hHZnNka1ZZNXFsYWNM?=
 =?utf-8?B?a2xNZGpGcXpOZzJueWkvY2M2SXFicEZSNHNmYzBTOGxTSERkYWJ2TzdHbC83?=
 =?utf-8?B?VE45NVl2ZHh1MWIvNnhoYzJSdkU0dGVtYVZXSXArakJNQi90MXEvT1BNUmtm?=
 =?utf-8?B?aEhKbTVJOFRmR2pFQXFieW80aFIyVzBFMUZEWU9FL1dzT3lWNHh0MDVQcTZK?=
 =?utf-8?B?bXR2UmdoYzZwaWFiTWRMVWlaV2kxU21pMEJ3QWx3K3YxWklHb2JXQUlBbjlK?=
 =?utf-8?B?bm5NSWRnUXhmTkIwYkNnSXZCU0hYditrVzIweXgrYlRQay96b2FLTWJRemRv?=
 =?utf-8?B?T0FMUiswczNyV3lNbnhVRzlCTXoxdXJvWlE0SlFyc05aeVB5ODF2UlZZK3da?=
 =?utf-8?B?cGlJM21XWEwwaEJ4WFJpTTNocnlxZTJxYy9FbzFPSmcwK0NuVC9GZTQ0NVQx?=
 =?utf-8?B?ZGU4UGI1Ny8zT09ESTlDK3dqZEdBalBTU2Q1a2J1b1ZHeHIvQ0J2aUtuUWl5?=
 =?utf-8?B?TXR6K21TdEk4OXJtdWhyU3JKUWZXYjAxUW1tYzRZMVIzRHdHVVlFS2paVnpq?=
 =?utf-8?B?SVpoSWE5MjVoTnEzTWlJRWJkNnU4bVJMN0pPUU10aCtCOHJVOEQ5WmNqejho?=
 =?utf-8?Q?0tyUkx/0SJ7FThzA5s=3D?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5477.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cda251b5-b2ec-4351-5b46-08d934ca6409
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2021 15:36:51.4540
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: FYAGy3rt3XBGn6AWcgYFalBI9fxa2amj0ONwcQFkk9PyRKhaBmtiAEYHdNd7X5xeWiBbTENoLCLhvW3dGUNNlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3338
X-OriginatorOrg: citrix.com

LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IHdpbi1wdi1kZXZlbCA8d2luLXB2LWRl
dmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZiBQYXVsIER1cnJh
bnQNClNlbnQ6IE1vbmRheSwgSnVuZSAyMSwgMjAyMSAyOjU3IFBNDQpUbzogd2luLXB2LWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnDQpTdWJqZWN0OiBSZTogW1BBVENIIDQvNl0gQWRkIGVtdWxh
dGVkIHR5cGUgb3ZlcnJpZGUgcGVyIGRldmljZSBJRA0KDQpbQ0FVVElPTiAtIEVYVEVSTkFMIEVN
QUlMXSBETyBOT1QgcmVwbHksIGNsaWNrIGxpbmtzLCBvciBvcGVuIGF0dGFjaG1lbnRzIHVubGVz
cyB5b3UgaGF2ZSB2ZXJpZmllZCB0aGUgc2VuZGVyIGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNh
ZmUuDQoNCk9uIDE3LzA2LzIwMjEgMTM6MzMsIE93ZW4gU21pdGggd3JvdGU6DQo+IEFkZCB0aGUg
b3B0aW9uIHRvIG92ZXJyaWRlIGEgZGV2aWNlIG5vZGVzIGVtdWxhdGVkIHR5cGUgZm9yIGEgc3Bl
Y2lmaWMgDQo+IGRldmljZSBJRCwgYW5kIGFkZHMgdGhlIE5WTUUgdHlwZS4NCj4gU3BlY2lmaWMg
SGFyZHdhcmVJRHMgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCBhIG1vcmUgc3BlY2lmaWMgdHlwZSB0
aGFuICdEZXZpY2UnLg0KPiBBZGQgYSB3YXkgb2Ygc3BlY2lmeWluZyBhIHBhcnRpY3VsYXIgSGFy
ZHdhcmVJRCBhcyBhbiBlbXVsYXRlZCBOVk1lIA0KPiBjb250cm9sbGVyIHNvIHRoYXQgd2hlbiBY
ZW5WYmQgcXVlcmllcyBpZiBhIGRpc2sgaXMgcHJlc2VudCwgWGVuRmlsdCANCj4gY2FuIHJlc3Bv
bmQgY29ycmVjdGx5IGlmIGVpdGhlciBpdHMgZW11bGF0ZWQgSURFIGRpc2sgb3IgZW11bGF0ZWQg
TlZNZSBkaXNrIGlzIHByZXNlbnQuDQo+IENlcnRhaW4gdXBncmFkZSBzaXR1YXRpb25zIGNvdWxk
IGxlYXZlIHRoZSB1bnBsdWcga2V5IGVtcHR5IChzbyB0aGUgDQo+IGVtdWxhdGVkIE5WTWUgZGV2
aWNlIGlzIGluIHVzZSksIGFuZCB0aGlzIGNvdWxkIGxlYWQgdG8gWGVuVmJkIG5vdCANCj4gaWRl
bnRpZnlpbmcgdGhlIGVtdWxhdGVkIE5WTWUgZGlzayBhbmQgcHJvY2VlZGluZyB0byBjb25uZWN0
IHRvIHRoZSANCj4gYmFja2VuZCAod2hpY2ggY291bGQgYWxyZWFkeSBiZSBpbiB1c2UgYnkgdGhl
IGVtdWxhdGVkIE5WTWUgZGlzaykuIA0KPiBUaGlzIHNpdHVhdGlvbiBsZWFkcyB0byBhIHJlY292
ZXJ5IHByb21wdCAiQSByZXF1aXJlZCBkZXZpY2UgaXNuJ3QgY29ubmVjdGVkIG9yIGNhbid0IGJl
IGFjY2Vzc2VkIg0KPiANCj4gTm90ZTogdGhpcyBwYXRjaCBkb2VzbnQgZGVmaW5lIHRoZSBIYXJk
d2FyZUlEKHMpIGFzc29jaWF0ZWQgd2l0aCANCj4gZW11bGF0ZWQgTlZNZSBkZXZpY2VzLCBhcyB0
aGlzIGlzIGRlcGVuZGVudCBvbiB0aGUgVk0gY29uZmlndXJhdGlvbi4NCg0KQ291bGQgd2Ugbm90
IHVzZSBDb21wYXRpYmxlSURzIGFuZCBsb29rIGZvciAiUENJXFxDQ18wMTA4MDIiIChvciBwZXJo
YXBzIGV2ZW4gZHJvcCB0aGUgMDIpPw0KDQogICBQYXVsDQoNCg0KSSdsbCByZXdvcmsgdGhpcyBw
YXRjaCBhbmQgdGhlIGZvbGxvdyB1cCBwYXRjaCAodGhhdCBkZWZpbmVzIHRoZSBvdmVycmlkZSBm
b3IgdGhlIFFFTVUgTlZNZSBjb250cm9sbGVyKSBiYXNlZCBvbiBDb21wYXRpYmxlSURzDQoNCk93
ZW4NCg0KPiANCj4gU2lnbmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXgu
Y29tPg0KPiAtLS0NCj4gICBzcmMveGVuZmlsdC9kcml2ZXIuYyAgIHwgMjAgKysrKysrKysrKysr
Ky0tLS0NCj4gICBzcmMveGVuZmlsdC9kcml2ZXIuaCAgIHwgIDUgKysrKysNCj4gICBzcmMveGVu
ZmlsdC9lbXVsYXRlZC5jIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKw0KPiAgIHNyYy94ZW5maWx0L2VtdWxhdGVkLmggfCAgMyArKy0NCj4gICBzcmMveGVuZmls
dC9wZG8uYyAgICAgIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrDQo+ICAgNSBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo
LSkNCj4gDQo+IGRpZmYgLS1naXQgYS9zcmMveGVuZmlsdC9kcml2ZXIuYyBiL3NyYy94ZW5maWx0
L2RyaXZlci5jIGluZGV4IA0KPiBlOWU2NjczLi5lMjVjMjA4IDEwMDY0NA0KPiAtLS0gYS9zcmMv
eGVuZmlsdC9kcml2ZXIuYw0KPiArKysgYi9zcmMveGVuZmlsdC9kcml2ZXIuYw0KPiBAQCAtNzIz
LDYgKzcyMywyMSBAQCBmYWlsMToNCj4gICAgICAgcmV0dXJuIHN0YXR1czsNCj4gICB9DQo+ICAg
DQo+ICtYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9UWVBFDQo+ICtEcml2ZXJQYXJzZUVtdWxhdGVk
VHlwZSgNCj4gKyAgICBJTiAgUEFOU0lfU1RSSU5HICAgICAgICAgICAgICAgIEFuc2kNCj4gKyAg
ICApDQo+ICt7DQo+ICsgICAgaWYgKF9zdHJuaWNtcChBbnNpLT5CdWZmZXIsICJQQ0kiLCBBbnNp
LT5MZW5ndGgpID09IDApDQo+ICsgICAgICAgIHJldHVybiBYRU5GSUxUX0VNVUxBVEVEX09CSkVD
VF9UWVBFX1BDSTsNCj4gKyAgICBlbHNlIGlmIChfc3RybmljbXAoQW5zaS0+QnVmZmVyLCAiSURF
IiwgQW5zaS0+TGVuZ3RoKSA9PSAwKQ0KPiArICAgICAgICByZXR1cm4gWEVORklMVF9FTVVMQVRF
RF9PQkpFQ1RfVFlQRV9JREU7DQo+ICsgICAgZWxzZSBpZiAoX3N0cm5pY21wKEFuc2ktPkJ1ZmZl
ciwgIk5WTUUiLCBBbnNpLT5MZW5ndGgpID09IDApDQo+ICsgICAgICAgIHJldHVybiBYRU5GSUxU
X0VNVUxBVEVEX09CSkVDVF9UWVBFX05WTUU7DQo+ICsNCj4gKyAgICByZXR1cm4gWEVORklMVF9F
TVVMQVRFRF9PQkpFQ1RfVFlQRV9VTktOT1dOOw0KPiArfQ0KPiArDQo+ICAgc3RhdGljIFhFTkZJ
TFRfRU1VTEFURURfT0JKRUNUX1RZUEUNCj4gICBEcml2ZXJHZXRFbXVsYXRlZFR5cGUoDQo+ICAg
ICAgIElOICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgSWQNCj4gQEAgLTc1MywxMCArNzY4
LDcgQEAgRHJpdmVyR2V0RW11bGF0ZWRUeXBlKA0KPiAgICAgICAgICAgaWYgKE5UX1NVQ0NFU1Mo
c3RhdHVzKSkgew0KPiAgICAgICAgICAgICAgIEluZm8oIk1BVENIOiAlcyAtPiAlWlxuIiwgJklk
W0luZGV4XSwgQW5zaSk7DQo+ICAgDQo+IC0gICAgICAgICAgICBpZiAoX3N0cm5pY21wKEFuc2kt
PkJ1ZmZlciwgIlBDSSIsIEFuc2ktPkxlbmd0aCkgPT0gMCkNCj4gLSAgICAgICAgICAgICAgICBU
eXBlID0gWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRV9QQ0k7DQo+IC0gICAgICAgICAgICBl
bHNlIGlmIChfc3RybmljbXAoQW5zaS0+QnVmZmVyLCAiSURFIiwgQW5zaS0+TGVuZ3RoKSA9PSAw
KQ0KPiAtICAgICAgICAgICAgICAgIFR5cGUgPSBYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9UWVBF
X0lERTsNCj4gKyAgICAgICAgICAgIFR5cGUgPSBEcml2ZXJQYXJzZUVtdWxhdGVkVHlwZShBbnNp
KTsNCj4gICANCj4gICAgICAgICAgICAgICBSZWdpc3RyeUZyZWVTelZhbHVlKEFuc2kpOw0KPiAg
ICAgICAgICAgfSBlbHNlIHsNCj4gZGlmZiAtLWdpdCBhL3NyYy94ZW5maWx0L2RyaXZlci5oIGIv
c3JjL3hlbmZpbHQvZHJpdmVyLmggaW5kZXggDQo+IDI4NjU4MGIuLmVlNjU2YzggMTAwNjQ0DQo+
IC0tLSBhL3NyYy94ZW5maWx0L2RyaXZlci5oDQo+ICsrKyBiL3NyYy94ZW5maWx0L2RyaXZlci5o
DQo+IEBAIC05MCw2ICs5MCwxMSBAQCBEcml2ZXJRdWVyeURldmljZVRleHQoDQo+ICAgDQo+ICAg
I2luY2x1ZGUgImVtdWxhdGVkLmgiDQo+ICAgDQo+ICtYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9U
WVBFDQo+ICtEcml2ZXJQYXJzZUVtdWxhdGVkVHlwZSgNCj4gKyAgICBJTiAgUEFOU0lfU1RSSU5H
ICAgICAgICAgICAgICAgIEFuc2kNCj4gKyAgICApOw0KPiArDQo+ICAgUFhFTkZJTFRfRU1VTEFU
RURfQ09OVEVYVA0KPiAgIERyaXZlckdldEVtdWxhdGVkQ29udGV4dCgNCj4gICAgICAgVk9JRA0K
PiBkaWZmIC0tZ2l0IGEvc3JjL3hlbmZpbHQvZW11bGF0ZWQuYyBiL3NyYy94ZW5maWx0L2VtdWxh
dGVkLmMgaW5kZXggDQo+IDgyN2M5MDUuLmRmOGNiYWYgMTAwNjQ0DQo+IC0tLSBhL3NyYy94ZW5m
aWx0L2VtdWxhdGVkLmMNCj4gKysrIGIvc3JjL3hlbmZpbHQvZW11bGF0ZWQuYw0KPiBAQCAtNTIs
OSArNTIsMTUgQEAgdHlwZWRlZiBzdHJ1Y3QgX1hFTkZJTFRfRU1VTEFURURfRElTS19EQVRBIHsN
Cj4gICAgICAgVUxPTkcgICBJbmRleDsNCj4gICB9IFhFTkZJTFRfRU1VTEFURURfRElTS19EQVRB
LCAqUFhFTkZJTFRfRU1VTEFURURfRElTS19EQVRBOw0KPiAgIA0KPiArdHlwZWRlZiBzdHJ1Y3Qg
X1hFTkZJTFRfRU1VTEFURURfTlZNRV9EQVRBIHsNCj4gKyAgICBVTE9ORyAgIFN0YXJ0SW5kZXg7
DQo+ICsgICAgVUxPTkcgICBFbmRJbmRleDsNCj4gK30gWEVORklMVF9FTVVMQVRFRF9OVk1FX0RB
VEEsICpQWEVORklMVF9FTVVMQVRFRF9OVk1FX0RBVEE7DQo+ICsNCj4gICB0eXBlZGVmIHVuaW9u
IF9YRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9EQVRBIHsNCj4gICAgICAgWEVORklMVF9FTVVMQVRF
RF9ERVZJQ0VfREFUQSBEZXZpY2U7DQo+ICAgICAgIFhFTkZJTFRfRU1VTEFURURfRElTS19EQVRB
ICAgRGlzazsNCj4gKyAgICBYRU5GSUxUX0VNVUxBVEVEX05WTUVfREFUQSAgIE52bWU7DQo+ICAg
fSBYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9EQVRBLCAqUFhFTkZJTFRfRU1VTEFURURfT0JKRUNU
X0RBVEE7DQo+ICAgDQo+ICAgc3RydWN0IF9YRU5GSUxUX0VNVUxBVEVEX09CSkVDVCB7DQo+IEBA
IC0xODksNiArMTk1LDM0IEBAIGZhaWwxOg0KPiAgICAgICByZXR1cm4gc3RhdHVzOw0KPiAgIH0N
Cj4gICANCj4gK3N0YXRpYyBOVFNUQVRVUw0KPiArRW11bGF0ZWRTZXRPYmplY3ROdm1lRGF0YSgN
Cj4gKyAgICBJTiAgUFhFTkZJTFRfRU1VTEFURURfT0JKRUNUICAgICAgICBFbXVsYXRlZE9iamVj
dCwNCj4gKyAgICBJTiAgWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRSAgICBUeXBlLA0KPiAr
ICAgIElOICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZUlELA0KPiArICAg
IElOICBQQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbmNlSUQNCj4gKyAgICAp
DQo+ICt7DQo+ICsgICAgTlRTVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVz
Ow0KPiArDQo+ICsgICAgVU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihEZXZpY2VJRCk7DQo+ICsgICAg
VU5SRUZFUkVOQ0VEX1BBUkFNRVRFUihJbnN0YW5jZUlEKTsNCj4gKw0KPiArICAgIHN0YXR1cyA9
IFNUQVRVU19JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgICBpZiAoVHlwZSAhPSBYRU5GSUxUX0VN
VUxBVEVEX09CSkVDVF9UWVBFX05WTUUpDQo+ICsgICAgICAgIGdvdG8gZmFpbDE7DQo+ICsNCj4g
KyAgICBFbXVsYXRlZE9iamVjdC0+RGF0YS5Odm1lLlN0YXJ0SW5kZXggPSAwOw0KPiArICAgIEVt
dWxhdGVkT2JqZWN0LT5EYXRhLk52bWUuRW5kSW5kZXggPSAzOw0KPiArDQo+ICsgICAgcmV0dXJu
IFNUQVRVU19TVUNDRVNTOw0KPiArDQo+ICtmYWlsMToNCj4gKyAgICBFcnJvcigiZmFpbDEgKCUw
OHgpXG4iLCBzdGF0dXMpOw0KPiArDQo+ICsgICAgcmV0dXJuIHN0YXR1czsNCj4gK30NCj4gKw0K
PiAgIE5UU1RBVFVTDQo+ICAgRW11bGF0ZWRBZGRPYmplY3QoDQo+ICAgICAgIElOICBQWEVORklM
VF9FTVVMQVRFRF9DT05URVhUICAgICAgIENvbnRleHQsDQo+IEBAIC0yMjQsNiArMjU4LDEzIEBA
IEVtdWxhdGVkQWRkT2JqZWN0KA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBJbnN0YW5jZUlEKTsNCj4gICAgICAgICAgIGJyZWFrOw0KPiAgIA0KPiArICAg
IGNhc2UgWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRV9OVk1FOg0KPiArICAgICAgICBzdGF0
dXMgPSBFbXVsYXRlZFNldE9iamVjdE52bWVEYXRhKCpFbXVsYXRlZE9iamVjdCwNCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlLA0KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZUlELA0KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbmNlSUQpOw0KPiArICAgICAg
ICBicmVhazsNCj4gKw0KPiAgICAgICBkZWZhdWx0Og0KPiAgICAgICAgICAgc3RhdHVzID0gU1RB
VFVTX0lOVkFMSURfUEFSQU1FVEVSOw0KPiAgICAgICAgICAgYnJlYWs7DQo+IEBAIC0zMzksNiAr
MzgwLDEzIEBAIEVtdWxhdGVkSXNEaXNrUHJlc2VudCgNCj4gICAgICAgICAgICAgICBicmVhazsN
Cj4gICAgICAgICAgIH0NCj4gICANCj4gKyAgICAgICAgaWYgKEVtdWxhdGVkT2JqZWN0LT5UeXBl
ID09IFhFTkZJTFRfRU1VTEFURURfT0JKRUNUX1RZUEVfTlZNRSAmJg0KPiArICAgICAgICAgICAg
SW5kZXggPj0gRW11bGF0ZWRPYmplY3QtPkRhdGEuTnZtZS5TdGFydEluZGV4ICYmDQo+ICsgICAg
ICAgICAgICBJbmRleCA8PSBFbXVsYXRlZE9iamVjdC0+RGF0YS5Odm1lLkVuZEluZGV4KSB7DQo+
ICsgICAgICAgICAgICBUcmFjZSgiRk9VTkRcbiIpOw0KPiArICAgICAgICAgICAgYnJlYWs7DQo+
ICsgICAgICAgIH0NCj4gKw0KPiAgICAgICAgICAgTGlzdEVudHJ5ID0gTGlzdEVudHJ5LT5GbGlu
azsNCj4gICAgICAgfQ0KPiAgIA0KPiBkaWZmIC0tZ2l0IGEvc3JjL3hlbmZpbHQvZW11bGF0ZWQu
aCBiL3NyYy94ZW5maWx0L2VtdWxhdGVkLmggaW5kZXggDQo+IDU3ZWRlZTIuLjQ5OWU0M2MgMTAw
NjQ0DQo+IC0tLSBhL3NyYy94ZW5maWx0L2VtdWxhdGVkLmgNCj4gKysrIGIvc3JjL3hlbmZpbHQv
ZW11bGF0ZWQuaA0KPiBAQCAtNDEsNyArNDEsOCBAQCB0eXBlZGVmIHN0cnVjdCBfWEVORklMVF9F
TVVMQVRFRF9DT05URVhUIFhFTkZJTFRfRU1VTEFURURfQ09OVEVYVCwgKlBYRU5GSUxUX0VNVQ0K
PiAgIHR5cGVkZWYgZW51bSBfWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRSB7DQo+ICAgICAg
IFhFTkZJTFRfRU1VTEFURURfT0JKRUNUX1RZUEVfVU5LTk9XTiA9IDAsDQo+ICAgICAgIFhFTkZJ
TFRfRU1VTEFURURfT0JKRUNUX1RZUEVfUENJLA0KPiAtICAgIFhFTkZJTFRfRU1VTEFURURfT0JK
RUNUX1RZUEVfSURFDQo+ICsgICAgWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRV9JREUsDQo+
ICsgICAgWEVORklMVF9FTVVMQVRFRF9PQkpFQ1RfVFlQRV9OVk1FDQo+ICAgfSBYRU5GSUxUX0VN
VUxBVEVEX09CSkVDVF9UWVBFLCAqUFhFTkZJTFRfRU1VTEFURURfT0JKRUNUX1RZUEU7DQo+ICAg
DQo+ICAgdHlwZWRlZiBzdHJ1Y3QgX1hFTkZJTFRfRU1VTEFURURfT0JKRUNUIFhFTkZJTFRfRU1V
TEFURURfT0JKRUNULCANCj4gKlBYRU5GSUxUX0VNVUxBVEVEX09CSkVDVDsgZGlmZiAtLWdpdCBh
L3NyYy94ZW5maWx0L3Bkby5jIA0KPiBiL3NyYy94ZW5maWx0L3Bkby5jIGluZGV4IDBmNmU2Y2Uu
LmIwZTBlMGYgMTAwNjQ0DQo+IC0tLSBhL3NyYy94ZW5maWx0L3Bkby5jDQo+ICsrKyBiL3NyYy94
ZW5maWx0L3Bkby5jDQo+IEBAIC00Miw2ICs0Miw3IEBADQo+ICAgI2luY2x1ZGUgInBkby5oIg0K
PiAgICNpbmNsdWRlICJ0aHJlYWQuaCINCj4gICAjaW5jbHVkZSAiZHJpdmVyLmgiDQo+ICsjaW5j
bHVkZSAicmVnaXN0cnkuaCINCj4gICAjaW5jbHVkZSAiZGJnX3ByaW50LmgiDQo+ICAgI2luY2x1
ZGUgImFzc2VydC5oIg0KPiAgICNpbmNsdWRlICJ1dGlsLmgiDQo+IEBAIC0yNTEsNiArMjUyLDU0
IEBAIF9fUGRvR2V0RmRvKA0KPiAgICAgICByZXR1cm4gUGRvLT5GZG87DQo+ICAgfQ0KPiAgIA0K
PiArDQo+ICtzdGF0aWMgRk9SQ0VJTkxJTkUgTlRTVEFUVVMNCj4gK19fUGRvR2V0RW11bGF0ZWRU
eXBlT3ZlcnJpZGUoDQo+ICsgICAgSU4gIFBYRU5GSUxUX1BETyAgICAgICAgICAgICAgICBQZG8s
DQo+ICsgICAgSU4gIFBDSEFSICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VJRA0KPiArICAg
ICkNCj4gK3sNCj4gKyAgICBYRU5GSUxUX0VNVUxBVEVEX09CSkVDVF9UWVBFICAgIFR5cGU7DQo+
ICsgICAgUEFOU0lfU1RSSU5HICAgICAgICAgICAgICAgICAgICBBbnNpOw0KPiArICAgIEhBTkRM
RSAgICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW1ldGVyc0tleTsNCj4gKyAgICBIQU5ETEUg
ICAgICAgICAgICAgICAgICAgICAgICAgIE92ZXJyaWRlS2V5Ow0KPiArICAgIE5UU1RBVFVTICAg
ICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOw0KPiArDQo+ICsgICAgUGFyYW1ldGVyc0tleSA9
IERyaXZlckdldFBhcmFtZXRlcnNLZXkoKTsNCj4gKw0KPiArICAgIHN0YXR1cyA9IFJlZ2lzdHJ5
T3BlblN1YktleShQYXJhbWV0ZXJzS2V5LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiT3ZlcnJpZGUiLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRU5F
UklDX1JFQUQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZPdmVycmlkZUtl
eSk7DQo+ICsgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpDQo+ICsgICAgICAgIGdvdG8gZmFp
bDE7DQo+ICsNCj4gKyAgICBzdGF0dXMgPSBSZWdpc3RyeVF1ZXJ5U3pWYWx1ZShPdmVycmlkZUtl
eSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VJRCwNCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZBbnNpKTsNCj4gKyAgICBpZiAoIU5UX1NVQ0NFU1Moc3RhdHVz
KSkNCj4gKyAgICAgICAgZ290byBmYWlsMjsNCj4gKw0KPiArICAgIFR5cGUgPSBEcml2ZXJQYXJz
ZUVtdWxhdGVkVHlwZShBbnNpKTsNCj4gKyAgICBpZiAoVHlwZSAhPSBYRU5GSUxUX0VNVUxBVEVE
X09CSkVDVF9UWVBFX1VOS05PV04pIHsNCj4gKyAgICAgICAgSW5mbygiJXMgPSAlWlxuIiwgRGV2
aWNlSUQsIEFuc2kpOw0KPiArICAgICAgICBQZG8tPlR5cGUgPSBUeXBlOw0KPiArICAgIH0NCj4g
Kw0KPiArICAgIFJlZ2lzdHJ5RnJlZVN6VmFsdWUoQW5zaSk7DQo+ICsNCj4gKyAgICBSZWdpc3Ry
eUNsb3NlS2V5KE92ZXJyaWRlS2V5KTsNCj4gKw0KPiArICAgIHJldHVybiBTVEFUVVNfU1VDQ0VT
UzsNCj4gKw0KPiArZmFpbDI6DQo+ICsgICAgUmVnaXN0cnlDbG9zZUtleShPdmVycmlkZUtleSk7
DQo+ICsNCj4gK2ZhaWwxOg0KPiArICAgIHJldHVybiBzdGF0dXM7DQo+ICt9DQo+ICsNCj4gICBz
dGF0aWMgTlRTVEFUVVMNCj4gICBQZG9TZXREZXZpY2VJbmZvcm1hdGlvbigNCj4gICAgICAgSU4g
IFBYRU5GSUxUX1BETyAgICBQZG8NCj4gQEAgLTMxMyw2ICszNjIsNyBAQCBQZG9TZXREZXZpY2VJ
bmZvcm1hdGlvbigNCj4gICAgICAgRHgtPkRldmljZUlEID0gRGV2aWNlSUQ7DQo+ICAgICAgIER4
LT5JbnN0YW5jZUlEID0gSW5zdGFuY2VJRDsNCj4gICAgICAgRHgtPkxvY2F0aW9uSW5mb3JtYXRp
b24gPSBMb2NhdGlvbkluZm9ybWF0aW9uOw0KPiArICAgIChWT0lEKSBfX1Bkb0dldEVtdWxhdGVk
VHlwZU92ZXJyaWRlKFBkbywgRGV2aWNlSUQpOw0KPiAgIA0KPiAgICAgICByZXR1cm4gU1RBVFVT
X1NVQ0NFU1M7DQo+ICAgDQo+IA0KDQoNCg==


From win-pv-devel-bounces@lists.xenproject.org Mon Jun 21 15:37:17 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 21 Jun 2021 15:37:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.145578.267721 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLzB-0007Tl-Gb; Mon, 21 Jun 2021 15:37:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 145578.267721; Mon, 21 Jun 2021 15:37:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lvLzB-0007Te-Df; Mon, 21 Jun 2021 15:37:17 +0000
Received: by outflank-mailman (input) for mailman id 145578;
 Mon, 21 Jun 2021 15:37:16 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IH8w=LP=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lvLzA-0007SX-7z
 for win-pv-devel@lists.xenproject.org; Mon, 21 Jun 2021 15:37:16 +0000
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id eebeb379-a8d8-4314-9866-f3e115e20a30;
 Mon, 21 Jun 2021 15:37:12 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eebeb379-a8d8-4314-9866-f3e115e20a30
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624289832;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=yjYovU7n1mZc7UC2n6TFKOeISAPIQKIZA745vTAPxhc=;
  b=PIlXrrAHyxL3Ec5jKVCH0qI2bnJ55xvjqCLBsbFXgnLJN1bbkY/psYr0
   xW4MhrmZbMioV9TviaoV69P/9X/ISDyW2h3WUxkxOa8yHhVfHZ+DI8cXw
   Jgff33XcdPOgqFnU9aekZ6VQVSqRFgFPZQK0CnxPszDKSTCnU93BWlpx2
   s=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: +e+ADFu+NSLpQ4HP86Zrae0D7XHhS8Pru38kngf48nGlJ6l6g+1a0kEsPLUvNVe+QjrF9GCJki
 vV5Hrv7NvMCPwtQ9tSJE/oBO2SuFeQeiY7IUntlZY4So9cJnTuNHbxoqeYZ6ld7el1/rO9jYOi
 sfzKOnRYSL/YhdaQRbmvqTMjr+kUS5h5Ta9/+2opDcokqGXtdpIjlx2AWrSZsUALr/i/E8vBFx
 hTRX+GXBBmmy2tfYK9/xBkk5NWjGghTpgSZa7kn4mrpCNzvqsY0wbEG0eQWGcigGZ+1uYkt9AP
 Vl0=
X-SBRS: 5.1
X-MesageID: 46328291
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:qpEFga6ZpXw5nACCzgPXwUOBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc0AxhJU3I6urwRJVoJkmsu6KdgLNhcotKOTOGhILGFvAa0WKP+UyDJ8S6zJ8m6U
 4CSdk+NDSTNykDsS+S2mDReLxMoKjlzEnrv5ak854Ed3AwV0gK1XYcNu/vKDwReOAwP+tfKH
 Pz3LsjmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlil9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4sow3TX+0SVjbZaKvm/VQMO0aaSAZER4Z
 /xSiIbToFOArXqDziISFXWqlHdOX0VmgDfIBej8AXeSIrCNWgH4oN69PNkWwqc5Ew6sN5m1q
 VXm2qfqppMFBvF2D/w/t7SSnhR5wGJSFcZ4KcuZkZkIMMjgX5q3Pgi1VIQFI1FEDPx6YghHu
 UrBMbA5OxOeVffa3zCpGFgzNGlQ3x2R369MwU/k93Q1yITkGFyzkMeysBalnAc9IglQ50B4+
 jfKKxnmLxHU8dTZ6NgA+UKR9exFwX2MFjx2aKpUCLa/YQ8Sj7wQrLMkccIDdCRCes1JcEJ6e
 f8uXtjxBsPkmzVeL2z4KE=
X-IronPort-AV: E=Sophos;i="5.83,289,1616472000"; 
   d="scan'208";a="46328291"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y0XZGouQJi/FC2iTd/BAjRHK93Mpp5hByA0caFHTbncXFfYEl9247sqOHgYaRjL+XVyAFASJt9VUWv6eKOmjftoCZsdXvuteIorlPvNlelAK/rdaXE4V27OcwJXjo9KZa1R9LvYzVWdvUHSbV2loEWwRcZuA3eOhigc3p0r7nTDd1cnUFcRC1o/13HC/BLYqIEFo/PKD8CesN4jvjl1qa5/UNjPypP9MM/U7mPFBICBW7oSpLXtlo66kibNa2FvgRMdKMhImqqa5JEXnMyWXoN3/CDXCkpxtiecvMJfJJ6J+eaFzYu5Kagwq1xYD0kRHMI7EVhDGvDD33/AUB+dloQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yjYovU7n1mZc7UC2n6TFKOeISAPIQKIZA745vTAPxhc=;
 b=Jm9snA6PeFhh0pJNhaZ3TqoFhlhWR/3PBmzYJlgPt4K474Xgmwsf9ai16mUMJOMb42DSpNqliNeKID+NR8yiBuTH/7qYFnGmtjvudF/tTRCNK3+SYcZL1cPq3hNX/gJRKj9V1p94leuJNDLbiviP0KvW0l6Lhbm+Aq8Enl4ict+s+CHEP6WLKqkBcN2fraaNjRGEVOYyBk+pUj16prPBLZFUDJcytGw/9iZc8x8IcNswm+aP1fz/yLa9s4Qmj8eq+r7uIwuhCJOhPcUtkmwrphEWewKeqWp7roKZcRr+/Tj1Z6b0SZRGZ1PZrAg3gVoHQrRSEi6TcrwGNmmoYA38/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yjYovU7n1mZc7UC2n6TFKOeISAPIQKIZA745vTAPxhc=;
 b=j8aCmVbO+WVJ2BVBuLjWbQDHjjKGmEyYeOy+r/7UGRmAiM4JGygljYv6TbNBqYt5/oOvhm5db2uLGcjtNbknvwR7ub5QliPqx8Kz9hltkLp8Q+kqNsFPFFhKWUo67R4jEW8xF2F69wEXzsJ7HG932j8oFYh5n2K427sBOLl13uE=
From: Owen Smith <owen.smith@citrix.com>
To: "paul@xen.org" <paul@xen.org>, "win-pv-devel@lists.xenproject.org"
	<win-pv-devel@lists.xenproject.org>
Subject: RE: [PATCH 6/6] Dont always remove XenFilt from UpperFilters
Thread-Topic: [PATCH 6/6] Dont always remove XenFilt from UpperFilters
Thread-Index: AQHXY3UWblttKwXY60+1knhbDKpq0KsehU4AgAAZsEA=
Date: Mon, 21 Jun 2021 15:37:09 +0000
Message-ID: <DS7PR03MB5477DBDB9040AE86E92170A6FE0A9@DS7PR03MB5477.namprd03.prod.outlook.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-6-owen.smith@citrix.com>
 <acd9a907-ebeb-74ff-1952-7eab947cacfe@xen.org>
In-Reply-To: <acd9a907-ebeb-74ff-1952-7eab947cacfe@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d242fd67-ffca-40dd-13e1-08d934ca6eee
x-ms-traffictypediagnostic: DM5PR03MB3338:
x-microsoft-antispam-prvs: <DM5PR03MB3338D9DF7E7EE0953BB0C4C5FE0A9@DM5PR03MB3338.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:2150;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 7XYk4VspCXbNFT83iZ+Z2D3hDIobrXZ3pEv6Y/IwFcNAVc6GoydueFZpnsyFzReqMrPuyvX8XZiVhhAuJOY0Qwmo3RVbywci+FDAp0N+efkuPTQ75WRMN7ISLNdem+ITgNDpdXGDZqJhtZxBI1YnCwk4PjTuyUSdrQqTwdQIz6zU9ZqyGXxBiaOsxHsBzoFx8Fr1yZeNO6sPELlxDeiNeVq50/EglJ+sVxcNtI5FuhwSf/MDB5y0lhK9qghuwhDNAL4r11ErEssQgCVLKp5T/b9hLwmtKOX4MvTq9yYFP4q1s11xW5pF8xaNr/Clod2vcjVyR07zQgP2fCH9Yh/+DsVZ8z49ePJA3QcmEeIWwu+jMog2Kt0VBGXWqagoCfbbb8Amx5kc+YYQ/cgKMvmlwMRueqiGIx1YneosI0Zc9ZNjONsVIZI0tZDcI2j6aNhsw+HzdB+pkD50bsWUOgvA/L1tV5pDToGlAWs0WqRMjxIjp+EOXwL2kHreYw0l8abcbCwcvHcb+fAJX99NoUOBEbzrbnkI5N3NxihskQctfeqHgK5sCIV7Ywrr5KZfH+sHzJl0TMtbWJN0nbc7Jp76EAVY8hDaap0dAFPQfbVMKZwRpa2LEZvDNYFZrl9htgNMu+kCqa4357DEuus/Th3v+g==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5477.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(136003)(376002)(39860400002)(346002)(366004)(38100700002)(86362001)(66946007)(122000001)(83380400001)(2906002)(26005)(64756008)(316002)(110136005)(186003)(33656002)(66556008)(66476007)(55016002)(478600001)(76116006)(66446008)(44832011)(52536014)(6506007)(53546011)(5660300002)(8936002)(71200400001)(7696005)(9686003)(8676002)(192303002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WFh0YUwyMEErVjVXUzZkOWpiSUpJc2kxSVp3UXE4T0ovejZBN1FzSnI5YlFv?=
 =?utf-8?B?bks0QTdTUVo4Z1VQaEROcUc0dW5UN0Y3UTZZNUZBZU85RDBETkluNmZZc2Y5?=
 =?utf-8?B?eEtOMUJESmk1MlFiQUJ0bTBFcFJ5cG1KWDVxUFpVdUZnWmVIY1hjWGFsd3ZE?=
 =?utf-8?B?WEF6Wk9tbjMwcGRhdWtpRlZQOWVkb2diQVpRSElTUllzOTFsaUpiVlJremx3?=
 =?utf-8?B?QTl5VTFWZmpUY3EzL1gwa1N5QndWSWo3akdQWFFzdnAzQ2xOMnVycnVqNXRH?=
 =?utf-8?B?RVJCVjZlOWY1bTFGS2xEYkhnU2FmL2VxaUoyMWNTaTJPbEJzbFFaYVVGWS9G?=
 =?utf-8?B?NzJpeHo4U01ucTRNbkRwVnc1bkpBTWhhalNqc3drVmhyL1NSU29QeHBwSUZv?=
 =?utf-8?B?eXg0UzJhK01lallWQUZyMmpMWDFseHE0K2FOdUVvTHl0V0RzaGdXYUJQK0FU?=
 =?utf-8?B?TXpleTA0UDNEM3ROMmtzQzZxUDRzNndqVjZkdWxlWTRvNjBtbzQzdkNRNGlV?=
 =?utf-8?B?MkwwY3pta1JPOW92enNPK3p4TXlzY0JRWkZHUGJ0bjlITjg3Uk1sY2Yrb1JQ?=
 =?utf-8?B?cFZpT1hUN1cvdEkwRDdtR0JYSlNWUUpnR1VFeE5iNTI1L1NHa2xOc1RpaS9N?=
 =?utf-8?B?MXNNWk9BSWlVbWY4c2FnOGFaMUVYV0syVHBtenpVaUwrS1JLbmZrV3lwS1Y0?=
 =?utf-8?B?TXVrUVhuMlFMNXRULzdvRDFtUzIyZlA4SXVFVTB0cTlsbkRRdkFnbWFnSmdq?=
 =?utf-8?B?WmVLVEFUbTJNZkJHV0dZN1VydEFKb2ZUZE1uRlhSajQwMHMwUWFkaVVzVVl3?=
 =?utf-8?B?NWhKZVluWEVOckhoc05YNDRIMzNHcjlZOG0yNUhRajBGaVg4Y0U5OCtJbVFq?=
 =?utf-8?B?Yjk4UkRPYVk5OFNyQU1TOXZZSXpEUzJTVTNKdklIcUdSRWE2K1NpeFhiRzg4?=
 =?utf-8?B?cXp1MmhFeTlNZlprQzB2WGdZNkUxYlVZNS9xZndMOVlNUjlHQWZ3c1dWaDhv?=
 =?utf-8?B?VFhQZG5KUnVkcGRtdmZ5NE1sdUJKeXc0ZDdFbjZwZUdYYSsrWjM5N3lHSm55?=
 =?utf-8?B?K2ovU0FzZGJBQWp6NlVWWEM2RnYzZTBPM1htS3VzTGgwTkU4dG5kaVIvNGRE?=
 =?utf-8?B?QUloMXJiUGVGZDFKemRRbDJ6dnlqV1Nvd0Q3L2RXOVU4TDMxNWhlRjdwVUY1?=
 =?utf-8?B?UnZ6YWpEM2dmUlhyYUdoNlRyUElJTXpYTEE5MHFhclJFbU9LV3hIbVJ1TEc1?=
 =?utf-8?B?ZU1aRDJkMHhyTkkxTFJUMkJkSDM0MVc4eHFsc0Z2dVkwV1o3MzBaUkY4WHli?=
 =?utf-8?B?cHVuRHdQWnB0U3FzdjFQMXgyK3F2R1laQ0pjMUpwTVc0MFJXenBuS0FFRW9N?=
 =?utf-8?B?VkFkaXZOdkxyVkRwMXlrM2lrSDc1Z0pjZnNZZXAzT05mUjlBcmI1OHRuUEV3?=
 =?utf-8?B?VXRaOWFZQlZtN2h1NStvSG1sRHo4dTFWTVhLKzd3a3ZIMXdiV3VNeHQ1dXlG?=
 =?utf-8?B?VittMnpyL0N4b3l0R3BmQ052bXFNb3ovUXdQenJSd3hLcGZYTWp4SHl4Zlpy?=
 =?utf-8?B?eHh0S212K1ZZakFaekJ3cWw5YXJncGcwUU9wYzlBOHRCWkFoWlBnVkg2VnJt?=
 =?utf-8?B?MDlEemc2RllWZDZtSUhKRnNnQXhwek1JOWRxbHFkRG9vZENZQjhHbmVtYWpG?=
 =?utf-8?B?SFFKSExZTjFPMVk3cmxZM0Y0ZkpISFoyUjVVaUl4REwyUGZuTHRTN3JaNWdl?=
 =?utf-8?Q?mmEcmvMCRXuAgv8M+A=3D?=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5477.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d242fd67-ffca-40dd-13e1-08d934ca6eee
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2021 15:37:09.8083
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: cZm5gqtLPfceH/si0W5dEvyD6bOtWBC9t6K/iOnSf97vpiYyRIL0dvmUjQvWaDBQohwHUqSqpONAJX7fsPE23g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3338
X-OriginatorOrg: citrix.com

DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiB3aW4tcHYtZGV2ZWwgPHdpbi1w
di1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnByb2plY3Qub3JnPiBPbiBCZWhhbGYgT2YgUGF1bCBE
dXJyYW50DQpTZW50OiBNb25kYXksIEp1bmUgMjEsIDIwMjEgMzowMyBQTQ0KVG86IHdpbi1wdi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KU3ViamVjdDogUmU6IFtQQVRDSCA2LzZdIERvbnQg
YWx3YXlzIHJlbW92ZSBYZW5GaWx0IGZyb20gVXBwZXJGaWx0ZXJzDQoNCltDQVVUSU9OIC0gRVhU
RVJOQUwgRU1BSUxdIERPIE5PVCByZXBseSwgY2xpY2sgbGlua3MsIG9yIG9wZW4gYXR0YWNobWVu
dHMgdW5sZXNzIHlvdSBoYXZlIHZlcmlmaWVkIHRoZSBzZW5kZXIgYW5kIGtub3cgdGhlIGNvbnRl
bnQgaXMgc2FmZS4NCg0KT24gMTcvMDYvMjAyMSAxMzozMywgT3dlbiBTbWl0aCB3cm90ZToNCj4g
VGhlcmUgaXMgYSByYWNlIHdoaWNoIGNhbiBwcmV2ZW50IFhlbkZpbHQgZnJvbSBoYXZpbmcgQWRk
RGV2aWNlIA0KPiBjb3JyZWN0bHkgY2FsbGVkIG9uIHNvbWUgZGV2aWNlcy4gVGhpcyBzZWVtcyB0
byBoYXBwZW4gbW9yZSBmcmVxdWVudGx5IA0KPiBhZnRlciBkcml2ZXIgdXBncmFkZXMuDQo+IEl0
IHNlZW1zIHRoaXMgaXMgZHVlIHRvIFhlbkJ1cyFEcml2ZXJFbnRyeSByZW1vdmluZyBYZW5GaWx0
IGJlZm9yZSANCj4gWGVuQnVzIUFkZERldmljZSBpbnNlcnRzIFhlbkZpbHQgaW50byB0aGUgVXBw
ZXJGaWx0ZXJzIHZhbHVlLiBJbiB0aGlzIA0KPiBnYXAsIFBuUCBtYW5hZ2VyIGNhbiBzYW1wbGUg
dGhlIFVwcGVyRmlsdGVycyBrZXkgYW5kIGZhaWwgdG8gYmluZCANCj4gWGVuRmlsdCB0byB0aGUg
cmVxdWlyZWQgZGV2aWNlIHN0YWNrcy4gVGhpcyBsZWFkcyB0byBYZW5GaWx0IGZhaWxpbmcgDQo+
IHRvIGRldGVybWluZSB0aGUgYWN0aXZlIGRldmljZSwgd2hpY2ggcHJldmVudHMgdGhlIGRldmlj
ZSB1bnBsdWdzIGZyb20gDQo+IG9jY3VyaW5nLCBsZWFkaW5nIHRvIGEgY29uc3RhbnQgY3ljbGUg
b2YgcmVib290IHByb21wdHMgZnJvbSANCj4geGVuYnVzX21vbml0b3IuDQo+IA0KPiBTaWduZWQt
b2ZmLWJ5OiBPd2VuIFNtaXRoIDxvd2VuLnNtaXRoQGNpdHJpeC5jb20+DQoNClRoaXMgaXMgYSBw
YXJ0aWFsIHJldmVyc2lvbiBvZiA5ZDI4YTllOWI3OThmICJBdm9pZCByZW1vdmluZyBmaWx0ZXJz
IG9uIHVwZ3JhZGUgaW5zdGFsbGF0aW9ucyIuIEkgdGhpbmsgeW91IG5lZWQgdG8gc3RhdGUgd2h5
IHRoYXQgY29tbWl0IHdhcyB3cm9uZyAoYXNzdW1pbmcgaXQgd2FzKS4NCg0KICAgUGF1bA0KDQoN
CkkgaGF2ZSBlbmNvdW50ZXJlZCB1cGdyYWRlIGlzc3VlcywgcGFydGljdWxhcmx5IGludm9sdmlu
ZyBXaW4xMCBpbi1wbGFjZSBPUyB1cGdyYWRlLCB0aGF0IGNhbiBhZmZlY3QgdGhlIG9yZGVyaW5n
IHRoZSBQblAgbWFuYWdlciBoYW5kbGVzIGRyaXZlciBsb2FkLiBJIHdpbGwgc2VlIGlmIEkgY2Fu
IHBpbiBkb3duIGV4YWN0bHkgdGhlIGNvbmRpdGlvbnMgdGhhdCB0cmlnZ2VyIHRoZSByYWNlIGhl
cmUgaW4gOWQyOGE5ZTliNzk4Zi4NCg0KT3dlbg0KDQo+IC0tLQ0KPiAgIHNyYy94ZW5idXMvZHJp
dmVyLmMgfCAxMiArKysrKysrLS0tLS0NCj4gICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25z
KCspLCA1IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3NyYy94ZW5idXMvZHJpdmVy
LmMgYi9zcmMveGVuYnVzL2RyaXZlci5jIGluZGV4IA0KPiAxYjYyMWZhLi5lNjZiZjQ1IDEwMDY0
NA0KPiAtLS0gYS9zcmMveGVuYnVzL2RyaXZlci5jDQo+ICsrKyBiL3NyYy94ZW5idXMvZHJpdmVy
LmMNCj4gQEAgLTI5Niw2ICsyOTYsOSBAQCBEcml2ZXJSZW1vdmVGdW5jdGlvbkRldmljZU9iamVj
dCgNCj4gICAgICAgUmVtb3ZlRW50cnlMaXN0KCZEeC0+TGlzdEVudHJ5KTsNCj4gICAgICAgQVNT
RVJUM1UoRHJpdmVyLlJlZmVyZW5jZXMsICE9LCAwKTsNCj4gICAgICAgUmVmZXJlbmNlcyA9IC0t
RHJpdmVyLlJlZmVyZW5jZXM7DQo+ICsNCj4gKyAgICBpZiAoUmVmZXJlbmNlcyA9PSAxKQ0KPiAr
ICAgICAgICBGaWx0ZXJzVW5pbnN0YWxsKCk7DQo+ICAgfQ0KPiAgIA0KPiAgIC8vDQo+IEBAIC04
NTksMTYgKzg2MiwxNSBAQCBEcml2ZXJFbnRyeSgNCj4gICAgICAgICAgICAgICAgICAgICAgICAg
TUlDUk9fVkVSU0lPTiwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgQlVJTERfTlVNQkVSKTsN
Cj4gICAgICAgaWYgKCFOVF9TVUNDRVNTKHN0YXR1cykpIHsNCj4gLSAgICAgICAgaWYgKHN0YXR1
cyA9PSBTVEFUVVNfSU5DT01QQVRJQkxFX0RSSVZFUl9CTE9DS0VEKQ0KPiArICAgICAgICBpZiAo
c3RhdHVzID09IFNUQVRVU19JTkNPTVBBVElCTEVfRFJJVkVSX0JMT0NLRUQpIHsNCj4gKyAgICAg
ICAgICAgIC8vIFJlLWluc3RhdGUgWGVuRmlsdCB0byBhdm9pZCBhIHNlY29uZCByZXF1aXJlZCBy
ZWJvb3QNCj4gKyAgICAgICAgICAgIEZpbHRlcnNJbnN0YWxsKCk7DQo+ICAgICAgICAgICAgICAg
X19Ecml2ZXJSZXF1ZXN0UmVib290KCk7DQo+ICsgICAgICAgIH0NCj4gICANCj4gICAgICAgICAg
IGdvdG8gZG9uZTsNCj4gICAgICAgfQ0KPiAgIA0KPiAtICAgIC8vIFJlbW92ZSB0aGUgZmlsdGVy
cyBmcm9tIHRoZSByZWdpc3RyeS4gVGhleSB3aWxsIGJlIHJlLWluc3RhdGVkIGJ5DQo+IC0gICAg
Ly8gdGhlIGZpcnN0IHN1Y2Nlc3NmdWwgQWRkRGV2aWNlLg0KPiAtICAgIEZpbHRlcnNVbmluc3Rh
bGwoKTsNCj4gLQ0KPiAgICAgICBEcml2ZXJPYmplY3QtPkRyaXZlckV4dGVuc2lvbi0+QWRkRGV2
aWNlID0gRHJpdmVyQWRkRGV2aWNlOw0KPiAgIA0KPiAgICAgICBmb3IgKEluZGV4ID0gMDsgSW5k
ZXggPD0gSVJQX01KX01BWElNVU1fRlVOQ1RJT047IEluZGV4KyspIHsNCj4gDQoNCg0K


From win-pv-devel-bounces@lists.xenproject.org Mon Jun 28 12:58:50 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jun 2021 12:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.147862.272977 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lxqqe-0001oh-If; Mon, 28 Jun 2021 12:58:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 147862.272977; Mon, 28 Jun 2021 12:58:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lxqqe-0001oa-Fj; Mon, 28 Jun 2021 12:58:48 +0000
Received: by outflank-mailman (input) for mailman id 147862;
 Mon, 28 Jun 2021 12:58:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gcFF=LW=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lxqqd-0001oT-2F
 for win-pv-devel@lists.xenproject.org; Mon, 28 Jun 2021 12:58:47 +0000
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f89360e4-1a57-4cca-8631-f3d3dc2a0025;
 Mon, 28 Jun 2021 12:58:45 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f89360e4-1a57-4cca-8631-f3d3dc2a0025
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624885125;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=baAXTZ2HyT8vD79nL2xCtg7Ke8Atcnog6QM2a0QoFlk=;
  b=QOTk0rG+WLEL+oB3CEWfaCNl6RC31UtX++KkaqWr8E7d8997XA7tf+J7
   Tkkt5x5y6n2jwTlnnvdiSvbdGG025czLWA1tRfz/TYs82eWjHdMXgZqEK
   SthMQlEtKjkN44RRGPzJMLHseEzdY1UMsIYsgDFP0RWjMpZ1PCOeOHpR/
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: 5BRhEq6pJ908TG7HHuGOYUiqcH3MwCZwxLjTy/QTHn07+sx2UsJhxPhRWYTy+7COyF9D4xiQjJ
 TjjJbiZzVs5qcIDFazeuxoh3O6Cw0d2WVBio9OlaCWjEPTpnNULgDVGAjQELruIK6XGV6MfKy+
 Utc+hGKcEC6spssoqsrzkB7bUsDdBv0Ve5dMEpPxzXCX2Q7TdS5ubcXeStoxHGV9KiiQJcG87w
 Or1Ss5MXZiMffQmi42JCUYcSbOKkgqYYCqJKVlUR20id79lup1EklA5azSY6jmk5wluCGS3iLy
 eY8=
X-SBRS: 5.1
X-MesageID: 47086486
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:aU3u6agPBQXuxBxSl+oViJ/a1nBQXhsji2hC6mlwRA09TyXBrb
 HNoB1p726QtN9xYgBZpTnuAsm9qB/nmKKdgrNhRotKPjOW21dARbsKheCJ/9SKIULDH5tmtJ
 uIBJIRNDSfNzRHZRqT2njDLz9q+qjizEnhv5a48159CQVxL61w5QZwDQiWVkd/QQVACJIjUI
 CR/cpKvX6hfm4LZsOwCj0EUoH41rv2fbzdEGc7OyI=
X-IronPort-AV: E=Sophos;i="5.83,306,1616472000"; 
   d="scan'208";a="47086486"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 1/2] Avoid potential race with FiltersInstall
Date: Mon, 28 Jun 2021 13:58:38 +0100
Message-ID: <20210628125839.985-1-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Is certain situations, a race between XENFILT and XENBUS can lead to XENFILT
not being loaded on the root PCI device node. This is due to XENBUS!DriverEntry
removing the registry value just before the PnP manager determines what filters
to load, and fails to load XENFILT on the root PCI node. This leads to XENBUS
being unable to determine the correct ActiveDevice. Without an ActiveDevice,
no Unplugs are issued, and emulated devices are used for boot, leading to a
reboot prompt before XENVBD can be used as the boot device. The race appears to
be reliable once triggered, and a reboot will follow the same sequence. This
appears to be caused by OS upgrades which affect the order the PnP manager
starts different driver stacks.

This contains a reversion to 9d28a9e9b79, which fixed an upgrade issue that
triggered multiple reboot requirements to reload XENFILT correctly.
If an incompatibility is detected, which can be resolved by a reboot to
complete the driver installation, XENFILT is inserted into the UpperFilters so
that XENFILT is loaded on this reboot. This avoids requiring a second reboot so
that XENFILT can load and determine the ActiveDevice.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenbus/driver.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/xenbus/driver.c b/src/xenbus/driver.c
index 1b621fa..067bb68 100644
--- a/src/xenbus/driver.c
+++ b/src/xenbus/driver.c
@@ -296,6 +296,9 @@ DriverRemoveFunctionDeviceObject(
     RemoveEntryList(&Dx->ListEntry);
     ASSERT3U(Driver.References, !=, 0);
     References = --Driver.References;
+
+    if (References == 1)
+        FiltersUninstall();
 }
 
 //
@@ -859,16 +862,17 @@ DriverEntry(
                       MICRO_VERSION,
                       BUILD_NUMBER);
     if (!NT_SUCCESS(status)) {
-        if (status == STATUS_INCOMPATIBLE_DRIVER_BLOCKED)
+        if (status == STATUS_INCOMPATIBLE_DRIVER_BLOCKED) {
+            // XenBus.sys is not the same version as Xen.sys
+            // Insert XenFilt to avoid a 2nd reboot in upgrade cases, as AddDevice
+            // will not be called to insert XenFilt.
+            FiltersInstall();
             __DriverRequestReboot();
+        }
 
         goto done;
     }
 
-    // Remove the filters from the registry. They will be re-instated by
-    // the first successful AddDevice.
-    FiltersUninstall();
-
     DriverObject->DriverExtension->AddDevice = DriverAddDevice;
 
     for (Index = 0; Index <= IRP_MJ_MAXIMUM_FUNCTION; Index++) {
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 28 12:58:50 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jun 2021 12:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.147863.272982 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lxqqf-0001qN-KN; Mon, 28 Jun 2021 12:58:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 147863.272982; Mon, 28 Jun 2021 12:58:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lxqqf-0001qF-HD; Mon, 28 Jun 2021 12:58:49 +0000
Received: by outflank-mailman (input) for mailman id 147863;
 Mon, 28 Jun 2021 12:58:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gcFF=LW=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lxqqe-0001oZ-Hh
 for win-pv-devel@lists.xenproject.org; Mon, 28 Jun 2021 12:58:48 +0000
Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id fac22ffa-f0df-4688-976e-4f1bf8ac862a;
 Mon, 28 Jun 2021 12:58:47 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fac22ffa-f0df-4688-976e-4f1bf8ac862a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624885127;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=JUtb6oWKUfq2dUyV8zB0ELzRBTuXT1VBnyjC3Q3M2Eg=;
  b=XtPkY5i0qUNX0jWepsXCh7PETpznv6T182NCCefh3k4L1MVei1XFYS4F
   hgmcIggQrGKWI69q4coP65C7aXSkb3aB9Ox5E+m3m7tY6Lkq+dZ6aTkBG
   7P+hPD0yH92ztwWI+TBBJLxLWqftAuOBoag6jWJtVqGfiEgW5xNCvPjQc
   Y=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
IronPort-SDR: alAGcQUCo5i2XeOQBnIlZIqAz75J10Jrm6KNMTh/OYysM5lKNpy22Efia9pGDkDrnAQ/BsPWzz
 LVzXCjgzWx8FPOEYoIFKUQ009bCyrxQUj6zFD6aPDc50zIr0TqvUet8YXP8UskFVrFxNoyh2YC
 Rt6zcyh/xPptk+m7UhOcyQBzJVyWMJrh9Y3U9wwK54EGelQQSo0OV0rilL4Nl+UVga+gt0a1ia
 ECVSA+x3+EeFwPV2INi87upnKcNWOWeIW61ijbsbgpfK3cwXwp8HtBaO7l9c6Pe1pcMPoW/qI+
 n+U=
X-SBRS: 5.1
X-MesageID: 47094771
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:7+hD76vKGHPwR7IPaVm4aKBY7skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpHnJYVcqKQkdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyIMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-IronPort-AV: E=Sophos;i="5.83,306,1616472000"; 
   d="scan'208";a="47094771"
From: Owen Smith <owen.smith@citrix.com>
To: <win-pv-devel@lists.xenproject.org>
CC: Owen Smith <owen.smith@citrix.com>
Subject: [PATCH 2/2] Add emulated NVMe to IsDiskPresent results
Date: Mon, 28 Jun 2021 13:58:39 +0100
Message-ID: <20210628125839.985-2-owen.smith@citrix.com>
X-Mailer: git-send-email 2.31.1.windows.1
In-Reply-To: <20210628125839.985-1-owen.smith@citrix.com>
References: <20210628125839.985-1-owen.smith@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

IsDiskPresent currently only reports the presence of emulated IDE disks. When
using emulated NVMe disks, its possible to start booting off the emulated disk,
but have XenVbd 'take over' resulting in storage requests to the emulated NVMe
disk timing out and failing. This results in a Windows error on boot
"Status 0xc000000e. A required device isnt connected or can't be accessed"

Query the CompatibleIDs and, if present, add the last CompatibleID to emulated
objects of type PCI. When querying if a disk is preset, also check for PCI
devices which match the CompatibleID "PCI\CC_0108". This will prevent XenVbd
enumerating a PV disk which is has a matching emulated NVMe device.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
---
 src/xenfilt/emulated.c | 48 ++++++++++++++++++++++++++++++++++++++----
 src/xenfilt/emulated.h |  1 +
 src/xenfilt/pdo.c      | 24 ++++++++++++++++++++-
 3 files changed, 68 insertions(+), 5 deletions(-)

diff --git a/src/xenfilt/emulated.c b/src/xenfilt/emulated.c
index 827c905..189b349 100644
--- a/src/xenfilt/emulated.c
+++ b/src/xenfilt/emulated.c
@@ -46,6 +46,7 @@
 typedef struct _XENFILT_EMULATED_DEVICE_DATA {
     CHAR    DeviceID[MAXNAMELEN];
     CHAR    InstanceID[MAXNAMELEN];
+    CHAR    CompatibleID[MAXNAMELEN];
 } XENFILT_EMULATED_DEVICE_DATA, *PXENFILT_EMULATED_DEVICE_DATA;
 
 typedef struct _XENFILT_EMULATED_DISK_DATA {
@@ -92,9 +93,12 @@ EmulatedSetObjectDeviceData(
     IN  PXENFILT_EMULATED_OBJECT        EmulatedObject,
     IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
     IN  PCHAR                           DeviceID,
-    IN  PCHAR                           InstanceID
+    IN  PCHAR                           InstanceID,
+    IN  PCHAR                           CompatibleIDs OPTIONAL
     )
 {
+    ULONG                               Index;
+    PCHAR                               LastMatch;
     NTSTATUS                            status;
 
     status = STATUS_INVALID_PARAMETER;
@@ -113,6 +117,30 @@ EmulatedSetObjectDeviceData(
                                 InstanceID);
     ASSERT(NT_SUCCESS(status));
 
+    if (CompatibleIDs == NULL)
+        goto done;
+
+    Index = 0;
+    LastMatch = CompatibleIDs;
+    for (;;) {
+        ULONG                           Length;
+
+        Length = (ULONG)strlen(&CompatibleIDs[Index]);
+        if (Length == 0)
+            break;
+
+        LastMatch = &CompatibleIDs[Index];
+
+        Index += Length + 1;
+    }
+
+    status = RtlStringCbPrintfA(EmulatedObject->Data.Device.CompatibleID,
+                                MAXNAMELEN,
+                                "%s",
+                                LastMatch);
+    ASSERT(NT_SUCCESS(status));
+
+done:
     return STATUS_SUCCESS;
 
 fail1:
@@ -126,7 +154,8 @@ EmulatedSetObjectDiskData(
     IN  PXENFILT_EMULATED_OBJECT        EmulatedObject,
     IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
     IN  PCHAR                           DeviceID,
-    IN  PCHAR                           InstanceID
+    IN  PCHAR                           InstanceID,
+    IN  PCHAR                           CompatibleIDs OPTIONAL
     )
 {
     PCHAR                               End;
@@ -136,6 +165,7 @@ EmulatedSetObjectDiskData(
     NTSTATUS                            status;
 
     UNREFERENCED_PARAMETER(DeviceID);
+    UNREFERENCED_PARAMETER(CompatibleIDs);
 
     status = STATUS_INVALID_PARAMETER;
     if (Type != XENFILT_EMULATED_OBJECT_TYPE_IDE)
@@ -194,6 +224,7 @@ EmulatedAddObject(
     IN  PXENFILT_EMULATED_CONTEXT       Context,
     IN  PCHAR                           DeviceID,
     IN  PCHAR                           InstanceID,
+    IN  PCHAR                           CompatibleIDs OPTIONAL,
     IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
     OUT PXENFILT_EMULATED_OBJECT        *EmulatedObject
     )
@@ -214,14 +245,16 @@ EmulatedAddObject(
         status = EmulatedSetObjectDeviceData(*EmulatedObject,
                                              Type,
                                              DeviceID,
-                                             InstanceID);
+                                             InstanceID,
+                                             CompatibleIDs);
         break;
 
     case XENFILT_EMULATED_OBJECT_TYPE_IDE:
         status = EmulatedSetObjectDiskData(*EmulatedObject,
                                            Type,
                                            DeviceID,
-                                           InstanceID);
+                                           InstanceID,
+                                           CompatibleIDs);
         break;
 
     default:
@@ -339,6 +372,13 @@ EmulatedIsDiskPresent(
             break;
         }
 
+        if (EmulatedObject->Type == XENFILT_EMULATED_OBJECT_TYPE_PCI &&
+            _stricmp("PCI\\CC_0108", EmulatedObject->Data.Device.CompatibleID) == 0 &&
+            Index <= 3) {
+            Trace("FOUND\n");
+            break;
+        }
+
         ListEntry = ListEntry->Flink;
     }
 
diff --git a/src/xenfilt/emulated.h b/src/xenfilt/emulated.h
index 57edee2..049c0bb 100644
--- a/src/xenfilt/emulated.h
+++ b/src/xenfilt/emulated.h
@@ -69,6 +69,7 @@ EmulatedAddObject(
     IN  PXENFILT_EMULATED_CONTEXT       Context,
     IN  PCHAR                           DeviceID,
     IN  PCHAR                           InstanceID,
+    IN  PCHAR                           CompatibleIDs OPTIONAL,
     IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
     OUT PXENFILT_EMULATED_OBJECT        *EmulatedObject
     );
diff --git a/src/xenfilt/pdo.c b/src/xenfilt/pdo.c
index 0f6e6ce..b3569a3 100644
--- a/src/xenfilt/pdo.c
+++ b/src/xenfilt/pdo.c
@@ -376,6 +376,14 @@ __PdoGetInstanceID(
            Dx->InstanceID : "";
 }
 
+static FORCEINLINE XENFILT_EMULATED_OBJECT_TYPE
+__PdoGetType(
+    IN  PXENFILT_PDO    Pdo
+    )
+{
+    return Pdo->Type;
+}
+
 static FORCEINLINE PCHAR
 __PdoGetLocationInformation(
     IN  PXENFILT_PDO    Pdo
@@ -2112,6 +2120,7 @@ PdoCreate(
     PDEVICE_OBJECT                  FilterDeviceObject;
     PXENFILT_DX                     Dx;
     PXENFILT_PDO                    Pdo;
+    PCHAR                           CompatibleIDs;
     NTSTATUS                        status;
 
     ASSERT(Type != XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN);
@@ -2173,14 +2182,24 @@ PdoCreate(
     if (!NT_SUCCESS(status))
         goto fail6;
 
+    status = DriverQueryId(Pdo->LowerDeviceObject,
+                           BusQueryCompatibleIDs,
+                           &CompatibleIDs);
+    if (!NT_SUCCESS(status))
+        CompatibleIDs = NULL;
+
     status = EmulatedAddObject(DriverGetEmulatedContext(),
                                __PdoGetDeviceID(Pdo),
                                __PdoGetInstanceID(Pdo),
-                               Pdo->Type,
+                               CompatibleIDs,
+                               __PdoGetType(Pdo),
                                &Pdo->EmulatedObject);
     if (!NT_SUCCESS(status))
         goto fail7;
 
+    if (CompatibleIDs)
+        ExFreePool(CompatibleIDs);
+
     __PdoSetName(Pdo);
 
     Info("%p (%s) %s\n",
@@ -2204,6 +2223,9 @@ PdoCreate(
 fail7:
     Error("fail7\n");
 
+    if (CompatibleIDs)
+        ExFreePool(CompatibleIDs);
+
     PdoClearDeviceInformation(Pdo);
 
 fail6:
-- 
2.31.1.windows.1



From win-pv-devel-bounces@lists.xenproject.org Mon Jun 28 13:50:56 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jun 2021 13:50:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.147885.273019 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lxrf6-0000Sk-5r; Mon, 28 Jun 2021 13:50:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 147885.273019; Mon, 28 Jun 2021 13:50:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lxrf6-0000Sd-2Q; Mon, 28 Jun 2021 13:50:56 +0000
Received: by outflank-mailman (input) for mailman id 147885;
 Mon, 28 Jun 2021 13:50:54 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gcFF=LW=citrix.com=owen.smith@srs-us1.protection.inumbo.net>)
 id 1lxrf4-0000SV-9x
 for win-pv-devel@lists.xenproject.org; Mon, 28 Jun 2021 13:50:54 +0000
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 599f5167-a48f-4ebe-864b-46f3d9caf1a8;
 Mon, 28 Jun 2021 13:50:53 +0000 (UTC)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 599f5167-a48f-4ebe-864b-46f3d9caf1a8
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1624888253;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=kFedcVuSjbZm2pbYTLEujIageI9RZcw9/zyWH8m4If4=;
  b=QfZl4jmoTalrUGryjS25M7Mbq9P3gInvUSEU/SvgTUmRPkq10G8688mh
   I08u70DmYVsc+ujQjkRrtNLdfuov3FdFOvQ0EzjmH4HNM9VdDNIXf8gt7
   IBTvf6Rznm4SsmNIAHJ/t9Z6kwpdA19Eqs8JDuPUCqBh2+VGOyhdCrEzL
   I=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
IronPort-SDR: oCbqR+SwqC05GdcZevzjCVNeKnNyOiE2nl2iHhAtgCEvktJ9DxqlJckeVaivcho2caIgkqkewT
 ppggForYtWd5h7k7zbkKlqI0EUZgctazdTmuNyJmGvfLkUtR5XOmiLmpch92XONf9vs6BzlFk3
 Kp99BhYTWh/Q3P9weCgMDM+gb2hlYzJUT8eiimqB8KrhsjUQmFketZFQyxSQKAfgmJfTwN5JNV
 2dFxxtNnQVyX+BW0i+K9LyA1/ved6ERUEIWr3E+Hhlx4bXcKFweIsKR8U+2Lb3aW/tl3y92z3j
 sHs=
X-SBRS: 5.1
X-MesageID: 47473038
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
IronPort-HdrOrdr: A9a23:LF87L6lx3SJ8PtQZsCp7TYs6divpDfOnimdD5ihNYBxZY6Wkfp
 +V8sjzhCWatN9OYh0dcIi7SdS9qADnhOJICO4qTPmftWjdySSVxeRZjLcKrAeQYhEWmtQtt5
 uINpIOcuEYbmIKzPoSgjPIa+rIqePvmMvD6IeurEuFDzsaEJ2Ihz0JUTpzeXcGIDWucKBJcq
 Z0kfA3wAZIF05nC/iTNz0gZazuttfLnJXpbVotHBg88jSDijuu9frTDwWY9g12aUIO/Z4StU
 z+1yDp7KSqtP+2jjXG0XXI0phQkNz9jvNeGc23jNQPIDmEsHfqWG0hYczBgNkGmpDq1L8Yqq
 iKn/7mBbU015rlRBDxnfIq4Xi47N9h0Q679bbSuwqdnSWwfkNFNyMGv/MCTvKR0TtQgPhslK
 1MxG6XrJxREFfJmzn8/cHBU1VwmlOzumdKq59Ys5Vza/pXVFZql/1VwKqVKuZ2IAvqrIQ8VO
 V+BsDV4/hbNVuccnDCp2FqhNihRG46EBuKSlUL/pX96UkboFlpi08DgMAPlHYJ85wwD5FC+u
 TfK6xt0LVDVNUfY65xDPoIBcG3FmvOSxTRN3/6GyWrKEjGAQOFl3fT2sRA2AiHQu178HICou
 W2bLoDjx9AR6vHM7z64HRkyGG8fFmA
X-IronPort-AV: E=Sophos;i="5.83,306,1616472000"; 
   d="scan'208";a="47473038"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZEFY9l5uFTUExz1xiRDQIieiAV7tpEvuUmhN9s6gZO6qc9YMx4WD+xyP0cV7ByTAeyoQ4pB3/bLSKecQFWY2ItHzWFmdrhoHgUC6UKYIjHWffexBBMxDnlnDLdUs3Ehp2xKwTnSciW8iK9axRijSMAlNbTbviMpdUh3brH4YAG2iFQ7uaYQOZkeUj0YvvpBWRkev2YP/fJDV1+q2w+JnfkPpEcY/sbcj7984tmRuOghuTPrlIp7YDHsJgk8R8Rdmvvsuav6pNbpTuvhieoT9rWlDPdapqisceW9xhbyEKUsvuNQ0FnCu+l/mdmGsTYNXgpYNhG89/ra80MyO4XyIxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kFedcVuSjbZm2pbYTLEujIageI9RZcw9/zyWH8m4If4=;
 b=OI/aaSwsdPCzaV+ZzQFOIO2ArcMh/pVAhH8a6RGUJ1BeFNSGrPFqBhcKQ6OhoQL9x4DVtxrpU2q5vw8dIn91lLf9DCDVKqszki3gh2ZYKrTm6Zf7w+VQxIMxxbSXz55r3sRxPxcK/NidI2DvjVEl1xuLojp6tmwl4QbCvy2kMj5MGiBZjBw5DpQWI7Ptmeio1NBqkKHqcmJ7lgFo8O+AZ3Rl+HTPFVpaGqvBiJyGTnt1zjXdyod9Kywqji1YOKn8eg+cntIhA684O0z3aD2vElniWO0pI1mWCee2KP8Exci7L86HuGqN+NP45MV5bR8vPVOHyl0yQt/BPZrLTF9MOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kFedcVuSjbZm2pbYTLEujIageI9RZcw9/zyWH8m4If4=;
 b=CoanWk0QHzJD3KLOFslvhv5EqZBPGyPl5Be9frf6TabydaBm5Xn6g3t+0o+ALHVdDT9Kt/+zwmGb+3dSy8zqGYNXMYlLZv99yIP6YC05xAFLXyez+ESbOWVLSw2xSo3DpuL4UcPFtZltSqOTAhcjjvaCE1v58Ci9MwWBYgUVx8Y=
From: Owen Smith <owen.smith@citrix.com>
To: Owen Smith <owen.smith@citrix.com>, "paul@xen.org" <paul@xen.org>,
	"win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Subject: RE: [PATCH 3/6] Delete stornvme's StartOverride
Thread-Topic: [PATCH 3/6] Delete stornvme's StartOverride
Thread-Index: AQHXY3UQ3XqodTsqBE2hji69PMRIKasegSAAgAAc+5CACuNdUA==
Date: Mon, 28 Jun 2021 13:50:49 +0000
Message-ID: <DS7PR03MB5477C12C49A4553ABF02E7D2FE039@DS7PR03MB5477.namprd03.prod.outlook.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-3-owen.smith@citrix.com>
 <8218f216-5d69-501f-4620-036213da7a49@xen.org>
 <DS7PR03MB54774B5C23FE4C1BAF46BAA4FE0A9@DS7PR03MB5477.namprd03.prod.outlook.com>
In-Reply-To: <DS7PR03MB54774B5C23FE4C1BAF46BAA4FE0A9@DS7PR03MB5477.namprd03.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0cf5690a-055c-42c0-5525-08d93a3bbcea
x-ms-traffictypediagnostic: DM4PR03MB6174:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <DM4PR03MB61742B7DC459FFC30A848972FE039@DM4PR03MB6174.namprd03.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:2958;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: K8SfG1Em4XpVsxkIAfm6bO4IiglpT28Mh11IHP83fz43QfiutTMqjufGcl3+v2WpbBcQ+wFt+KVdd6Qsg/wH+RuccPvi2aNQHrdV41bEolVaaLNA3WIcah4fFDKLQycswI8irSH677cc37wbkDpaoqC2Iz7JbO8U+SAOLjBeLoIhdFuOnbxnvz0VhPOeRhWXsDdJCR6XWgpekl5iIQi+at/KrJn9oPsnYM/JN656EggvrgvAu/kzaefUuYs4dDr/3GGS53yHQ0Xo2DR4oDbMNmNtLM9bRo9gL2NCfOzqwcMoKq4yUCyC4BnCdvAzUzb+qNdWRacDIodghvHgQRAP2Ua1cr5Xlue8SlWdLAQWCrMo4VOvZ0qtCEOqcXcBnjNfcEewX5bhfTlnCdH8FVYLPU64PfdzhKlw1bSq3DjXc2AvR+uftgAoJj41S2uWYRvWMIdI8ip3BY+lCklveTLfILAAgf8kMXbJ1xW/VWyucDsfJYTyRqm2J5PzC1N+hJcsyInXnzTfsCvB+L2bsDD+MeAhNXaMv68fQcFjMFn8ScSEe3e4Bz0igut8imoAB3W/d7QnaFvefP13lirO6hpDkCbQUdPEwOakP4wVmnNWXZ1pUJmbNtE7Ie4jT8ef/gxifOHoYMmrkO/asKMdbFJ/qll6O3eXWkL0g1IB33Vu0KxltTNQE8NmVN0phllhlZMFuAj48WBbKFldJceCzPO0hg+rZD2D9Qvwmg9HrH8XGRaOV7rVxw8xPlAcDsDP9KdJS+2fVLTPTa57PsWjC15sMw==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5477.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(39860400002)(136003)(396003)(376002)(346002)(122000001)(33656002)(966005)(83380400001)(9686003)(478600001)(44832011)(55016002)(6506007)(52536014)(110136005)(7696005)(8936002)(66446008)(64756008)(66476007)(66556008)(66946007)(316002)(26005)(186003)(86362001)(76116006)(38100700002)(2906002)(5660300002)(71200400001)(53546011)(8676002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VEhvTUdmc0twcDNFeldwZmJCTmREdFA2dkJiM0paK3ZkeVAxb3hFZzd4aFUw?=
 =?utf-8?B?WWdUYmNiSTlsRm9xeTJiZzV3bXhReWp5MnZSRzR5UitQTWhyMUJmZDltakd5?=
 =?utf-8?B?Z3hzYnAvYnpxYTgxQmxZUGxqa0NPTFdKdUNNam9xdmwvZlUrVXh5cUlLdmhy?=
 =?utf-8?B?Y0dVVzR3WUpCQy90Y3lNcDZMRkEzdUxaaVNjSTdydjg5Rm5xUUIxUW11cWJs?=
 =?utf-8?B?ckptbElUaDVVMHFqM2VHY1pkRlU2UFhBL1NhSnNOWjE3aHBWa2NrUnVLVThn?=
 =?utf-8?B?b1l3UTl5cVZzUUJVdXFveVdadzBQeE14RHFJK3BDc1JQTXY3U2dWN0pGaGlN?=
 =?utf-8?B?Sjg2RFp5YjNCODNySmhKL2hQTlNOOXR6TkYrYzVtTHgrT3ZvQkZoWEJxTlk1?=
 =?utf-8?B?eEp3MXlZb015WlY2aDE1c20rZ2ZuZno4UkZqbld5OEdBTFFEWDNRV0tJWEto?=
 =?utf-8?B?d1pZOVRsMUQrOEN2RDFNbXlKdnVQSkVRWDRTRkZZS1RJcUdyTFBPcC9zR2NQ?=
 =?utf-8?B?N29VOGtvemJuNlZHQWM5VjM4KzMrL1lGczBvTmxYNlhZbEJ0RHFZUkJrT3BZ?=
 =?utf-8?B?bENiVk12UWpFSXJVZnVXMHhnL212Y3loTUs5amZLTnBkdUFrNzdkMUNHcGs0?=
 =?utf-8?B?OEpVNkQ3d1hGTnRYeWNFMmRKNUFhOUk3eXVrY1lPa2FFb1NYaGtkSzZyOHRX?=
 =?utf-8?B?NGZhOXJFdGRobTR1WGlOUk0zc2YydjNmQkRsQUlPSjVvWGZQUHBZQ1h6TUFH?=
 =?utf-8?B?c1k0UVk3dFgwVDRIb0xrQVR2MWlGVkRpWUdMaVE2b0dGSHA1VFk4M0VjSE5L?=
 =?utf-8?B?RUJWcVRPVTJUSHZPOXJiOWNJZTk0R0dLTDFIdXI5Q2drZ2JaREY2Ty8yUmZ1?=
 =?utf-8?B?L0FIZTBXMWhvclJXeDVpYUthNEJuemQwZHl5emtEMlJBTnErMkpPcUk5S1NO?=
 =?utf-8?B?WVJGWVAwR2htOU5nbjRyekhjTkFqVmhPSnBXNUR1dngrbG15ZDl5RzVPUE00?=
 =?utf-8?B?eHVmWEFkT2tIV0hIZTU2b09iQ0tFMjc2K1JWbkVxZzBJdEFzYWdXM2xObDRT?=
 =?utf-8?B?RVRJWEVUcmtVdVV1V0dYV3VNTlExdHg0ZEVlRUN2WFdXVDhIVm9NRFloSk9J?=
 =?utf-8?B?aEhWSmp0WXllVWZSTWRqVE9xcFBuSlhYdVR1Rlc5NS81YjlPeXowQUdEMG9s?=
 =?utf-8?B?cjRUSXlyOTFaaDFENllzS2wvK2ZCMTEvN0d3S2Q0bm5vc1VoblVyQjNleU51?=
 =?utf-8?B?dzJMaktObzZWRUtwdG41TW9ZczljWDNPU1U1UWJML2pQQkJQUVkzSFlsdmF6?=
 =?utf-8?B?dUl3K2ozaGNkUHZjZE9OSVNLVjE3QTBGRUpnbURSVnhOUkdwYXdPQ2kzaGFK?=
 =?utf-8?B?Wkd0QXZxMFJZT0JXM0VzTjVQK3U4dk5yakJHNEtjeklKY0ZQQUxTVlFMeTcv?=
 =?utf-8?B?VTZnMUpxenpEcWVXUzB6bGZIRWE5RTZnK3JITnBQcE1SSmRqVlEyZnV5OHlK?=
 =?utf-8?B?Qzd5UGxHSWJvN2FBVDl5YmZnRENOcDY5T0dmaEgraXAzV0dEdHZNdFpWb0pZ?=
 =?utf-8?B?RElWZWhlZEY2ZzIySEZId2ZRaWMvbTBseEZPRlBVaTU2UDFlbHorTG1XY0w5?=
 =?utf-8?B?bHlDaEE5Ry9uaStJcGFIWFd3TFBRQStWZmpTVlJkR3U4NXpLMmIwVTduZXdG?=
 =?utf-8?B?Q0MwMG1xaVAvK1RYdURNQ2oyS01MNkFYK1RUaU90U1NPU0F6U292d0czbWZO?=
 =?utf-8?Q?ILurJBSsE27Eisl9tE=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5477.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0cf5690a-055c-42c0-5525-08d93a3bbcea
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2021 13:50:49.5635
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2B5l+yRTjW4O5nyvPNJrN57snpqkC2yCsgycenlbrxDk5cXb4AKr+X0ExKQTDeO9/PTiwe2a29C0sE1KoYVuVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6174
X-OriginatorOrg: citrix.com

DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiB3aW4tcHYtZGV2ZWwgPHdpbi1w
di1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnByb2plY3Qub3JnPiBPbiBCZWhhbGYgT2YgT3dlbiBT
bWl0aA0KU2VudDogTW9uZGF5LCBKdW5lIDIxLCAyMDIxIDQ6MzMgUE0NClRvOiBwYXVsQHhlbi5v
cmc7IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KU3ViamVjdDogUkU6IFtQQVRD
SCAzLzZdIERlbGV0ZSBzdG9ybnZtZSdzIFN0YXJ0T3ZlcnJpZGUNCg0KW0NBVVRJT04gLSBFWFRF
Uk5BTCBFTUFJTF0gRE8gTk9UIHJlcGx5LCBjbGljayBsaW5rcywgb3Igb3BlbiBhdHRhY2htZW50
cyB1bmxlc3MgeW91IGhhdmUgdmVyaWZpZWQgdGhlIHNlbmRlciBhbmQga25vdyB0aGUgY29udGVu
dCBpcyBzYWZlLg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogd2luLXB2LWRl
dmVsIDx3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZz4gT24gQmVoYWxm
IE9mIFBhdWwgRHVycmFudA0KU2VudDogTW9uZGF5LCBKdW5lIDIxLCAyMDIxIDI6NDggUE0NClRv
OiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNClN1YmplY3Q6IFJlOiBbUEFUQ0gg
My82XSBEZWxldGUgc3Rvcm52bWUncyBTdGFydE92ZXJyaWRlDQoNCltDQVVUSU9OIC0gRVhURVJO
QUwgRU1BSUxdIERPIE5PVCByZXBseSwgY2xpY2sgbGlua3MsIG9yIG9wZW4gYXR0YWNobWVudHMg
dW5sZXNzIHlvdSBoYXZlIHZlcmlmaWVkIHRoZSBzZW5kZXIgYW5kIGtub3cgdGhlIGNvbnRlbnQg
aXMgc2FmZS4NCg0KT24gMTcvMDYvMjAyMSAxMzozMywgT3dlbiBTbWl0aCB3cm90ZToNCj4gVXNp
bmcgYW4gZW11bGF0ZWQgTlZNZSBkZXZpY2UgZm9yIGluc3RhbGxhdGlvbiB3aWxsIG5vdCBiZSBh
YmxlIHRvIA0KPiByZXZlcnQgdG8gZW11bGF0ZWQgTlZNZSBkZXZpY2Ugb25jZSB4ZW52YmQgaGFz
IGJlZW4gdXNlZCB0byBib290LiBUaGlzIA0KPiBpcyBkdWUgdG8gc3Rvcm52bWUgY3JlYXRpbmcg
YSBTdGFydE92ZXJyaWRlIHZhbHVlIHRoYXQgb3ZlcnJpZGVzIA0KPiBzdG9ybnZtZSdzIFN0YXJ0
VHlwZSB0byBtYW51YWwgKGZyb20gYm9vdCkgd2hlbiBzdG9ybnZtZSBpcyBub3QgbG9hZGVkIA0K
PiBkdXJpbmcgYm9vdC4gVGhpcyBvY2N1cnMgd2hlbiB4ZW5idXMgaGFzIHVucGx1Z2dlZCB0aGUg
ZW11bGF0ZWQgTlZNZSANCj4gY29udHJvbGxlciBhdCBib290LiBEaXNhYmxpbmcgdGhlIHVucGx1
ZyBpcyBub3Qgc3VmZmljaWVudCB0byBoYXZlIA0KPiBzdG9ybnZtZSBsb2FkIGF0IGJvb3QsIHdo
aWNoIHJlc3VsdHMgaW4gYSAweDdCIGJ1Z2NoZWNrLg0KDQpJY2shDQoNCj4gDQo+IFNpZ25lZC1v
ZmYtYnk6IE93ZW4gU21pdGggPG93ZW4uc21pdGhAY2l0cml4LmNvbT4NCj4gLS0tDQo+ICAgc3Jj
L21vbml0b3IvbW9uaXRvci5jIHwgNjAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKw0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspDQo+IA0KPiBk
aWZmIC0tZ2l0IGEvc3JjL21vbml0b3IvbW9uaXRvci5jIGIvc3JjL21vbml0b3IvbW9uaXRvci5j
DQoNCk5vdCBzdXJlIHRoZSBtb25pdG9yIGlzIHRoZSBiZXN0IHBsYWNlIHRvIGRvIHRoaXM7IGl0
IHNlZW1zIGEgbGl0dGxlIHRvbyBjcml0aWNhbCBmb3IgdGhhdC4gQ291bGQgd2UgdXNlIHRoaXMg
YW5jaWVudCBpbnRlcmZhY2UgaW5zdGVhZD8NCg0KaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20v
ZW4tdXMvd2luZG93cy1oYXJkd2FyZS9kcml2ZXJzL2RkaS9udGRkay9uZi1udGRkay1pb3JlZ2lz
dGVyYm9vdGRyaXZlcnJlaW5pdGlhbGl6YXRpb24NCg0KICAgUGF1bA0KDQoNClRoaXMgbG9va3Mg
ZG9hYmxlLCBjYWxsaW5nIElvUmVnaXN0ZXJCb290RHJpdmVyUmVpbml0aWFsaXphdGlvbiBmcm9t
IFhlblZiZCdzIERyaXZlckVudHJ5IGFuZCBjbGVhcmluZyB0aGUgU3RhcnRPdmVycmlkZSBmcm9t
IHRoZSByZWluaXRpYWxpemUgcm91dGluZQ0KDQpPd2VuDQoNCg0KQWZ0ZXIgc29tZSBpbnZlc3Rp
Z2F0aW9uLCB0aGUgSW9SZWdpc3RlckJvb3REcml2ZXJSZWluaXRpYWxpemF0aW9uIGNhbGxiYWNr
IG9jY3VycyB0b28gZWFybHkgYW5kIFN0b3JOdm1lIGFkZHMgdGhlIHZhbHVlIGxhdGVyLiBJdCBz
aG91bGQgb25seSBiZSByZXF1aXJlZCB0byBlbnN1cmUgdGhpcyB2YWx1ZSBpcyByZW1vdmVkIGJl
Zm9yZSB0aGUgVk0gaXMgc2h1dGRvd24gb3IgcmVib290ZWQsIHNvIGl0cyBwb3NzaWJsZSB0aGF0
IHJlbW92aW5nIHRoZSBTdGFydE92ZXJyaWRlIGluIHRoZSB1bmxvYWQvcG93ZXIgZG93biBjb2Rl
IHdvdWxkIGJlIGFwcHJvcHJpYXRlLg0KDQpPd2VuDQoNCg0KPiBpbmRleCA5YWRmYjc5Li5jODU4
MjQ5IDEwMDY0NA0KPiAtLS0gYS9zcmMvbW9uaXRvci9tb25pdG9yLmMNCj4gKysrIGIvc3JjL21v
bml0b3IvbW9uaXRvci5jDQo+IEBAIC0xMTcyLDYgKzExNzIsNjQgQEAgZmFpbDE6DQo+ICAgICAg
IHJldHVybiBGQUxTRTsNCj4gICB9DQo+ICAgDQo+ICtzdGF0aWMgQk9PTA0KPiArRGVsZXRlU3Rh
cnRPdmVycmlkZSgNCj4gKyAgICBfSW5fICAgIExQVFNUUiAgICAgIERyaXZlck5hbWUNCj4gKyAg
ICApDQo+ICt7DQo+ICsgICAgVENIQVIgICAgICAgICAgICAgICBTZXJ2aWNlS2V5TmFtZVtNQVhf
UEFUSF07DQo+ICsgICAgSEtFWSAgICAgICAgICAgICAgICBLZXk7DQo+ICsgICAgSFJFU1VMVCAg
ICAgICAgICAgICBFcnJvcjsNCj4gKw0KPiArICAgIEVycm9yID0gU3RyaW5nQ2JQcmludGYoU2Vy
dmljZUtleU5hbWUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYX1BBVEgsDQo+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VSVklDRVNfS0VZICJcXCVzIiwNCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJOYW1lKTsNCj4gKyAgICBpZiAoIVNVQ0NF
RURFRChFcnJvcikpDQo+ICsgICAgICAgIGdvdG8gZmFpbDE7DQo+ICsNCj4gKyAgICBFcnJvciA9
IFJlZ09wZW5LZXlFeChIS0VZX0xPQ0FMX01BQ0hJTkUsDQo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgU2VydmljZUtleU5hbWUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICBLRVlfQUxMX0FDQ0VTUywNCj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAmS2V5KTsNCj4gKyAgICBpZiAoRXJyb3IgIT0gRVJST1JfU1VDQ0VTUykg
ew0KPiArICAgICAgICBTZXRMYXN0RXJyb3IoRXJyb3IpOw0KPiArICAgICAgICBnb3RvIGZhaWwy
Ow0KPiArICAgIH0NCj4gKw0KPiArICAgIEVycm9yID0gUmVnRGVsZXRlVHJlZShLZXksDQo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICJTdGFydE92ZXJyaWRlIik7DQo+ICsgICAgaWYgKEVy
cm9yICE9IEVSUk9SX1NVQ0NFU1MpIHsNCj4gKyAgICAgICAgU2V0TGFzdEVycm9yKEVycm9yKTsN
Cj4gKyAgICAgICAgZ290byBmYWlsMzsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBSZWdDbG9zZUtl
eShLZXkpOw0KPiArDQo+ICsgICAgcmV0dXJuIFRSVUU7DQo+ICsNCj4gK2ZhaWwzOg0KPiArICAg
IExvZygiZmFpbDMiKTsNCj4gKw0KPiArICAgIFJlZ0Nsb3NlS2V5KEtleSk7DQo+ICsNCj4gK2Zh
aWwyOg0KPiArICAgIExvZygiZmFpbDIiKTsNCj4gKw0KPiArZmFpbDE6DQo+ICsgICAgRXJyb3Ig
PSBHZXRMYXN0RXJyb3IoKTsNCj4gKw0KPiArICAgIHsNCj4gKyAgICAgICAgUFRDSEFSICBNZXNz
YWdlOw0KPiArICAgICAgICBNZXNzYWdlID0gR2V0RXJyb3JNZXNzYWdlKEVycm9yKTsNCj4gKyAg
ICAgICAgTG9nKCJmYWlsMSAoJXMpIiwgTWVzc2FnZSk7DQo+ICsgICAgICAgIExvY2FsRnJlZShN
ZXNzYWdlKTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICt9DQo+ICsN
Cj4gICBWT0lEIFdJTkFQSQ0KPiAgIE1vbml0b3JNYWluKA0KPiAgICAgICBfSW5fICAgIERXT1JE
ICAgICAgIGFyZ2MsDQo+IEBAIC0xMjUxLDYgKzEzMDksNyBAQCBNb25pdG9yTWFpbigNCj4gICAg
ICAgaWYgKCFTdWNjZXNzKQ0KPiAgICAgICAgICAgZ290byBmYWlsOTsNCj4gICANCj4gKyAgICAo
Vk9JRCkgRGVsZXRlU3RhcnRPdmVycmlkZSgic3Rvcm52bWUiKTsNCj4gICAgICAgU2V0RXZlbnQo
Q29udGV4dC0+UmVxdWVzdEV2ZW50KTsNCj4gICANCj4gICAgICAgUmVwb3J0U3RhdHVzKFNFUlZJ
Q0VfUlVOTklORywgTk9fRVJST1IsIDApOyBAQCAtMTI4NSw2ICsxMzQ0LDcgDQo+IEBAIE1vbml0
b3JNYWluKA0KPiAgICAgICB9DQo+ICAgDQo+ICAgZG9uZToNCj4gKyAgICAoVk9JRCkgRGVsZXRl
U3RhcnRPdmVycmlkZSgic3Rvcm52bWUiKTsNCj4gICAgICAgKFZPSUQpIFJlZ0RlbGV0ZVRyZWUo
Q29udGV4dC0+UmVxdWVzdEtleSwgTlVMTCk7DQo+ICAgDQo+ICAgICAgIGZyZWUoQ29udGV4dC0+
UXVlc3Rpb24pOw0KPiANCg0KDQo=


From win-pv-devel-bounces@lists.xenproject.org Mon Jun 28 18:18:46 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 28 Jun 2021 18:18:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.147936.273152 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lxvqG-0005n7-NA; Mon, 28 Jun 2021 18:18:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 147936.273152; Mon, 28 Jun 2021 18:18:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lxvqG-0005n0-K7; Mon, 28 Jun 2021 18:18:44 +0000
Received: by outflank-mailman (input) for mailman id 147936;
 Mon, 28 Jun 2021 18:18:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=spMO=LW=amazon.co.uk=prvs=806c6615b=pdurrant@srs-us1.protection.inumbo.net>)
 id 1lxvqF-0005mu-TZ
 for win-pv-devel@lists.xenproject.org; Mon, 28 Jun 2021 18:18:44 +0000
Received: from smtp-fw-6002.amazon.com (unknown [52.95.49.90])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d47e4cbd-957e-41df-b527-ff68415df3d7;
 Mon, 28 Jun 2021 18:18:42 +0000 (UTC)
Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO
 email-inbound-relay-1e-42f764a0.us-east-1.amazon.com) ([10.43.8.2])
 by smtp-border-fw-6002.iad6.amazon.com with ESMTP; 28 Jun 2021 18:18:35 +0000
Received: from EX13D32EUC003.ant.amazon.com
 (iad55-ws-svc-p15-lb9-vlan3.iad.amazon.com [10.40.159.166])
 by email-inbound-relay-1e-42f764a0.us-east-1.amazon.com (Postfix) with ESMTPS
 id DD82EA08DC; Mon, 28 Jun 2021 18:18:34 +0000 (UTC)
Received: from EX13D32EUC003.ant.amazon.com (10.43.164.24) by
 EX13D32EUC003.ant.amazon.com (10.43.164.24) with Microsoft SMTP Server (TLS)
 id 15.0.1497.18; Mon, 28 Jun 2021 18:18:33 +0000
Received: from EX13D32EUC003.ant.amazon.com ([10.43.164.24]) by
 EX13D32EUC003.ant.amazon.com ([10.43.164.24]) with mapi id 15.00.1497.018;
 Mon, 28 Jun 2021 18:18:33 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d47e4cbd-957e-41df-b527-ff68415df3d7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt;
  s=amazon201209; t=1624904322; x=1656440322;
  h=from:to:date:message-id:references:in-reply-to:
   content-transfer-encoding:mime-version:subject;
  bh=y5vTI0tZE2qnzBiljmn0uRJqGKITxuQ+gPZcuHt+mSY=;
  b=ZesSj1IPIS0qdpsl2cR7woYBe2BNf3NdKh2G/9ZNaihvY6snoxRUIcqt
   p25oKKjyRDzmUCkKU4VA+vBvSiRtdfzGoy+9Km+ElQICXyutOROe2fCIO
   SrUGnmrE0kUndzDlWcK7qyAyMVbgAN/P6oCQqtaB1gyn9f9VxRP59Gfdm
   U=;
X-IronPort-AV: E=Sophos;i="5.83,306,1616457600"; 
   d="scan'208";a="121810519"
Subject: RE: [PATCH 3/6] Delete stornvme's StartOverride
Thread-Topic: [PATCH 3/6] Delete stornvme's StartOverride
From: "Durrant, Paul" <pdurrant@amazon.co.uk>
To: Owen Smith <owen.smith@citrix.com>, "paul@xen.org" <paul@xen.org>,
	"win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Thread-Index: AQHXY3UnQmHdybZHGkOVKB8avSnxVasegSAAgAAdVACACuPVgIAASXDQ
Date: Mon, 28 Jun 2021 18:18:33 +0000
Message-ID: <9d69229c1d2f438ebaa7fee2e0ef173c@EX13D32EUC003.ant.amazon.com>
References: <20210617123356.582-1-owen.smith@citrix.com>
 <20210617123356.582-3-owen.smith@citrix.com>
 <8218f216-5d69-501f-4620-036213da7a49@xen.org>
 <DS7PR03MB54774B5C23FE4C1BAF46BAA4FE0A9@DS7PR03MB5477.namprd03.prod.outlook.com>
 <DS7PR03MB5477C12C49A4553ABF02E7D2FE039@DS7PR03MB5477.namprd03.prod.outlook.com>
In-Reply-To: <DS7PR03MB5477C12C49A4553ABF02E7D2FE039@DS7PR03MB5477.namprd03.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.43.164.90]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiB3aW4tcHYtZGV2ZWwgPHdpbi1w
di1kZXZlbC1ib3VuY2VzQGxpc3RzLnhlbnByb2plY3Qub3JnPiBPbiBCZWhhbGYgT2YgT3dlbiBT
bWl0aA0KPiBTZW50OiAyOCBKdW5lIDIwMjEgMTQ6NTENCj4gVG86IE93ZW4gU21pdGggPG93ZW4u
c21pdGhAY2l0cml4LmNvbT47IHBhdWxAeGVuLm9yZzsgd2luLXB2LWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnDQo+IFN1YmplY3Q6IFJFOiBbRVhURVJOQUxdIFtQQVRDSCAzLzZdIERlbGV0ZSBz
dG9ybnZtZSdzIFN0YXJ0T3ZlcnJpZGUNCj4gDQo+IENBVVRJT046IFRoaXMgZW1haWwgb3JpZ2lu
YXRlZCBmcm9tIG91dHNpZGUgb2YgdGhlIG9yZ2FuaXphdGlvbi4gRG8gbm90IGNsaWNrIGxpbmtz
IG9yIG9wZW4NCj4gYXR0YWNobWVudHMgdW5sZXNzIHlvdSBjYW4gY29uZmlybSB0aGUgc2VuZGVy
IGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQo+IA0KPiANCj4gDQo+IC0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IHdpbi1wdi1kZXZlbCA8d2luLXB2LWRldmVsLWJvdW5j
ZXNAbGlzdHMueGVucHJvamVjdC5vcmc+IE9uIEJlaGFsZiBPZiBPd2VuIFNtaXRoDQo+IFNlbnQ6
IE1vbmRheSwgSnVuZSAyMSwgMjAyMSA0OjMzIFBNDQo+IFRvOiBwYXVsQHhlbi5vcmc7IHdpbi1w
di1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBTdWJqZWN0OiBSRTogW1BBVENIIDMvNl0g
RGVsZXRlIHN0b3Judm1lJ3MgU3RhcnRPdmVycmlkZQ0KPiANCj4gW0NBVVRJT04gLSBFWFRFUk5B
TCBFTUFJTF0gRE8gTk9UIHJlcGx5LCBjbGljayBsaW5rcywgb3Igb3BlbiBhdHRhY2htZW50cyB1
bmxlc3MgeW91IGhhdmUgdmVyaWZpZWQgdGhlDQo+IHNlbmRlciBhbmQga25vdyB0aGUgY29udGVu
dCBpcyBzYWZlLg0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogd2lu
LXB2LWRldmVsIDx3aW4tcHYtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZz4gT24g
QmVoYWxmIE9mIFBhdWwgRHVycmFudA0KPiBTZW50OiBNb25kYXksIEp1bmUgMjEsIDIwMjEgMjo0
OCBQTQ0KPiBUbzogd2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQo+IFN1YmplY3Q6
IFJlOiBbUEFUQ0ggMy82XSBEZWxldGUgc3Rvcm52bWUncyBTdGFydE92ZXJyaWRlDQo+IA0KPiBb
Q0FVVElPTiAtIEVYVEVSTkFMIEVNQUlMXSBETyBOT1QgcmVwbHksIGNsaWNrIGxpbmtzLCBvciBv
cGVuIGF0dGFjaG1lbnRzIHVubGVzcyB5b3UgaGF2ZSB2ZXJpZmllZCB0aGUNCj4gc2VuZGVyIGFu
ZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQo+IA0KPiBPbiAxNy8wNi8yMDIxIDEzOjMzLCBP
d2VuIFNtaXRoIHdyb3RlOg0KPiA+IFVzaW5nIGFuIGVtdWxhdGVkIE5WTWUgZGV2aWNlIGZvciBp
bnN0YWxsYXRpb24gd2lsbCBub3QgYmUgYWJsZSB0bw0KPiA+IHJldmVydCB0byBlbXVsYXRlZCBO
Vk1lIGRldmljZSBvbmNlIHhlbnZiZCBoYXMgYmVlbiB1c2VkIHRvIGJvb3QuIFRoaXMNCj4gPiBp
cyBkdWUgdG8gc3Rvcm52bWUgY3JlYXRpbmcgYSBTdGFydE92ZXJyaWRlIHZhbHVlIHRoYXQgb3Zl
cnJpZGVzDQo+ID4gc3Rvcm52bWUncyBTdGFydFR5cGUgdG8gbWFudWFsIChmcm9tIGJvb3QpIHdo
ZW4gc3Rvcm52bWUgaXMgbm90IGxvYWRlZA0KPiA+IGR1cmluZyBib290LiBUaGlzIG9jY3VycyB3
aGVuIHhlbmJ1cyBoYXMgdW5wbHVnZ2VkIHRoZSBlbXVsYXRlZCBOVk1lDQo+ID4gY29udHJvbGxl
ciBhdCBib290LiBEaXNhYmxpbmcgdGhlIHVucGx1ZyBpcyBub3Qgc3VmZmljaWVudCB0byBoYXZl
DQo+ID4gc3Rvcm52bWUgbG9hZCBhdCBib290LCB3aGljaCByZXN1bHRzIGluIGEgMHg3QiBidWdj
aGVjay4NCj4gDQo+IEljayENCj4gDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBPd2VuIFNtaXRo
IDxvd2VuLnNtaXRoQGNpdHJpeC5jb20+DQo+ID4gLS0tDQo+ID4gICBzcmMvbW9uaXRvci9tb25p
dG9yLmMgfCA2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+
ID4gICAxIGZpbGUgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdp
dCBhL3NyYy9tb25pdG9yL21vbml0b3IuYyBiL3NyYy9tb25pdG9yL21vbml0b3IuYw0KPiANCj4g
Tm90IHN1cmUgdGhlIG1vbml0b3IgaXMgdGhlIGJlc3QgcGxhY2UgdG8gZG8gdGhpczsgaXQgc2Vl
bXMgYSBsaXR0bGUgdG9vIGNyaXRpY2FsIGZvciB0aGF0LiBDb3VsZCB3ZQ0KPiB1c2UgdGhpcyBh
bmNpZW50IGludGVyZmFjZSBpbnN0ZWFkPw0KPiANCj4gaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5j
b20vZW4tdXMvd2luZG93cy1oYXJkd2FyZS9kcml2ZXJzL2RkaS9udGRkay9uZi1udGRkay0NCj4g
aW9yZWdpc3RlcmJvb3Rkcml2ZXJyZWluaXRpYWxpemF0aW9uDQo+IA0KPiAgICBQYXVsDQo+IA0K
PiANCj4gVGhpcyBsb29rcyBkb2FibGUsIGNhbGxpbmcgSW9SZWdpc3RlckJvb3REcml2ZXJSZWlu
aXRpYWxpemF0aW9uIGZyb20gWGVuVmJkJ3MgRHJpdmVyRW50cnkgYW5kIGNsZWFyaW5nDQo+IHRo
ZSBTdGFydE92ZXJyaWRlIGZyb20gdGhlIHJlaW5pdGlhbGl6ZSByb3V0aW5lDQo+IA0KPiBPd2Vu
DQo+IA0KPiANCj4gQWZ0ZXIgc29tZSBpbnZlc3RpZ2F0aW9uLCB0aGUgSW9SZWdpc3RlckJvb3RE
cml2ZXJSZWluaXRpYWxpemF0aW9uIGNhbGxiYWNrIG9jY3VycyB0b28gZWFybHkgYW5kDQo+IFN0
b3JOdm1lIGFkZHMgdGhlIHZhbHVlIGxhdGVyLiBJdCBzaG91bGQgb25seSBiZSByZXF1aXJlZCB0
byBlbnN1cmUgdGhpcyB2YWx1ZSBpcyByZW1vdmVkIGJlZm9yZSB0aGUNCj4gVk0gaXMgc2h1dGRv
d24gb3IgcmVib290ZWQsIHNvIGl0cyBwb3NzaWJsZSB0aGF0IHJlbW92aW5nIHRoZSBTdGFydE92
ZXJyaWRlIGluIHRoZSB1bmxvYWQvcG93ZXIgZG93bg0KPiBjb2RlIHdvdWxkIGJlIGFwcHJvcHJp
YXRlLg0KDQpPciBjb3VsZCB0aGlzIGV2ZW4gYmUgZG9uZSBpbiB4ZW52YmQncyBjby1pbnN0YWxs
ZXI/DQoNCiAgUGF1bA0KDQo+IA0KPiBPd2VuDQo+IA0KPiANCj4gPiBpbmRleCA5YWRmYjc5Li5j
ODU4MjQ5IDEwMDY0NA0KPiA+IC0tLSBhL3NyYy9tb25pdG9yL21vbml0b3IuYw0KPiA+ICsrKyBi
L3NyYy9tb25pdG9yL21vbml0b3IuYw0KPiA+IEBAIC0xMTcyLDYgKzExNzIsNjQgQEAgZmFpbDE6
DQo+ID4gICAgICAgcmV0dXJuIEZBTFNFOw0KPiA+ICAgfQ0KPiA+DQo+ID4gK3N0YXRpYyBCT09M
DQo+ID4gK0RlbGV0ZVN0YXJ0T3ZlcnJpZGUoDQo+ID4gKyAgICBfSW5fICAgIExQVFNUUiAgICAg
IERyaXZlck5hbWUNCj4gPiArICAgICkNCj4gPiArew0KPiA+ICsgICAgVENIQVIgICAgICAgICAg
ICAgICBTZXJ2aWNlS2V5TmFtZVtNQVhfUEFUSF07DQo+ID4gKyAgICBIS0VZICAgICAgICAgICAg
ICAgIEtleTsNCj4gPiArICAgIEhSRVNVTFQgICAgICAgICAgICAgRXJyb3I7DQo+ID4gKw0KPiA+
ICsgICAgRXJyb3IgPSBTdHJpbmdDYlByaW50ZihTZXJ2aWNlS2V5TmFtZSwNCj4gPiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE1BWF9QQVRILA0KPiA+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU0VSVklDRVNfS0VZICJcXCVzIiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIERyaXZlck5hbWUpOw0KPiA+ICsgICAgaWYgKCFTVUNDRUVERUQoRXJyb3IpKQ0KPiA+
ICsgICAgICAgIGdvdG8gZmFpbDE7DQo+ID4gKw0KPiA+ICsgICAgRXJyb3IgPSBSZWdPcGVuS2V5
RXgoSEtFWV9MT0NBTF9NQUNISU5FLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgU2Vy
dmljZUtleU5hbWUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiA+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgS0VZX0FMTF9BQ0NFU1MsDQo+ID4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAmS2V5KTsNCj4gPiArICAgIGlmIChFcnJvciAhPSBFUlJPUl9TVUNDRVNTKSB7
DQo+ID4gKyAgICAgICAgU2V0TGFzdEVycm9yKEVycm9yKTsNCj4gPiArICAgICAgICBnb3RvIGZh
aWwyOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICAgIEVycm9yID0gUmVnRGVsZXRlVHJlZShL
ZXksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIlN0YXJ0T3ZlcnJpZGUiKTsNCj4g
PiArICAgIGlmIChFcnJvciAhPSBFUlJPUl9TVUNDRVNTKSB7DQo+ID4gKyAgICAgICAgU2V0TGFz
dEVycm9yKEVycm9yKTsNCj4gPiArICAgICAgICBnb3RvIGZhaWwzOw0KPiA+ICsgICAgfQ0KPiA+
ICsNCj4gPiArICAgIFJlZ0Nsb3NlS2V5KEtleSk7DQo+ID4gKw0KPiA+ICsgICAgcmV0dXJuIFRS
VUU7DQo+ID4gKw0KPiA+ICtmYWlsMzoNCj4gPiArICAgIExvZygiZmFpbDMiKTsNCj4gPiArDQo+
ID4gKyAgICBSZWdDbG9zZUtleShLZXkpOw0KPiA+ICsNCj4gPiArZmFpbDI6DQo+ID4gKyAgICBM
b2coImZhaWwyIik7DQo+ID4gKw0KPiA+ICtmYWlsMToNCj4gPiArICAgIEVycm9yID0gR2V0TGFz
dEVycm9yKCk7DQo+ID4gKw0KPiA+ICsgICAgew0KPiA+ICsgICAgICAgIFBUQ0hBUiAgTWVzc2Fn
ZTsNCj4gPiArICAgICAgICBNZXNzYWdlID0gR2V0RXJyb3JNZXNzYWdlKEVycm9yKTsNCj4gPiAr
ICAgICAgICBMb2coImZhaWwxICglcykiLCBNZXNzYWdlKTsNCj4gPiArICAgICAgICBMb2NhbEZy
ZWUoTWVzc2FnZSk7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICsgICAgcmV0dXJuIEZBTFNFOw0K
PiA+ICt9DQo+ID4gKw0KPiA+ICAgVk9JRCBXSU5BUEkNCj4gPiAgIE1vbml0b3JNYWluKA0KPiA+
ICAgICAgIF9Jbl8gICAgRFdPUkQgICAgICAgYXJnYywNCj4gPiBAQCAtMTI1MSw2ICsxMzA5LDcg
QEAgTW9uaXRvck1haW4oDQo+ID4gICAgICAgaWYgKCFTdWNjZXNzKQ0KPiA+ICAgICAgICAgICBn
b3RvIGZhaWw5Ow0KPiA+DQo+ID4gKyAgICAoVk9JRCkgRGVsZXRlU3RhcnRPdmVycmlkZSgic3Rv
cm52bWUiKTsNCj4gPiAgICAgICBTZXRFdmVudChDb250ZXh0LT5SZXF1ZXN0RXZlbnQpOw0KPiA+
DQo+ID4gICAgICAgUmVwb3J0U3RhdHVzKFNFUlZJQ0VfUlVOTklORywgTk9fRVJST1IsIDApOyBA
QCAtMTI4NSw2ICsxMzQ0LDcNCj4gPiBAQCBNb25pdG9yTWFpbigNCj4gPiAgICAgICB9DQo+ID4N
Cj4gPiAgIGRvbmU6DQo+ID4gKyAgICAoVk9JRCkgRGVsZXRlU3RhcnRPdmVycmlkZSgic3Rvcm52
bWUiKTsNCj4gPiAgICAgICAoVk9JRCkgUmVnRGVsZXRlVHJlZShDb250ZXh0LT5SZXF1ZXN0S2V5
LCBOVUxMKTsNCj4gPg0KPiA+ICAgICAgIGZyZWUoQ29udGV4dC0+UXVlc3Rpb24pOw0KPiA+DQo+
IA0KDQo=


From win-pv-devel-bounces@lists.xenproject.org Tue Jun 29 10:48:26 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jun 2021 10:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.148002.273327 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lyBI0-0004ui-RL; Tue, 29 Jun 2021 10:48:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 148002.273327; Tue, 29 Jun 2021 10:48:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lyBI0-0004ub-OR; Tue, 29 Jun 2021 10:48:24 +0000
Received: by outflank-mailman (input) for mailman id 148002;
 Tue, 29 Jun 2021 10:48:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5yf4=LX=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lyBHz-0004uV-3J
 for win-pv-devel@lists.xenproject.org; Tue, 29 Jun 2021 10:48:23 +0000
Received: from mail-wr1-x435.google.com (unknown [2a00:1450:4864:20::435])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b82b5562-f1e3-45ba-a6a4-2f752b9ab2f8;
 Tue, 29 Jun 2021 10:48:22 +0000 (UTC)
Received: by mail-wr1-x435.google.com with SMTP id u8so11959910wrq.8
 for <win-pv-devel@lists.xenproject.org>; Tue, 29 Jun 2021 03:48:22 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:6d37:9274:2f2e:444e?
 ([2a00:23c5:5785:9a01:6d37:9274:2f2e:444e])
 by smtp.gmail.com with ESMTPSA id m41sm2425114wms.26.2021.06.29.03.48.20
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 29 Jun 2021 03:48:20 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b82b5562-f1e3-45ba-a6a4-2f752b9ab2f8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=le83zNRUZORGFY8IQQhV/heyUZk8wtrAvx5Y4AR69u4=;
        b=oEFjO9nQsA6aoYFTOCld+8mZw+yl4AYaAKKpV5NIFPvZT51Wke0wRfRmmkO22w+KAD
         YcyCEZRLtPO0N8cyKRD0SPaFLZ6YyshiErlMOcK4u68M2I3gJSAnqDludzYJ+blAkwFW
         I5f8cZCYuHBR1QpfoAymF/MnhzrU61m8kQvh4euLP6Gt+P1RqZHmRJ+CHnF/C2zaXpFI
         RIzauUgUe+lj6Dzlq9wMnc8SC2M/ZkeYHwFRnF64cihwkTAX6gH7j1bJZXDeJPueGgKc
         DpJJ4JaqfJ+jgcSCNHdLrGJzbOWvcZVnspx7m5LgNIuuYYbPXmcpZkb0R+4OM4KBqTn1
         GE4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=le83zNRUZORGFY8IQQhV/heyUZk8wtrAvx5Y4AR69u4=;
        b=Efg+kLIUwm6OdpDsFGKA+fE2Cun9ozSh+sCOqw3uwfdund2ijaMLPXNoAA79gPpshl
         uudYnXLTMVnK2ySrZeJ+cV+0eedSEuBTW7rqtCTW+Ov9mVVXwGQ0WUS4VxS1s+saXLkh
         ugQlhq8SfT8JmB2QmB6Sh/r4ckBk9pUyn+fxwQPchy6KQifLDbAuF75Pd4X9Ogq+qXXQ
         o2DVk/OOwbf9t9oOFVSHVAIipcw1K1xprvWlxZ3UbAHqTQxto/cGwHEJVlbcT61i/pYD
         aynNOR5FWNTqgRieUjF2h8w2tEq91uIas6jf29a219dBt9FiId+ldAVZA07P82XaxVMj
         VIdQ==
X-Gm-Message-State: AOAM531svyTqk+oSZOx/zTkCPNqF18frX00MCXEwd3gcskz5AWeAOYXb
	uzEKF4ZHNKP1KJ2EOhMuId6uTuESmnA=
X-Google-Smtp-Source: ABdhPJzHhUO5VnMnGY2y4GjHNRfspDlKuB1C3VZy3gJ3rTs3Evq5+8t1QaQr+wr+BG1pC066e9pu/A==
X-Received: by 2002:adf:f047:: with SMTP id t7mr22407195wro.22.1624963701313;
        Tue, 29 Jun 2021 03:48:21 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/2] Avoid potential race with FiltersInstall
To: win-pv-devel@lists.xenproject.org
References: <20210628125839.985-1-owen.smith@citrix.com>
Message-ID: <94c57e2f-e68e-02ef-a9c6-f879d2db6fec@xen.org>
Date: Tue, 29 Jun 2021 11:48:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210628125839.985-1-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 28/06/2021 13:58, Owen Smith wrote:
> Is certain situations, a race between XENFILT and XENBUS can lead to XENFILT
> not being loaded on the root PCI device node. This is due to XENBUS!DriverEntry
> removing the registry value just before the PnP manager determines what filters
> to load, and fails to load XENFILT on the root PCI node. This leads to XENBUS
> being unable to determine the correct ActiveDevice. Without an ActiveDevice,
> no Unplugs are issued, and emulated devices are used for boot, leading to a
> reboot prompt before XENVBD can be used as the boot device. The race appears to
> be reliable once triggered, and a reboot will follow the same sequence. This
> appears to be caused by OS upgrades which affect the order the PnP manager
> starts different driver stacks.
> 
> This contains a reversion to 9d28a9e9b79, which fixed an upgrade issue that
> triggered multiple reboot requirements to reload XENFILT correctly.
> If an incompatibility is detected, which can be resolved by a reboot to
> complete the driver installation, XENFILT is inserted into the UpperFilters so
> that XENFILT is loaded on this reboot. This avoids requiring a second reboot so
> that XENFILT can load and determine the ActiveDevice.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   src/xenbus/driver.c | 14 +++++++++-----
>   1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/src/xenbus/driver.c b/src/xenbus/driver.c
> index 1b621fa..067bb68 100644
> --- a/src/xenbus/driver.c
> +++ b/src/xenbus/driver.c
> @@ -296,6 +296,9 @@ DriverRemoveFunctionDeviceObject(
>       RemoveEntryList(&Dx->ListEntry);
>       ASSERT3U(Driver.References, !=, 0);
>       References = --Driver.References;
> +
> +    if (References == 1)
> +        FiltersUninstall();
>   }
>   
>   //
> @@ -859,16 +862,17 @@ DriverEntry(
>                         MICRO_VERSION,
>                         BUILD_NUMBER);
>       if (!NT_SUCCESS(status)) {
> -        if (status == STATUS_INCOMPATIBLE_DRIVER_BLOCKED)
> +        if (status == STATUS_INCOMPATIBLE_DRIVER_BLOCKED) {
> +            // XenBus.sys is not the same version as Xen.sys
> +            // Insert XenFilt to avoid a 2nd reboot in upgrade cases, as AddDevice
> +            // will not be called to insert XenFilt.
> +            FiltersInstall();
>               __DriverRequestReboot();
> +        }
>   
>           goto done;
>       }
>   
> -    // Remove the filters from the registry. They will be re-instated by
> -    // the first successful AddDevice.
> -    FiltersUninstall();
> -
>       DriverObject->DriverExtension->AddDevice = DriverAddDevice;
>   
>       for (Index = 0; Index <= IRP_MJ_MAXIMUM_FUNCTION; Index++) {
> 



From win-pv-devel-bounces@lists.xenproject.org Tue Jun 29 10:50:55 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 29 Jun 2021 10:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.148007.273330 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lyBKR-0005hX-2N; Tue, 29 Jun 2021 10:50:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 148007.273330; Tue, 29 Jun 2021 10:50:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lyBKQ-0005hQ-Vl; Tue, 29 Jun 2021 10:50:54 +0000
Received: by outflank-mailman (input) for mailman id 148007;
 Tue, 29 Jun 2021 10:50:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5yf4=LX=gmail.com=xadimgnik@srs-us1.protection.inumbo.net>)
 id 1lyBKQ-0005hK-6u
 for win-pv-devel@lists.xenproject.org; Tue, 29 Jun 2021 10:50:54 +0000
Received: from mail-wm1-x32a.google.com (unknown [2a00:1450:4864:20::32a])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f649bbd4-ea71-41ef-a6a1-55c492b41b34;
 Tue, 29 Jun 2021 10:50:53 +0000 (UTC)
Received: by mail-wm1-x32a.google.com with SMTP id n33so1927714wms.2
 for <win-pv-devel@lists.xenproject.org>; Tue, 29 Jun 2021 03:50:53 -0700 (PDT)
Received: from ?IPv6:2a00:23c5:5785:9a01:6d37:9274:2f2e:444e?
 ([2a00:23c5:5785:9a01:6d37:9274:2f2e:444e])
 by smtp.gmail.com with ESMTPSA id c7sm17778560wrs.23.2021.06.29.03.50.51
 for <win-pv-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 29 Jun 2021 03:50:52 -0700 (PDT)
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f649bbd4-ea71-41ef-a6a1-55c492b41b34
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=from:reply-to:subject:to:references:message-id:date:user-agent
         :mime-version:in-reply-to:content-language:content-transfer-encoding;
        bh=NPAFBbzbnfmyLn8Mohvj/viOivl9Qqj95Avdq3HxXCM=;
        b=uRgC7bz2qMDzsXkW0lLg1WIt6HSpjHaTO/jaUraFXfRHtM+pRglHjbnuPXkvBe1UR9
         FR7hkx90sstNBHYqKwn8+WJgmDoPjuRF0j1IR8XmPXoS8amMCFo45LHXRa8SfsLSthTa
         MqGK4VAx/Juu1IhyP/0qJtmgspzs6JXgaEtYdCs+0wWuOWqtlSZ539gWSHuSgVZYmKpO
         SjuILS4FWIre/xxtKUttVs/uzk59P0ZLUIxNIUTcK3lr3m+b7nYfhFk7BWwuUi5ZxJaJ
         qFbF2FilutRNAWvW8vXUS0MMSfAleBaTAaIgO7wd7SjmhjEjgKdK+ga1QR1giUNoMqwx
         KiTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:from:reply-to:subject:to:references:message-id
         :date:user-agent:mime-version:in-reply-to:content-language
         :content-transfer-encoding;
        bh=NPAFBbzbnfmyLn8Mohvj/viOivl9Qqj95Avdq3HxXCM=;
        b=ExE/c5iPnYx6gXbEYRdqxV9VKdvUSCCsuHYY+V6c8IhSaLPJATAfX5yQb/sFr1G2fg
         PgH//iLYtT6YtCJfVPmRtRUa8o5pqQOrAiGCDxFIvY01crBoMwIQoWd/ZA0H9od6X0Ad
         5SnsBfKaArJaF+L8BzbetYSMysNlkEEmiqP4Am/XnuMXLlaNdHMXLGYgMicxNfbLQS48
         rfLs0mIl9NsJBSH+HDB2SsjtT/5U24MJSFG5/CcUyjqpNfBwM5eHhQCKaF8zI5GZGgsq
         izpZ+cnhPxqGsetmH5H7mPBycMK3HfdPL9/cmna+avlmwcFhpkmCgBb06vQfLAhyArv5
         XQUg==
X-Gm-Message-State: AOAM530s5zDl4nNkr6Aqt7N64hq1Qg/vT3xF7++5kMmln9b4LJxfqDjj
	zd5RJrJ/MgbLwy5sGfVBGf3tr9Y8I5M=
X-Google-Smtp-Source: ABdhPJwxnkQ+LhjERC/pAciF7ZvR2rBIuWtM57exZ4W7mUpnadpRpV/xEJhU350+37G+HYmSvU1NZA==
X-Received: by 2002:a1c:d1:: with SMTP id 200mr32076530wma.85.1624963852382;
        Tue, 29 Jun 2021 03:50:52 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/2] Add emulated NVMe to IsDiskPresent results
To: win-pv-devel@lists.xenproject.org
References: <20210628125839.985-1-owen.smith@citrix.com>
 <20210628125839.985-2-owen.smith@citrix.com>
Message-ID: <3950dafc-a017-533d-122e-9ab5966ca65e@xen.org>
Date: Tue, 29 Jun 2021 11:50:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.11.0
MIME-Version: 1.0
In-Reply-To: <20210628125839.985-2-owen.smith@citrix.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit

On 28/06/2021 13:58, Owen Smith wrote:
> IsDiskPresent currently only reports the presence of emulated IDE disks. When
> using emulated NVMe disks, its possible to start booting off the emulated disk,
> but have XenVbd 'take over' resulting in storage requests to the emulated NVMe
> disk timing out and failing. This results in a Windows error on boot
> "Status 0xc000000e. A required device isnt connected or can't be accessed"
> 
> Query the CompatibleIDs and, if present, add the last CompatibleID to emulated
> objects of type PCI. When querying if a disk is preset, also check for PCI
> devices which match the CompatibleID "PCI\CC_0108". This will prevent XenVbd
> enumerating a PV disk which is has a matching emulated NVMe device.
> 
> Signed-off-by: Owen Smith <owen.smith@citrix.com>

Acked-by: Paul Durrant <paul@xen.org>

> ---
>   src/xenfilt/emulated.c | 48 ++++++++++++++++++++++++++++++++++++++----
>   src/xenfilt/emulated.h |  1 +
>   src/xenfilt/pdo.c      | 24 ++++++++++++++++++++-
>   3 files changed, 68 insertions(+), 5 deletions(-)
> 
> diff --git a/src/xenfilt/emulated.c b/src/xenfilt/emulated.c
> index 827c905..189b349 100644
> --- a/src/xenfilt/emulated.c
> +++ b/src/xenfilt/emulated.c
> @@ -46,6 +46,7 @@
>   typedef struct _XENFILT_EMULATED_DEVICE_DATA {
>       CHAR    DeviceID[MAXNAMELEN];
>       CHAR    InstanceID[MAXNAMELEN];
> +    CHAR    CompatibleID[MAXNAMELEN];
>   } XENFILT_EMULATED_DEVICE_DATA, *PXENFILT_EMULATED_DEVICE_DATA;
>   
>   typedef struct _XENFILT_EMULATED_DISK_DATA {
> @@ -92,9 +93,12 @@ EmulatedSetObjectDeviceData(
>       IN  PXENFILT_EMULATED_OBJECT        EmulatedObject,
>       IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
>       IN  PCHAR                           DeviceID,
> -    IN  PCHAR                           InstanceID
> +    IN  PCHAR                           InstanceID,
> +    IN  PCHAR                           CompatibleIDs OPTIONAL
>       )
>   {
> +    ULONG                               Index;
> +    PCHAR                               LastMatch;
>       NTSTATUS                            status;
>   
>       status = STATUS_INVALID_PARAMETER;
> @@ -113,6 +117,30 @@ EmulatedSetObjectDeviceData(
>                                   InstanceID);
>       ASSERT(NT_SUCCESS(status));
>   
> +    if (CompatibleIDs == NULL)
> +        goto done;
> +
> +    Index = 0;
> +    LastMatch = CompatibleIDs;
> +    for (;;) {
> +        ULONG                           Length;
> +
> +        Length = (ULONG)strlen(&CompatibleIDs[Index]);
> +        if (Length == 0)
> +            break;
> +
> +        LastMatch = &CompatibleIDs[Index];
> +
> +        Index += Length + 1;
> +    }
> +
> +    status = RtlStringCbPrintfA(EmulatedObject->Data.Device.CompatibleID,
> +                                MAXNAMELEN,
> +                                "%s",
> +                                LastMatch);
> +    ASSERT(NT_SUCCESS(status));
> +
> +done:
>       return STATUS_SUCCESS;
>   
>   fail1:
> @@ -126,7 +154,8 @@ EmulatedSetObjectDiskData(
>       IN  PXENFILT_EMULATED_OBJECT        EmulatedObject,
>       IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
>       IN  PCHAR                           DeviceID,
> -    IN  PCHAR                           InstanceID
> +    IN  PCHAR                           InstanceID,
> +    IN  PCHAR                           CompatibleIDs OPTIONAL
>       )
>   {
>       PCHAR                               End;
> @@ -136,6 +165,7 @@ EmulatedSetObjectDiskData(
>       NTSTATUS                            status;
>   
>       UNREFERENCED_PARAMETER(DeviceID);
> +    UNREFERENCED_PARAMETER(CompatibleIDs);
>   
>       status = STATUS_INVALID_PARAMETER;
>       if (Type != XENFILT_EMULATED_OBJECT_TYPE_IDE)
> @@ -194,6 +224,7 @@ EmulatedAddObject(
>       IN  PXENFILT_EMULATED_CONTEXT       Context,
>       IN  PCHAR                           DeviceID,
>       IN  PCHAR                           InstanceID,
> +    IN  PCHAR                           CompatibleIDs OPTIONAL,
>       IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
>       OUT PXENFILT_EMULATED_OBJECT        *EmulatedObject
>       )
> @@ -214,14 +245,16 @@ EmulatedAddObject(
>           status = EmulatedSetObjectDeviceData(*EmulatedObject,
>                                                Type,
>                                                DeviceID,
> -                                             InstanceID);
> +                                             InstanceID,
> +                                             CompatibleIDs);
>           break;
>   
>       case XENFILT_EMULATED_OBJECT_TYPE_IDE:
>           status = EmulatedSetObjectDiskData(*EmulatedObject,
>                                              Type,
>                                              DeviceID,
> -                                           InstanceID);
> +                                           InstanceID,
> +                                           CompatibleIDs);
>           break;
>   
>       default:
> @@ -339,6 +372,13 @@ EmulatedIsDiskPresent(
>               break;
>           }
>   
> +        if (EmulatedObject->Type == XENFILT_EMULATED_OBJECT_TYPE_PCI &&
> +            _stricmp("PCI\\CC_0108", EmulatedObject->Data.Device.CompatibleID) == 0 &&
> +            Index <= 3) {
> +            Trace("FOUND\n");
> +            break;
> +        }
> +
>           ListEntry = ListEntry->Flink;
>       }
>   
> diff --git a/src/xenfilt/emulated.h b/src/xenfilt/emulated.h
> index 57edee2..049c0bb 100644
> --- a/src/xenfilt/emulated.h
> +++ b/src/xenfilt/emulated.h
> @@ -69,6 +69,7 @@ EmulatedAddObject(
>       IN  PXENFILT_EMULATED_CONTEXT       Context,
>       IN  PCHAR                           DeviceID,
>       IN  PCHAR                           InstanceID,
> +    IN  PCHAR                           CompatibleIDs OPTIONAL,
>       IN  XENFILT_EMULATED_OBJECT_TYPE    Type,
>       OUT PXENFILT_EMULATED_OBJECT        *EmulatedObject
>       );
> diff --git a/src/xenfilt/pdo.c b/src/xenfilt/pdo.c
> index 0f6e6ce..b3569a3 100644
> --- a/src/xenfilt/pdo.c
> +++ b/src/xenfilt/pdo.c
> @@ -376,6 +376,14 @@ __PdoGetInstanceID(
>              Dx->InstanceID : "";
>   }
>   
> +static FORCEINLINE XENFILT_EMULATED_OBJECT_TYPE
> +__PdoGetType(
> +    IN  PXENFILT_PDO    Pdo
> +    )
> +{
> +    return Pdo->Type;
> +}
> +
>   static FORCEINLINE PCHAR
>   __PdoGetLocationInformation(
>       IN  PXENFILT_PDO    Pdo
> @@ -2112,6 +2120,7 @@ PdoCreate(
>       PDEVICE_OBJECT                  FilterDeviceObject;
>       PXENFILT_DX                     Dx;
>       PXENFILT_PDO                    Pdo;
> +    PCHAR                           CompatibleIDs;
>       NTSTATUS                        status;
>   
>       ASSERT(Type != XENFILT_EMULATED_OBJECT_TYPE_UNKNOWN);
> @@ -2173,14 +2182,24 @@ PdoCreate(
>       if (!NT_SUCCESS(status))
>           goto fail6;
>   
> +    status = DriverQueryId(Pdo->LowerDeviceObject,
> +                           BusQueryCompatibleIDs,
> +                           &CompatibleIDs);
> +    if (!NT_SUCCESS(status))
> +        CompatibleIDs = NULL;
> +
>       status = EmulatedAddObject(DriverGetEmulatedContext(),
>                                  __PdoGetDeviceID(Pdo),
>                                  __PdoGetInstanceID(Pdo),
> -                               Pdo->Type,
> +                               CompatibleIDs,
> +                               __PdoGetType(Pdo),
>                                  &Pdo->EmulatedObject);
>       if (!NT_SUCCESS(status))
>           goto fail7;
>   
> +    if (CompatibleIDs)
> +        ExFreePool(CompatibleIDs);
> +
>       __PdoSetName(Pdo);
>   
>       Info("%p (%s) %s\n",
> @@ -2204,6 +2223,9 @@ PdoCreate(
>   fail7:
>       Error("fail7\n");
>   
> +    if (CompatibleIDs)
> +        ExFreePool(CompatibleIDs);
> +
>       PdoClearDeviceInformation(Pdo);
>   
>   fail6:
> 



From win-pv-devel-bounces@lists.xenproject.org Wed Jun 30 17:38:58 2021
Return-path: <win-pv-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 30 Jun 2021 17:38:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.148208.273888 (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lyeAp-0007nJ-VD; Wed, 30 Jun 2021 17:38:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 148208.273888; Wed, 30 Jun 2021 17:38:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <win-pv-devel-bounces@lists.xenproject.org>)
	id 1lyeAp-0007nB-S6; Wed, 30 Jun 2021 17:38:55 +0000
Received: by outflank-mailman (input) for mailman id 148208;
 Wed, 30 Jun 2021 17:38:53 +0000
Received: from winpvdrvbuild.xenproject.org ([162.242.160.44])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <paul.durrant@xenproject.org>) id 1lyeAn-0007n5-Sb
 for win-pv-devel@lists.xenproject.org; Wed, 30 Jun 2021 17:38:53 +0000
X-BeenThere: win-pv-devel@lists.xenproject.org
List-Id: Developer list for the Windows PV Drivers subproject
 <win-pv-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:win-pv-devel@lists.xenproject.org>
List-Help: <mailto:win-pv-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/win-pv-devel>, 
 <mailto:win-pv-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: win-pv-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "win-pv-devel" <win-pv-devel-bounces@lists.xenproject.org>
Date: Wed, 30 Jun 2021 17:38:57 +0000 (UTC)
From: paul.durrant@xenproject.org
To: win-pv-devel@lists.xenproject.org
Message-ID: <24816005.5.1625074737339.JavaMail.WINPVDRVBUILD$@winpvdrvbuild>
Subject: XENBUS-master - Build #221 - Successful
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_4_10445870.1625074737151"
X-Jenkins-Job: XENBUS-master
X-Jenkins-Result: SUCCESS


------=_Part_4_10445870.1625074737151
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The build system has completed build #221.

Check console output at https://winpvdrvbuild.xenproject.org:8080/job/XENBUS-master/221/console to view the results.
------=_Part_4_10445870.1625074737151--


