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

RE: [PATCH] Add build options for EWDK 22621


  • To: Owen Smith <owen.smith@xxxxxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Owen Smith <owen.smith@xxxxxxxxxx>
  • Date: Wed, 12 Oct 2022 10:23:59 +0000
  • Accept-language: en-GB, en-US
  • 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
  • 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TtL59qQgHR1rOq3rhtgq/WuD3FeZ+H/fu2Gd/Y8fQ6E=; b=aDWCg25i3Ws8guc9oSVDj45bvIAzZDwZbLIPhbsAWutgrGiDBxze32561V0A6BJBfcoKG6XK9L9LyTquNFSEUFmH9NVOzee2URMII/NiDzpzeT/Nc4JnUJYiWDUEjIa6CmhKgwwvGJ+Ls/QoSw5l3EwFP8mxi1oulFl3oisD5Lwn2QTmXRhXpIK449P39Uk2g2Vc8d75WeggRJsdo6je978SYtsUzNx75jgbGdg9HznKSHnix/Xv9enCdlt1BEYny41G20YMsgV2/SX2NvKjasg9i/5qtK8skm5sRDoNQy2Sg2p4XqfaxKSwOTb52u5G+R1jHIQeFUszNIqGPnJNKQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eq9+nEo3QDinyuWCEy5zxYWzY8LynyeH2ZgKt8PAoOpY8448BuVDRJvLDF4nI+51EBZqx2/pfT/blmKZyQAp/cCk0Ook4NCwZxzVtx2fY45rs9I0B1jYkJfRRE+j7igYRd+8X/HH0PrqAh7HmedmCt28cetU3neRazvl5fB6RQ2FHkIy/Z3Q5x0JXIZYJ2p+E3RDYcjZ/6cWwirgElmVgNobIJ4m6YiSSZ3be7UYIQIgbo9N1kQwKKee5qVwUuEC9qQAYt3x+PQbn6bVU7Oz9wvixYpRRJZXlRtIrpHa7nvgP/++3PQ2zC2D7/G48b2K6mCdyZyD5ZMCGugqcmRLTw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Delivery-date: Wed, 12 Oct 2022 10:24:13 +0000
  • Ironport-data: A9a23:WSxWC6nHS7Jd3B1o/stTVKzo5mJPLROZ8wNM2KgKY136VjIFGUQMpFpP7MB4pnnN45wTJkRxMAO25PMkxCZ++vMshaz8836b2urOvwpISZsWo5U263vVLM9heB0tQb0sKu+yaVF0hEIN20Tz0EhRtHxogqt0qgZP7gQwP7GBKll3ZGxR/f+l6D5yxRKZKgZYrCjKluW+oQeEkrmP5BuLM0C2z0Hg17MOy0Gaob8uiyBvahJImUFKFfHEGgr/ixWqZChnd7bqQNS1GuFFWtvUig4MwCH0jCQ+VD3jcmiPYqBe2Haz25hiTEhMpGiDmF47cdyzv9UBUp6peTGqYyjEw3kQxKR2QNonGwPvYse7vxr7rRxLAd/o5nVLvtCpzag4ZyhAqIHsOJRgn2yWILmIVdM4uzx3hLlIfVDqvaY+QaHzJOKhM8MtBpbtH/zwPocGs71F4FK5TfbooFIOqxmsgpQzwcpuY7uflpZswMYkHIg9Nz5ZoUDlX1OAFli3gclgjYYU/OTqwg/RrsLfr+Bg5NzCyLuvKLjG8e5KRlyM0BGjF9DIIvgz4dGLP4tLkkB321SrEgRpzpQkKEAYHg4NSC7V3ThEXeSmDB2yfS3i12hHIPe7y24/gF/mV53lY6hirZORu8qMgKQ/gLiD9fvXYGy4V+6zgX5BLNyileJbce5kd3/pfxxlpqd0Ymit+Yg4QK5Co3wq64A04f0uVKlRpZNV69fq2jjkEijHeo508t1A3tZNgIhTIgY4ufSMNP+c8EnBOVbIMuPUJBd0R2OHYjzURv3Xu7+4xgREcz3vr0VsajkVtyDhHMTt19lglOdCAmDLtP+PYfFdBMkRru9UpsoAvv85Iezf2f/N4ekEYMp1HsnZ8RlV9Xh4ld7FUojQUqLXZtRu/08rBNH3btJcbtwblZxD8gcFy42EVBLzS567sx8Yzh46F+z9/PiXTlJWNwgbFWh5i4aFaU95OBpwguAbKubrD4mKLpd5Gue8mgeu2S1Hw7HmTjFwd4iJyfzIG8fxgkmR7Gm5S7jDvG4jvA8vzQ3qrdyXYsl9sAPMCwyXvfoZQyzg5dZ2cCkVH1qmf4bh/21X3TN0mtcKGjdayQ6/D35b0QIoh/hVi1pFyPhg4EFvokumiC4Q45MaeDdgP08QLzI3H0QL0A+HBtW8Wc/SYOtgqp5epFOVLH7IMCfZlqfXNy6klyVFuhpACjAkmfqneQ30gYm7AAtCFokHjC+A3gEvY2z/4vb9mlz8Kg7G4E8qiceaVj397PWGRPf7dsrDKseqoeuWVKRLXMKb808Eeq+DUxwogN7jpyHEiIoBPFNVBhb1F/9+1MvNSoDjZgymiRFwyeGr8dRuQUWy4Tszfw08OAMbdMXkNgMN/kKwcENxqCPHI202PLRhXvNcy/593sycD6gNb9vYt4Zb/kNwpf61oRHGBV38YCyZWGPY8IjmcPMm/8pBD4pBHPr3thEW73onIFN69UjfKuam9tF4a+XsqOU7LJJPBQlBKuy4yV91ohKRe5caihd6OKhxKGM1rYLXSdKMBMGH7LW1z6f0vIJvWluTma9AK9OwOhjgnNeMhjV1VAgGJxfeZuIGAh5xFVaNFjsRp0GG8oo7NbrEdO8xddV4htp5K5xrjn/ULyOw+yBfeMJofi0aNzzFZHzYuXLRejWaE8obd8wBg2ZfyWAcwpNQQlrQV30TmpXra1vVYlsXvZiR6km6K6eyndfr2746mBoInopiSGyA+fjIVDqfPcLyemai1V0nel3KpGbInbX4fhyauqGaDwFf/3J3CX2EvIn4135kzo3A5xNv85yRo9EQnNiGhp1tBZ16baXgfb2YoQwi0V/kZqaK8/0rqpIjulDnlKXED1dGSIRj7vMxr9/B22H4pz8Rn+bKMk6wa73Yofa3e8Qy3Jkw6fGYnKuzdkwMYMPrc3N0PN69W8AUy2T+yF8i9dPZ5U1EBE0Dp2iAWNEija4EI9xpZ/gsVIceQduX1yzdMfzBqry7czTfT7Amj87TyuzZlQYIsQ6jnLzC44DcU2amoqA7TzqhBxxhbuCDGkuNHMVMo06O+W2nZxkGrsjpNd4EGZ7MRNoREJtEoofjfDTt8i9JdMvDlnytT2j6FVZypTXTtYNRkz3x8in8PpzzReGxJirr4FTfGBI+Qt0JStGlg4mGEz0NzlGzxY+tig9li92S4LhXR+tY6I6BCIZmyCb3Ua0y/jaMECiK57SwHd5PcqmWfWJYJxPBMEheUOzpB8Ucu9MQur22pBHcP7efj6TvrSorCHjg9iI+ytWfuirJl/5x61Og67+o+KpDD5euvWHpRDZPPN8yASAjbMfrrBkyicSrPEVQGSyIhItVcW9XjOCx28mg
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
  • Thread-index: AQHY3iRv/wbTGA0NIE+G0dBDJXqaea4KjNMQ
  • Thread-topic: [PATCH] Add build options for EWDK 22621

