]> xenbits.xensource.com Git - pvdrivers/win/xenvbd.git/commitdiff
Add support for EWDK_19h1_release_svc_prod3_18362_190416-1111
authorPaul Durrant <paul.durrant@citrix.com>
Thu, 19 Sep 2019 09:56:59 +0000 (10:56 +0100)
committerPaul Durrant <paul.durrant@citrix.com>
Thu, 19 Sep 2019 09:56:59 +0000 (10:56 +0100)
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
17 files changed:
BUILD.md
build.ps1
msbuild.ps1
vs2019/configs.props [new file with mode: 0644]
vs2019/package/package.vcxproj [new file with mode: 0644]
vs2019/package/package.vcxproj.user [new file with mode: 0644]
vs2019/targets.props [new file with mode: 0644]
vs2019/version/version.vcxproj [new file with mode: 0644]
vs2019/xencrsh/xencrsh.vcxproj [new file with mode: 0644]
vs2019/xencrsh/xencrsh.vcxproj.user [new file with mode: 0644]
vs2019/xendisk/xendisk.vcxproj [new file with mode: 0644]
vs2019/xendisk/xendisk.vcxproj.user [new file with mode: 0644]
vs2019/xenvbd.sln [new file with mode: 0644]
vs2019/xenvbd/xenvbd.vcxproj [new file with mode: 0644]
vs2019/xenvbd/xenvbd.vcxproj.user [new file with mode: 0644]
vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj [new file with mode: 0644]
vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj.user [new file with mode: 0644]

index 6f57892c68a4342c97b647d53eb8585d4e444f69..2940bafa24586353ee3c846d0c151a64f9d750e1 100644 (file)
--- a/BUILD.md
+++ b/BUILD.md
@@ -7,6 +7,7 @@ ISO containing all the build environment you need.
 
 The package should support building with the following EWDKs:
 
+- EWDK for Windows 10, version 1903 with Visual Studio Build Tools 16.0
 - EWDK for Windows 10, version 1809 with Visual Studio Build Tools 15.8.9
 
 Once you have downloaded the ISO, open it and you should see a file called:
index f154aeeba7a4d5ce405854f85d8a21234caf32b4..1feb382b9e2002f4c0a43cf858de7267adb8031b 100644 (file)
--- a/build.ps1
+++ b/build.ps1
@@ -19,8 +19,8 @@ Function Build {
        )
 
        $visualstudioversion = $Env:VisualStudioVersion