Similar changes will be needed to all driver repos

I've only tested these drivers build with the later kits - I'm still using EWDK 
22000 for internal Citrix builds

Owen

-----Original Message-----
From: Owen Smith <owen.smith@xxxxxxxxxx> 
Sent: 12 October 2022 11:22
To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Cc: Owen Smith <owen.smith@xxxxxxxxxx>
Subject: [PATCH] Add build options for EWDK 22621

VisualStudioVersion = 17.0 maps to Visual Studio 2022
* Adds project files for vs2022
* Adds mapping from VisualStudioVersion 17.0 to "vs2022" project folder
* Adds mapping from VisualStudioVersion 17.0 to "Windows 10" build target
* Adds guard to build.ps1 - EWDK 22621 does not build x86 binaries
* Adds include directive where compiler intrinsics are used

Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>
---
 build.ps1                                     |  16 +-
 src/common/util.h                             |  11 +-
 src/xen/hypercall.c                           |   1 +
 src/xen/process.c                             |   1 +
 vs2022/configs.props                          |  45 +++++
 vs2022/package/package.vcxproj                |  79 ++++++++
 vs2022/package/package.vcxproj.user           |   8 +
 vs2022/targets.props                          |  35 ++++
 vs2022/version/version.vcxproj                |  22 +++
 vs2022/xen/xen.vcxproj                        |  99 ++++++++++
 vs2022/xen/xen.vcxproj.user                   |   8 +
 vs2022/xenbus.sln                             | 175 ++++++++++++++++++
 vs2022/xenbus/xenbus.vcxproj                  |  98 ++++++++++
 vs2022/xenbus/xenbus.vcxproj.user             |   8 +
 vs2022/xenbus_coinst/xenbus_coinst.vcxproj    |  67 +++++++
 .../xenbus_coinst/xenbus_coinst.vcxproj.user  |   8 +
 vs2022/xenbus_monitor/xenbus_monitor.vcxproj  |  83 +++++++++
 .../xenbus_monitor.vcxproj.user               |   8 +
 vs2022/xenfilt/xenfilt.vcxproj                |  81 ++++++++
 vs2022/xenfilt/xenfilt.vcxproj.user           |   8 +
 20 files changed, 849 insertions(+), 12 deletions(-)
 create mode 100644 vs2022/configs.props
 create mode 100644 vs2022/package/package.vcxproj
 create mode 100644 vs2022/package/package.vcxproj.user
 create mode 100644 vs2022/targets.props
 create mode 100644 vs2022/version/version.vcxproj
 create mode 100644 vs2022/xen/xen.vcxproj
 create mode 100644 vs2022/xen/xen.vcxproj.user
 create mode 100644 vs2022/xenbus.sln
 create mode 100644 vs2022/xenbus/xenbus.vcxproj
 create mode 100644 vs2022/xenbus/xenbus.vcxproj.user
 create mode 100644 vs2022/xenbus_coinst/xenbus_coinst.vcxproj
 create mode 100644 vs2022/xenbus_coinst/xenbus_coinst.vcxproj.user
 create mode 100644 vs2022/xenbus_monitor/xenbus_monitor.vcxproj
 create mode 100644 vs2022/xenbus_monitor/xenbus_monitor.vcxproj.user
 create mode 100644 vs2022/xenfilt/xenfilt.vcxproj
 create mode 100644 vs2022/xenfilt/xenfilt.vcxproj.user

diff --git a/build.ps1 b/build.ps1
index 346d187..88d57a6 100644
--- a/build.ps1
+++ b/build.ps1
@@ -21,8 +21,8 @@ Function Build {
        )
 
        $visualstudioversion = $Env:VisualStudioVersion
-       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; "16.0" = 
"vs2019"; }
-       $configurationbase = @{ "14.0" = "Windows 8"; "15.0" = "Windows 8"; 
"16.0" = "Windows 8"; }
+       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; "16.0" = 
"vs2019"; "17.0" = "vs2022"; }
+       $configurationbase = @{ "14.0" = "Windows 8"; "15.0" = "Windows 8"; 
"16.0" = "Windows 8"; "17.0" = "Windows 10"; }
 
        $params = @{
                SolutionDir = $solutiondir[$visualstudioversion];
@@ -39,8 +39,8 @@ Function Build {
 
 Function SdvBuild {
        $visualstudioversion = $Env:VisualStudioVersion
-       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; "16.0" = 
"vs2019"; }
-       $configurationbase = @{ "14.0" = "Windows 10"; "15.0" = "Windows 10"; 
"16.0" = "Windows 10"; }
+       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; "16.0" = 
"vs2019"; "17.0" = "vs2022"; }
+       $configurationbase = @{ "14.0" = "Windows 10"; "15.0" = "Windows 10"; 
"16.0" = "Windows 10"; "17.0" = "Windows 10"; }
        $arch = "x64"
 
        $params = @{
@@ -54,8 +54,8 @@ Function SdvBuild {
 
 function CodeQLBuild {
        $visualstudioversion = $Env:VisualStudioVersion
-       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; "16.0" = 
"vs2019"; }
-       $configurationbase = @{ "14.0" = "Windows 10"; "15.0" = "Windows 10"; 
"16.0" = "Windows 10"; }
+       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; "16.0" = 
"vs2019"; "17.0" = "vs2022"; }
+       $configurationbase = @{ "14.0" = "Windows 10"; "15.0" = "Windows 10"; 
"16.0" = "Windows 10"; "17.0" = "Windows 10"; }
        $arch = "x64"
 
        $params = @{
@@ -108,7 +108,9 @@ if ([string]::IsNullOrEmpty($Env:MICRO_VERSION)) {
 }
 
 if ([string]::IsNullOrEmpty($Arch) -or $Arch -eq "x86" -or $Arch -eq "Win32") {
-       Build "x86" $Type
+       if ($Env:VisualStudioVersion -ne "17.0") {
+               Build "x86" $Type
+       }
 }
 
 if ([string]::IsNullOrEmpty($Arch) -or $Arch -eq "x64") {
diff --git a/src/common/util.h b/src/common/util.h
index 31a224d..61ae403 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -33,6 +33,7 @@
 #define _COMMON_UTIL_H
 
 #include <ntddk.h>
+#include <intrin.h>
 
 #include "assert.h"
 
@@ -87,21 +88,21 @@ __CpuId(
     OUT PULONG  EDX OPTIONAL
     )
 {
-    ULONG       Value[4] = {0};
+    int         Value[4] = {0};
 
     __cpuid(Value, Leaf);
 
     if (EAX)
-        *EAX = Value[0];
+        *EAX = (ULONG)Value[0];
 
     if (EBX)
-        *EBX = Value[1];
+        *EBX = (ULONG)Value[1];
 
     if (ECX)
-        *ECX = Value[2];
+        *ECX = (ULONG)Value[2];
 
     if (EDX)
-        *EDX = Value[3];
+        *EDX = (ULONG)Value[3];
 }
 
 static FORCEINLINE LONG
diff --git a/src/xen/hypercall.c b/src/xen/hypercall.c
index 54f3a10..c56f218 100644
--- a/src/xen/hypercall.c
+++ b/src/xen/hypercall.c
@@ -34,6 +34,7 @@
 
 #include <ntddk.h>
 #include <xen.h>
+#include <intrin.h>
 
 #include "hypercall.h"
 #include "dbg_print.h"
diff --git a/src/xen/process.c b/src/xen/process.c
index 7d6dc74..db3b1f7 100644
--- a/src/xen/process.c
+++ b/src/xen/process.c
@@ -33,6 +33,7 @@
 
 #include <ntddk.h>
 #include <xen.h>
+#include <intrin.h>
 
 #include "process.h"
 #include "dbg_print.h"
diff --git a/vs2022/configs.props b/vs2022/configs.props
new file mode 100644
index 0000000..cdbb3c8
--- /dev/null
+++ b/vs2022/configs.props
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077006963%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=lNH7C4jNZfn6GKjV0JGhdqUGmGMbbjxGsZiMrLvk4d8%3D&amp;reserved=0";>
+       <ItemGroup Label="ProjectConfigurations">
+               <ProjectConfiguration Include="Windows 10 Debug|Win32">
+                       <Configuration>Windows 10 Debug</Configuration>
+                       <Platform>Win32</Platform>
+                       
<WindowsTargetPlatformVersion>10</WindowsTargetPlatformVersion>
+               </ProjectConfiguration>
+               <ProjectConfiguration Include="Windows 10 Release|Win32">
+                       <Configuration>Windows 10 Release</Configuration>
+                       <Platform>Win32</Platform>
+                       
<WindowsTargetPlatformVersion>10</WindowsTargetPlatformVersion>
+               </ProjectConfiguration>
+               <ProjectConfiguration Include="Windows 10 Debug|x64">
+                       <Configuration>Windows 10 Debug</Configuration>
+                       <Platform>x64</Platform>
+                       
<WindowsTargetPlatformVersion>10</WindowsTargetPlatformVersion>
+               </ProjectConfiguration>
+               <ProjectConfiguration Include="Windows 10 Release|x64">
+                       <Configuration>Windows 10 Release</Configuration>
+                       <Platform>x64</Platform>
+                       
<WindowsTargetPlatformVersion>10</WindowsTargetPlatformVersion>
+               </ProjectConfiguration>
+               <ProjectConfiguration Include="Windows 8 Debug|Win32">
+                       <Configuration>Windows 8 Debug</Configuration>
+                       <Platform>Win32</Platform>
+                       
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+               </ProjectConfiguration>
+               <ProjectConfiguration Include="Windows 8 Release|Win32">
+                       <Configuration>Windows 8 Release</Configuration>
+                       <Platform>Win32</Platform>
+                       
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+               </ProjectConfiguration>
+               <ProjectConfiguration Include="Windows 8 Debug|x64">
+                       <Configuration>Windows 8 Debug</Configuration>
+                       <Platform>x64</Platform>
+                       
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+               </ProjectConfiguration>
+               <ProjectConfiguration Include="Windows 8 Release|x64">
+                       <Configuration>Windows 8 Release</Configuration>
+                       <Platform>x64</Platform>
+                       
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+               </ProjectConfiguration>
+       </ItemGroup>
+</Project>
diff --git a/vs2022/package/package.vcxproj b/vs2022/package/package.vcxproj
new file mode 100644
index 0000000..00af1a3
--- /dev/null
+++ b/vs2022/package/package.vcxproj
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077006963%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=lNH7C4jNZfn6GKjV0JGhdqUGmGMbbjxGsZiMrLvk4d8%3D&amp;reserved=0";>
+  <Import Project="..\configs.props" />
+  <PropertyGroup Label="PropertySheets">
+    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
+    <ConfigurationType>Utility</ConfigurationType>
+    <DriverType>Package</DriverType>
+    <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
+    <SupportsPackaging>true</SupportsPackaging>
+    <DriverTargetPlatform>Desktop</DriverTargetPlatform>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{92E5A46B-913C-45C6-B6F8-7E062D85279F}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="..\targets.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <EnableInf2cat>true</EnableInf2cat>
+    <Inf2CatWindowsVersionList 
Condition="'$(Platform)'=='x64'">8_x64;Server8_x64;10_x64;Server10_x64;ServerRS5_X64;ServerFE_X64;10_CO_X64</Inf2CatWindowsVersionList>
+    <Inf2CatWindowsVersionList 
Condition="'$(Platform)'=='Win32'">8_x86;10_x86</Inf2CatWindowsVersionList>
+    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
+    <EnableDeployment>False</EnableDeployment>
+    <ImportToStore>False</ImportToStore>
+    <InstallMode>None</InstallMode>
+    <ScriptDeviceQuery>%PathToInf%</ScriptDeviceQuery>
+    <EnableVerifier>False</EnableVerifier>
+    <AllDrivers>False</AllDrivers>
+    <VerifyProjectOutput>True</VerifyProjectOutput>
+    <VerifyDrivers />
+    <VerifyFlags>133563</VerifyFlags>
+    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <DriverSign>
+      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
+    </DriverSign>
+  </ItemDefinitionGroup>
+  <PropertyGroup Condition="'$(Platform)'=='Win32'">
+    <ArchiveDir>..\..\$(SolutionName)\x86</ArchiveDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Platform)'=='x64'">
+    <ArchiveDir>..\..\$(SolutionName)\x64</ArchiveDir>
+  </PropertyGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\xenfilt\xenfilt.vcxproj">
+      <Project>{d7411b2c-2c43-434d-9f56-e10a3d2f5bad}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\xenbus_coinst\xenbus_coinst.vcxproj">
+      <Project>{4bf41378-c01b-4002-8581-563c5f703362}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\xenbus\xenbus.vcxproj">
+      <Project>{14c16c29-77c9-475b-a618-1b01e67cf985}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\xen\xen.vcxproj">
+      <Project>{9c6a5d48-a331-4b1f-a004-7bb67ba5be1c}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\xenbus_monitor\xenbus_monitor.vcxproj">
+      <Project>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</Project>
+    </ProjectReference>
+    <FilesToPackage Include="..\xenbus.inf" />
+  </ItemGroup>
+  <ItemGroup Condition="Exists('$(DPINST_REDIST)')">
+    <FilesToPackage Include="$(DPINST_REDIST)\x86\dpinst.exe" 
Condition="'$(Platform)'=='Win32'" />
+    <FilesToPackage Include="$(DPINST_REDIST)\x64\dpinst.exe" 
Condition="'$(Platform)'=='x64'" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets"></ImportGroup>
+  <ItemGroup>
+    <PackageFiles Include="$(OutDir)\$(ProjectName)\*" />
+  </ItemGroup>
+  <Target Name="Archive" AfterTargets="TestSign">
+    <Copy
+       SourceFiles="@(PackageFiles)"
+       
DestinationFiles="@(PackageFiles->'$(ArchiveDir)\%(FileName)%(Extension)')"
+    />
+  </Target>
+</Project>
diff --git a/vs2022/package/package.vcxproj.user 
b/vs2022/package/package.vcxproj.user
new file mode 100644
index 0000000..db41a92
--- /dev/null
+++ b/vs2022/package/package.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077006963%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=lNH7C4jNZfn6GKjV0JGhdqUGmGMbbjxGsZiMrLvk4d8%3D&amp;reserved=0";>
+  <PropertyGroup>
+    <SignMode>TestSign</SignMode>
+    <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+    
<TimeStampServer>https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftimestamp.verisign.com%2Fscripts%2Ftimstamp.dll&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077006963%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=ubWExtUVd%2FOhyVWmlBpDK5yJzit28k55dFVkoxZ5Ly4%3D&amp;reserved=0</TimeStampServer>
+  </PropertyGroup>
+</Project>
diff --git a/vs2022/targets.props b/vs2022/targets.props
new file mode 100644
index 0000000..64598fc
--- /dev/null
+++ b/vs2022/targets.props
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077006963%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=lNH7C4jNZfn6GKjV0JGhdqUGmGMbbjxGsZiMrLvk4d8%3D&amp;reserved=0";>
+       <PropertyGroup Label="Configuration" 
Condition="'$(Configuration)|$(Platform)'=='Windows 10 Debug|Win32'">
+               <TargetVersion>Windows10</TargetVersion>
+               <UseDebugLibraries>true</UseDebugLibraries>
+       </PropertyGroup>
+       <PropertyGroup Label="Configuration" 
Condition="'$(Configuration)|$(Platform)'=='Windows 10 Release|Win32'">
+               <TargetVersion>Windows10</TargetVersion>
+               <UseDebugLibraries>false</UseDebugLibraries>
+       </PropertyGroup>
+       <PropertyGroup Label="Configuration" 
Condition="'$(Configuration)|$(Platform)'=='Windows 10 Debug|x64'">
+               <TargetVersion>Windows10</TargetVersion>
+               <UseDebugLibraries>true</UseDebugLibraries>
+       </PropertyGroup>
+       <PropertyGroup Label="Configuration" 
Condition="'$(Configuration)|$(Platform)'=='Windows 10 Release|x64'">
+               <TargetVersion>Windows10</TargetVersion>
+               <UseDebugLibraries>false</UseDebugLibraries>
+       </PropertyGroup>
+       <PropertyGroup Label="Configuration" 
Condition="'$(Configuration)|$(Platform)'=='Windows 8 Debug|Win32'">
+               <TargetVersion>Windows8</TargetVersion>
+               <UseDebugLibraries>true</UseDebugLibraries>
+       </PropertyGroup>
+       <PropertyGroup Label="Configuration" 
Condition="'$(Configuration)|$(Platform)'=='Windows 8 Release|Win32'">
+               <TargetVersion>Windows8</TargetVersion>
+               <UseDebugLibraries>false</UseDebugLibraries>
+       </PropertyGroup>
+       <PropertyGroup Label="Configuration" 
Condition="'$(Configuration)|$(Platform)'=='Windows 8 Debug|x64'">
+               <TargetVersion>Windows8</TargetVersion>
+               <UseDebugLibraries>true</UseDebugLibraries>
+       </PropertyGroup>
+       <PropertyGroup Label="Configuration" 
Condition="'$(Configuration)|$(Platform)'=='Windows 8 Release|x64'">
+               <TargetVersion>Windows8</TargetVersion>
+               <UseDebugLibraries>false</UseDebugLibraries>
+       </PropertyGroup>
+</Project>
diff --git a/vs2022/version/version.vcxproj b/vs2022/version/version.vcxproj
new file mode 100644
index 0000000..b6ec6f3
--- /dev/null
+++ b/vs2022/version/version.vcxproj
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077006963%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=lNH7C4jNZfn6GKjV0JGhdqUGmGMbbjxGsZiMrLvk4d8%3D&amp;reserved=0";>
+  <Import Project="..\configs.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{65FA97EA-A569-4FC1-BFE7-D68E109143F7}</ProjectGuid>
+  </PropertyGroup>
+  <PropertyGroup>
+    <Script>..\..\scripts\genfiles.ps1</Script>
+    <SolutionDir>..</SolutionDir>
+    <IncludeDir>..\..\include</IncludeDir>
+    <SourceDir>..\..\src</SourceDir>
+  </PropertyGroup>
+  <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/vs2022/xen/xen.vcxproj b/vs2022/xen/xen.vcxproj
new file mode 100644
index 0000000..f0e1b98
--- /dev/null
+++ b/vs2022/xen/xen.vcxproj
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077006963%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=lNH7C4jNZfn6GKjV0JGhdqUGmGMbbjxGsZiMrLvk4d8%3D&amp;reserved=0";>
+  <Import Project="..\configs.props" />
+  <PropertyGroup Label="PropertySheets">
+    <DriverType>WDM</DriverType>
+    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
+    <ConfigurationType>Driver</ConfigurationType>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="..\targets.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <EnableInf2cat>false</EnableInf2cat>
+    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalOptions>/ZH:SHA_256 %(AdditionalOptions)</AdditionalOptions>
+      
<AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;..\..\src\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<PreprocessorDefinitions>PROJECT=$(ProjectName);POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      
<DisableSpecificWarnings>4061;4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <ResourceCompile>
+      
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+      
<AdditionalDependencies>$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/aux_klib.lib;$(DDK_LIB_PATH)/procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <ModuleDefinitionFile>../../src/xen/xen.def</ModuleDefinitionFile>
+      <CETCompat>true</CETCompat>
+    </Link>
+    <DriverSign>
+      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
+    </DriverSign>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions);_X86_</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions);_AMD64_</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Windows 8 Release'">
+    <ClCompile>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <WholeProgramOptimization>true</WholeProgramOptimization>
+      <AdditionalOptions>/Qspectre %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <FilesToPackage Include="$(TargetPath)" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\src\common\registry.c" />
+    <ClCompile Include="..\..\src\xen\driver.c" />
+    <ClCompile Include="..\..\src\xen\event_channel.c" />
+    <ClCompile Include="..\..\src\xen\grant_table.c" />
+    <ClCompile Include="..\..\src\xen\hvm.c" />
+    <ClCompile Include="..\..\src\xen\xen_version.c" />
+    <ClCompile Include="..\..\src\xen\hypercall.c" />
+    <ClCompile Include="..\..\src\xen\memory.c" />
+    <ClCompile Include="..\..\src\xen\sched.c" />
+    <ClCompile Include="..\..\src\xen\log.c" />
+    <ClCompile Include="..\..\src\xen\bug_check.c" />
+    <ClCompile Include="..\..\src\xen\module.c" />
+    <ClCompile Include="..\..\src\xen\process.c" />
+    <ClCompile Include="..\..\src\xen\acpi.c" />
+    <ClCompile Include="..\..\src\xen\system.c" />
+    <ClCompile Include="..\..\src\xen\unplug.c" />
+    <ClCompile Include="..\..\src\xen\vcpu.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <MASM Include="..\..\src\xen\amd64\hypercall_thunk.asm">
+      <ExcludedFromBuild 
Condition="'$(Platform)'=='Win32'">true</ExcludedFromBuild>
+    </MASM>
+    <MASM Include="..\..\src\xen\i386\hypercall_thunk.asm">
+      <ExcludedFromBuild 
Condition="'$(Platform)'=='x64'">true</ExcludedFromBuild>
+    </MASM>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\xen\xen.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\src\xen\xen.def" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2022/xen/xen.vcxproj.user b/vs2022/xen/xen.vcxproj.user
new file mode 100644
index 0000000..db41a92
--- /dev/null
+++ b/vs2022/xen/xen.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077006963%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=lNH7C4jNZfn6GKjV0JGhdqUGmGMbbjxGsZiMrLvk4d8%3D&amp;reserved=0";>
+  <PropertyGroup>
+    <SignMode>TestSign</SignMode>
+    <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+    
<TimeStampServer>https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftimestamp.verisign.com%2Fscripts%2Ftimstamp.dll&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=8%2F1%2B8qxJXseE158n1Hw9Q1bo14agIrPEA3NyqipE7sU%3D&amp;reserved=0</TimeStampServer>
+  </PropertyGroup>
+</Project>
diff --git a/vs2022/xenbus.sln b/vs2022/xenbus.sln
new file mode 100644
index 0000000..4ced8db
--- /dev/null
+++ b/vs2022/xenbus.sln
@@ -0,0 +1,175 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 16
+VisualStudioVersion = 16.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "version", 
"version\version.vcxproj", "{65FA97EA-A569-4FC1-BFE7-D68E109143F7}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_coinst", 
"xenbus_coinst\xenbus_coinst.vcxproj", "{4BF41378-C01B-4002-8581-563C5F703362}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_monitor", 
"xenbus_monitor\xenbus_monitor.vcxproj", 
"{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xen", "xen\xen.vcxproj", 
"{9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenfilt", 
"xenfilt\xenfilt.vcxproj", "{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = 
{9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus", 
"xenbus\xenbus.vcxproj", "{14C16C29-77C9-475B-A618-1B01E67CF985}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = 
{9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", 
"package\package.vcxproj", "{92E5A46B-913C-45C6-B6F8-7E062D85279F}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+               {14C16C29-77C9-475B-A618-1B01E67CF985} = 
{14C16C29-77C9-475B-A618-1B01E67CF985}
+               {4BF41378-C01B-4002-8581-563C5F703362} = 
{4BF41378-C01B-4002-8581-563C5F703362}
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C} = 
{9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} = 
{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} = 
{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}
+       EndProjectSection
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Windows 10 Debug|Win32 = Windows 10 Debug|Win32
+               Windows 10 Debug|x64 = Windows 10 Debug|x64
+               Windows 10 Release|Win32 = Windows 10 Release|Win32
+               Windows 10 Release|x64 = Windows 10 Release|x64
+               Windows 8 Debug|Win32 = Windows 8 Debug|Win32
+               Windows 8 Debug|x64 = Windows 8 Debug|x64
+               Windows 8 Release|Win32 = Windows 8 Release|Win32
+               Windows 8 Release|x64 = Windows 8 Release|x64
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
+               {4BF41378-C01B-4002-8581-563C5F703362}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
+               {9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
+               {14C16C29-77C9-475B-A618-1B01E67CF985}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
+               {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+       GlobalSection(ExtensibilityGlobals) = postSolution
+               SolutionGuid = {B401BB41-D030-43B6-B5FD-9ADFE9A6648E}
+       EndGlobalSection
+EndGlobal
diff --git a/vs2022/xenbus/xenbus.vcxproj b/vs2022/xenbus/xenbus.vcxproj
new file mode 100644
index 0000000..d7b94bd
--- /dev/null
+++ b/vs2022/xenbus/xenbus.vcxproj
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=aftH5O9C6hVK4jjcA5op3p298Q1UL6yqrMH1UVxnENY%3D&amp;reserved=0";>
+  <Import Project="..\configs.props" />
+  <PropertyGroup Label="PropertySheets">
+    <DriverType>WDM</DriverType>
+    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
+    <ConfigurationType>Driver</ConfigurationType>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{14C16C29-77C9-475B-A618-1B01E67CF985}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="..\targets.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <EnableInf2cat>false</EnableInf2cat>
+    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalOptions>/ZH:SHA_256 %(AdditionalOptions)</AdditionalOptions>
+      
<PreprocessorDefinitions>PROJECT=$(ProjectName);POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      
<AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;..\..\src\common;</AdditionalIncludeDirectories>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      
<DisableSpecificWarnings>4061;4146;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <ResourceCompile>
+      
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      
<AdditionalDependencies>$(ProjectDir)..\$(ConfigurationName)\$(Platform)\xen.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/procgrp.lib;$(DDK_LIB_PATH)/rtlver.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
+    </Link>
+    <DriverSign>
+      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
+    </DriverSign>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions);_X86_</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions);_AMD64_</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Windows 8 Release'">
+    <ClCompile>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <WholeProgramOptimization>true</WholeProgramOptimization>
+      <AdditionalOptions>/Qspectre %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <FilesToPackage Include="$(TargetPath)" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\src\common\registry.c" />
+    <ClCompile Include="..\..\src\xenbus\bus.c" />
+    <ClCompile Include="..\..\src\xenbus\console.c" />
+    <ClCompile Include="..\..\src\xenbus\dma.c" />
+    <ClCompile Include="..\..\src\xenbus\debug.c" />
+    <ClCompile Include="..\..\src\xenbus\driver.c" />
+    <ClCompile Include="..\..\src\xenbus\evtchn.c" />
+    <ClCompile Include="..\..\src\xenbus\evtchn_2l.c" />
+    <ClCompile Include="..\..\src\xenbus\evtchn_fifo.c" />
+    <ClCompile Include="..\..\src\xenbus\fdo.c" />
+    <ClCompile Include="..\..\src\xenbus\filters.c" />
+    <ClCompile Include="..\..\src\xenbus\gnttab.c" />
+    <ClCompile Include="..\..\src\xenbus\pdo.c" />
+    <ClCompile Include="..\..\src\xenbus\shared_info.c" />
+    <ClCompile Include="..\..\src\xenbus\store.c" />
+    <ClCompile Include="..\..\src\xenbus\suspend.c" />
+    <ClCompile Include="..\..\src\xenbus\sync.c" />
+    <ClCompile Include="..\..\src\xenbus\thread.c" />
+    <ClCompile Include="..\..\src\xenbus\range_set.c" />
+    <ClCompile Include="..\..\src\xenbus\balloon.c" />
+    <ClCompile Include="..\..\src\xenbus\cache.c" />
+    <ClCompile Include="..\..\src\xenbus\hash_table.c" />
+    <ClCompile Include="..\..\src\xenbus\unplug.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\xenbus\xenbus.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2022/xenbus/xenbus.vcxproj.user 
b/vs2022/xenbus/xenbus.vcxproj.user
new file mode 100644
index 0000000..db41a92
--- /dev/null
+++ b/vs2022/xenbus/xenbus.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=aftH5O9C6hVK4jjcA5op3p298Q1UL6yqrMH1UVxnENY%3D&amp;reserved=0";>
+  <PropertyGroup>
+    <SignMode>TestSign</SignMode>
+    <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+    
<TimeStampServer>https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftimestamp.verisign.com%2Fscripts%2Ftimstamp.dll&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=8%2F1%2B8qxJXseE158n1Hw9Q1bo14agIrPEA3NyqipE7sU%3D&amp;reserved=0</TimeStampServer>
+  </PropertyGroup>
+</Project>
diff --git a/vs2022/xenbus_coinst/xenbus_coinst.vcxproj 
b/vs2022/xenbus_coinst/xenbus_coinst.vcxproj
new file mode 100644
index 0000000..b37e1a5
--- /dev/null
+++ b/vs2022/xenbus_coinst/xenbus_coinst.vcxproj
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=aftH5O9C6hVK4jjcA5op3p298Q1UL6yqrMH1UVxnENY%3D&amp;reserved=0";>
+  <Import Project="..\configs.props" />
+  <PropertyGroup Label="PropertySheets">
+    <DriverType>WDM</DriverType>
+    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{4BF41378-C01B-4002-8581-563C5F703362}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="..\targets.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalOptions>/ZH:SHA_256 %(AdditionalOptions)</AdditionalOptions>
+      <SDLCheck>true</SDLCheck>
+      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      
<DisableSpecificWarnings>4127;4711;4548;4820;4668;4255;5045;6001;6054;26052;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <EnablePREfast>true</EnablePREfast>
+      <RuntimeLibrary 
Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
+      <RuntimeLibrary 
Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      
<ModuleDefinitionFile>../../src/coinst/xenbus_coinst.def</ModuleDefinitionFile>
+      
<AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <EnableCOMDATFolding>false</EnableCOMDATFolding>
+      <CETCompat>true</CETCompat>
+    </Link>
+    <ResourceCompile>
+      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <DriverSign>
+      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
+    </DriverSign>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <FilesToPackage Include="$(TargetPath)" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+    <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" 
/>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\src\coinst\coinst.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\src\coinst\xenbus_coinst.def" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2022/xenbus_coinst/xenbus_coinst.vcxproj.user 
b/vs2022/xenbus_coinst/xenbus_coinst.vcxproj.user
new file mode 100644
index 0000000..db41a92
--- /dev/null
+++ b/vs2022/xenbus_coinst/xenbus_coinst.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=aftH5O9C6hVK4jjcA5op3p298Q1UL6yqrMH1UVxnENY%3D&amp;reserved=0";>
+  <PropertyGroup>
+    <SignMode>TestSign</SignMode>
+    <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+    
<TimeStampServer>https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftimestamp.verisign.com%2Fscripts%2Ftimstamp.dll&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=8%2F1%2B8qxJXseE158n1Hw9Q1bo14agIrPEA3NyqipE7sU%3D&amp;reserved=0</TimeStampServer>
+  </PropertyGroup>
+</Project>
diff --git a/vs2022/xenbus_monitor/xenbus_monitor.vcxproj 
b/vs2022/xenbus_monitor/xenbus_monitor.vcxproj
new file mode 100644
index 0000000..54272ec
--- /dev/null
+++ b/vs2022/xenbus_monitor/xenbus_monitor.vcxproj
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=aftH5O9C6hVK4jjcA5op3p298Q1UL6yqrMH1UVxnENY%3D&amp;reserved=0";>
+  <Import Project="..\configs.props" />
+  <PropertyGroup Label="PropertySheets">
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
+    <ConfigurationType>Application</ConfigurationType>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="..\targets.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <IncludePath>$(IncludePath)</IncludePath>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
+  </PropertyGroup>
+  <PropertyGroup>
+    <CustomBuildAfterTargets>Link</CustomBuildAfterTargets>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalOptions>/ZH:SHA_256 %(AdditionalOptions)</AdditionalOptions>
+      <SDLCheck>true</SDLCheck>
+      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<PreprocessorDefinitions>PROJECT=$(ProjectName);WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      
<DisableSpecificWarnings>4127;4711;4548;4820;4668;4255;5045;6001;6054;26052;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <EnablePREfast>true</EnablePREfast>
+      <RuntimeLibrary 
Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
+      <RuntimeLibrary 
Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      
<AdditionalDependencies>wtsapi32.lib;cfgmgr32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <CETCompat>true</CETCompat>
+    </Link>
+    <ResourceCompile>
+      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <DriverSign>
+      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
+    </DriverSign>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <CustomBuildStep>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x86 -dll -noentry -out:%(Outputs) 
%(Inputs)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <CustomBuildStep>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x64 -dll -noentry -out:%(Outputs) 
%(Inputs)</Command>
+    </CustomBuildStep>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <FilesToPackage Include="$(TargetPath)" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).dll" />
+    <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" 
/>
+  </ItemGroup>
+  <ItemGroup>
+    <MessageCompile Include="..\..\src\monitor\messages.mc" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\src\monitor\monitor.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\monitor\xenbus_monitor.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2022/xenbus_monitor/xenbus_monitor.vcxproj.user 
b/vs2022/xenbus_monitor/xenbus_monitor.vcxproj.user
new file mode 100644
index 0000000..db41a92
--- /dev/null
+++ b/vs2022/xenbus_monitor/xenbus_monitor.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=aftH5O9C6hVK4jjcA5op3p298Q1UL6yqrMH1UVxnENY%3D&amp;reserved=0";>
+  <PropertyGroup>
+    <SignMode>TestSign</SignMode>
+    <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+    
<TimeStampServer>https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftimestamp.verisign.com%2Fscripts%2Ftimstamp.dll&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=8%2F1%2B8qxJXseE158n1Hw9Q1bo14agIrPEA3NyqipE7sU%3D&amp;reserved=0</TimeStampServer>
+  </PropertyGroup>
+</Project>
diff --git a/vs2022/xenfilt/xenfilt.vcxproj b/vs2022/xenfilt/xenfilt.vcxproj
new file mode 100644
index 0000000..270d2e4
--- /dev/null
+++ b/vs2022/xenfilt/xenfilt.vcxproj
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=aftH5O9C6hVK4jjcA5op3p298Q1UL6yqrMH1UVxnENY%3D&amp;reserved=0";>
+  <Import Project="..\configs.props" />
+  <PropertyGroup Label="PropertySheets">
+    <DriverType>WDM</DriverType>
+    <PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
+    <ConfigurationType>Driver</ConfigurationType>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="..\targets.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <EnableInf2cat>false</EnableInf2cat>
+    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalOptions>/ZH:SHA_256 %(AdditionalOptions)</AdditionalOptions>
+      
<PreprocessorDefinitions>PROJECT=$(ProjectName);POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      
<AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;..\..\src\common;</AdditionalIncludeDirectories>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      
<DisableSpecificWarnings>4061;4464;4711;4770;4548;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <ResourceCompile>
+      
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      
<AdditionalDependencies>$(ProjectDir)..\$(ConfigurationName)\$(Platform)\xen.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <CETCompat>true</CETCompat>
+    </Link>
+    <DriverSign>
+      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
+    </DriverSign>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions);_X86_</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+    <ClCompile>
+      
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions);_AMD64_</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)'=='Windows 8 Release'">
+    <ClCompile>
+      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+      <WholeProgramOptimization>true</WholeProgramOptimization>
+      <AdditionalOptions>/Qspectre %(AdditionalOptions)</AdditionalOptions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <FilesToPackage Include="$(TargetPath)" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="../../src/common/registry.c" />
+    <ClCompile Include="../../src/xenfilt/driver.c" />
+    <ClCompile Include="../../src/xenfilt/emulated.c" />
+    <ClCompile Include="../../src/xenfilt/fdo.c" />
+    <ClCompile Include="../../src/xenfilt/pdo.c" />
+    <ClCompile Include="../../src/xenfilt/thread.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\xenfilt\xenfilt.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2022/xenfilt/xenfilt.vcxproj.user 
b/vs2022/xenfilt/xenfilt.vcxproj.user
new file mode 100644
index 0000000..db41a92
--- /dev/null
+++ b/vs2022/xenfilt/xenfilt.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" 
xmlns="https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschemas.microsoft.com%2Fdeveloper%2Fmsbuild%2F2003&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=aftH5O9C6hVK4jjcA5op3p298Q1UL6yqrMH1UVxnENY%3D&amp;reserved=0";>
+  <PropertyGroup>
+    <SignMode>TestSign</SignMode>
+    <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+    
<TimeStampServer>https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftimestamp.verisign.com%2Fscripts%2Ftimstamp.dll&amp;data=05%7C01%7Cowen.smith%40citrix.com%7C3a046e74090e47470c8508daac3b8e3a%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638011669077163205%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=8%2F1%2B8qxJXseE158n1Hw9Q1bo14agIrPEA3NyqipE7sU%3D&amp;reserved=0</TimeStampServer>
+  </PropertyGroup>
+</Project>
-- 
2.32.0.windows.1




 


Rackspace

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