-       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; }
-       $configurationbase = @{ "14.0" = "Windows 8"; "15.0" = "Windows 8"; }
+       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; "16.0" = "vs2019"; }
+       $configurationbase = @{ "14.0" = "Windows 8"; "15.0" = "Windows 8"; "16.0" = "Windows 8"; }
 
        $params = @{
                SolutionDir = $solutiondir[$visualstudioversion];
@@ -33,8 +33,8 @@ Function Build {
 
 Function SdvBuild {
        $visualstudioversion = $Env:VisualStudioVersion
-       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; }
-       $configurationbase = @{ "14.0" = "Windows 10"; "15.0" = "Windows 10"; }
+       $solutiondir = @{ "14.0" = "vs2015"; "15.0" = "vs2017"; "16.0" = "vs2019"; }
+       $configurationbase = @{ "14.0" = "Windows 10"; "15.0" = "Windows 10"; "16.0" = "Windows 10"; }
        $arch = "x64"
 
        $params = @{
index 5bd93f93070a2cb30494c35bea2998eb303b13f0..493033e9cb4d89a747d6dd5253e43c5d90771619 100644 (file)
@@ -2,7 +2,7 @@
 # Wrapper script for MSBuild
 #
 param(
-       [string]$SolutionDir = "vs2017",
+       [string]$SolutionDir = "vs2019",
        [string]$ConfigurationBase = "Windows 10",
        [Parameter(Mandatory = $true)]
        [string]$Arch,
diff --git a/vs2019/configs.props b/vs2019/configs.props
new file mode 100644 (file)
index 0000000..cdbb3c8
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+       <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/vs2019/package/package.vcxproj b/vs2019/package/package.vcxproj
new file mode 100644 (file)
index 0000000..51c57a1
--- /dev/null
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <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>{AB8DAED3-9D70-4907-99A3-C643F1FC1972}</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</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>
+    <VerifyFlags>133563</VerifyFlags>
+    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Platform)'=='Win32'">
+    <ArchiveDir>..\..\$(SolutionName)\x86</ArchiveDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Platform)'=='x64'">
+    <ArchiveDir>..\..\$(SolutionName)\x64</ArchiveDir>
+  </PropertyGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\xenvbd_coinst\xenvbd_coinst.vcxproj">
+      <Project>{50c08437-c1f3-4349-bf6a-7b55a06bf999}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\xencrsh\xencrsh.vcxproj">
+      <Project>{58f5bc43-b92e-4a2b-975d-0066eab29092}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\xenvbd\xenvbd.vcxproj">
+      <Project>{ef236371-3145-41b1-99c9-82b33e353f17}</Project>
+    </ProjectReference>
+    <ProjectReference Include="..\xendisk\xendisk.vcxproj">
+      <Project>{d7411b2c-2c43-434d-9f56-e10a3d2f5bad}</Project>
+    </ProjectReference>
+    <FilesToPackage Include="..\xenvbd.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/vs2019/package/package.vcxproj.user b/vs2019/package/package.vcxproj.user
new file mode 100644 (file)
index 0000000..b017ec2
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+       <PropertyGroup>
+               <SignMode>TestSign</SignMode>
+               <TestCertificate>..\..\src\xenvbd.pfx</TestCertificate>
+               <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+       </PropertyGroup>
+</Project>
diff --git a/vs2019/targets.props b/vs2019/targets.props
new file mode 100644 (file)
index 0000000..d045434
--- /dev/null
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+       <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/vs2019/version/version.vcxproj b/vs2019/version/version.vcxproj
new file mode 100644 (file)
index 0000000..9d149d0
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <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>
+</Project>
diff --git a/vs2019/xencrsh/xencrsh.vcxproj b/vs2019/xencrsh/xencrsh.vcxproj
new file mode 100644 (file)
index 0000000..6db3e1f
--- /dev/null
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <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>{58F5BC43-B92E-4A2B-975D-0066EAB29092}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="..\targets.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
+    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\src\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>PROJECT=$(ProjectName);POOL_NX_OPTIN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      <DisableSpecificWarnings>4464;4548;4770;4711;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <EnablePREfast>true</EnablePREfast>
+    </ClCompile>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>..\..\include;..\..\src\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+      <ModuleDefinitionFile>../../src/xencrsh/xencrsh.def</ModuleDefinitionFile>
+      <AdditionalDependencies>$(DDK_LIB_PATH)/storport.lib;$(DDK_LIB_PATH)/libcntpr.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</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\xencrsh\austere.c" />
+    <ClCompile Include="..\..\src\xencrsh\buffer.c" />
+    <ClCompile Include="..\..\src\xencrsh\driver.c" />
+    <ClCompile Include="..\..\src\xencrsh\evtchn.c" />
+    <ClCompile Include="..\..\src\xencrsh\fdo.c" />
+    <ClCompile Include="..\..\src\xencrsh\frontend.c" />
+    <ClCompile Include="..\..\src\xencrsh\gnttab.c" />
+    <ClCompile Include="..\..\src\xencrsh\hvm.c" />
+    <ClCompile Include="..\..\src\xencrsh\hypercall_stub.c" />
+    <ClCompile Include="..\..\src\xencrsh\log.c" />
+    <ClCompile Include="..\..\src\xencrsh\pdo.c" />
+    <ClCompile Include="..\..\src\xencrsh\pdoinquiry.c" />
+    <ClCompile Include="..\..\src\xencrsh\queue.c" />
+    <ClCompile Include="..\..\src\xencrsh\store.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <MASM Include="..\..\src\xencrsh\amd64\hypercall.asm">
+      <ExcludedFromBuild Condition="'$(Platform)'=='Win32'">true</ExcludedFromBuild>
+    </MASM>
+    <MASM Include="..\..\src\xencrsh\i386\hypercall.asm">
+      <ExcludedFromBuild Condition="'$(Platform)'=='x64'">true</ExcludedFromBuild>
+    </MASM>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\xencrsh\xencrsh.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\src\xencrsh\xencrsh.def" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2019/xencrsh/xencrsh.vcxproj.user b/vs2019/xencrsh/xencrsh.vcxproj.user
new file mode 100644 (file)
index 0000000..b017ec2
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+       <PropertyGroup>
+               <SignMode>TestSign</SignMode>
+               <TestCertificate>..\..\src\xenvbd.pfx</TestCertificate>
+               <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+       </PropertyGroup>
+</Project>
diff --git a/vs2019/xendisk/xendisk.vcxproj b/vs2019/xendisk/xendisk.vcxproj
new file mode 100644 (file)
index 0000000..c49a119
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <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>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
+    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\..\include;..\..\src\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PreprocessorDefinitions>PROJECT=$(ProjectName);POOL_NX_OPTIN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      <DisableSpecificWarnings>4464;4548;4770;4711;4820;4668;4255;5045;6001;6054;26451;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <EnablePREfast>true</EnablePREfast>
+    </ClCompile>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>..\..\include;..\..\src\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+      <AdditionalDependencies>$(DDK_LIB_PATH)/libcntpr.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</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/xendisk/driver.c" />
+    <ClCompile Include="../../src/xendisk/fdo.c" />
+    <ClCompile Include="../../src/xendisk/pdo.c" />
+    <ClCompile Include="../../src/xendisk/registry.c" />
+    <ClCompile Include="../../src/xendisk/thread.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\xendisk\xendisk.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2019/xendisk/xendisk.vcxproj.user b/vs2019/xendisk/xendisk.vcxproj.user
new file mode 100644 (file)
index 0000000..e1315db
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <SignMode>TestSign</SignMode>
+    <TestCertificate>..\..\src\xenvbd.pfx</TestCertificate>
+    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+  </PropertyGroup>
+</Project>
diff --git a/vs2019/xenvbd.sln b/vs2019/xenvbd.sln
new file mode 100644 (file)
index 0000000..acc17fc
--- /dev/null
@@ -0,0 +1,157 @@
+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}") = "xenvbd", "xenvbd\xenvbd.vcxproj", "{EF236371-3145-41B1-99C9-82B33E353F17}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092} = {58F5BC43-B92E-4A2B-975D-0066EAB29092}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xencrsh", "xencrsh\xencrsh.vcxproj", "{58F5BC43-B92E-4A2B-975D-0066EAB29092}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xendisk", "xendisk\xendisk.vcxproj", "{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvbd_coinst", "xenvbd_coinst\xenvbd_coinst.vcxproj", "{50C08437-C1F3-4349-BF6A-7B55A06BF999}"
+       ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+       EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{AB8DAED3-9D70-4907-99A3-C643F1FC1972}"
+    ProjectSection(ProjectDependencies) = postProject
+               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = {65FA97EA-A569-4FC1-BFE7-D68E109143F7}
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999} = {50C08437-C1F3-4349-BF6A-7B55A06BF999}
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092} = {58F5BC43-B92E-4A2B-975D-0066EAB29092}
+               {EF236371-3145-41B1-99C9-82B33E353F17} = {EF236371-3145-41B1-99C9-82B33E353F17}
+               {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} = {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}
+       EndProjectSection
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               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
+               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
+       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
+               {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
+               {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
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
+               {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
+               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Debug|x64.Deploy.0 = Windows 8 Debug|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Release|Win32.Deploy.0 = Windows 8 Release|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 Release|x64.Deploy.0 = Windows 8 Release|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Debug|Win32.Deploy.0 = Windows 10 Debug|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Debug|x64.Deploy.0 = Windows 10 Debug|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Release|Win32.Deploy.0 = Windows 10 Release|Win32
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
+               {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 10 Release|x64.Deploy.0 = Windows 10 Release|x64
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 8 Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 8 Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 8 Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 8 Debug|x64.Build.0 = Windows 8 Debug|x64
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 8 Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 8 Release|Win32.Build.0 = Windows 8 Release|Win32
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 8 Release|x64.ActiveCfg = Windows 8 Release|x64
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 8 Release|x64.Build.0 = Windows 8 Release|x64
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 10 Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 10 Debug|Win32.Build.0 = Windows 10 Debug|Win32
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 10 Debug|x64.ActiveCfg = Windows 10 Debug|x64
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 10 Debug|x64.Build.0 = Windows 10 Debug|x64
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 10 Release|Win32.ActiveCfg = Windows 10 Release|Win32
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 10 Release|Win32.Build.0 = Windows 10 Release|Win32
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 10 Release|x64.ActiveCfg = Windows 10 Release|x64
+               {58F5BC43-B92E-4A2B-975D-0066EAB29092}.Windows 10 Release|x64.Build.0 = Windows 10 Release|x64
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+EndGlobal
diff --git a/vs2019/xenvbd/xenvbd.vcxproj b/vs2019/xenvbd/xenvbd.vcxproj
new file mode 100644 (file)
index 0000000..7e25d60
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <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>{EF236371-3145-41B1-99C9-82B33E353F17}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="..\targets.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
+    <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+    <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\src\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>PROJECT=$(ProjectName);POOL_NX_OPTIN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      <DisableSpecificWarnings>4464;4548;4770;4711;4820;4668;4255;5045;6001;6054;26451;28160;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <EnablePREfast>true</EnablePREfast>
+    </ClCompile>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>..\..\include;..\..\src\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+      <AdditionalDependencies>$(ProjectDir)..\$(ConfigurationName)\$(Platform)\xencrsh.lib;$(DDK_LIB_PATH)/storport.lib;$(DDK_LIB_PATH)/libcntpr.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+    <ClCompile>
+      <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</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/xenvbd/driver.c" />
+    <ClCompile Include="../../src/xenvbd/registry.c" />
+    <ClCompile Include="../../src/xenvbd/adapter.c" />
+    <ClCompile Include="../../src/xenvbd/frontend.c" />
+    <ClCompile Include="../../src/xenvbd/target.c" />
+    <ClCompile Include="../../src/xenvbd/base64.c" />
+    <ClCompile Include="../../src/xenvbd/thread.c" />
+    <ClCompile Include="../../src/xenvbd/ring.c" />
+    <ClCompile Include="../../src/xenvbd/granter.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\xenvbd\xenvbd.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2019/xenvbd/xenvbd.vcxproj.user b/vs2019/xenvbd/xenvbd.vcxproj.user
new file mode 100644 (file)
index 0000000..e1315db
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <SignMode>TestSign</SignMode>
+    <TestCertificate>..\..\src\xenvbd.pfx</TestCertificate>
+    <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+  </PropertyGroup>
+</Project>
diff --git a/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj b/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj
new file mode 100644 (file)
index 0000000..d822314
--- /dev/null
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <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>{50C08437-C1F3-4349-BF6A-7B55A06BF999}</ProjectGuid>
+  </PropertyGroup>
+  <Import Project="..\targets.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <WarningLevel>EnableAllWarnings</WarningLevel>
+      <DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;6001;6054;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/xenvbd_coinst.def</ModuleDefinitionFile>
+      <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+  </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" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\src\coinst\coinst.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\..\src\coinst\xenvbd_coinst.def" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj.user b/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj.user
new file mode 100644 (file)
index 0000000..b017ec2
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+       <PropertyGroup>
+               <SignMode>TestSign</SignMode>
+               <TestCertificate>..\..\src\xenvbd.pfx</TestCertificate>
+               <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+       </PropertyGroup>
+</Project>