|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH] Add support for building under VS2015/WDK10
Moving to the new toolchain also threw up a few new warnings, which this
patch either fixes or squashes. Also, SDV appears to be fragile in new
ways (and whinge about some new things) so there are fixes for that too.
Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
---
build.py | 78 +++--------
src/common/util.h | 2 +
src/monitor/monitor.c | 44 +++---
src/xen/hypercall.c | 2 +-
src/xen/module.c | 1 +
src/xen/system.c | 1 +
src/xenbus.inf | 4 +-
src/xenbus/balloon.c | 12 +-
src/xenbus/fdo.c | 8 ++
src/xenbus/thread.c | 1 +
src/xenbus/thread.h | 1 +
src/xenbus/unplug.c | 1 +
src/xenfilt/pdo.c | 2 +-
src/xenfilt/thread.c | 1 +
src/xenfilt/thread.h | 1 +
vs2015/configs.props | 45 ++++++
vs2015/package/package.vcxproj | 59 ++++++++
vs2015/package/package.vcxproj.user | 8 ++
vs2015/targets.props | 35 +++++
vs2015/xen/xen.vcxproj | 100 ++++++++++++++
vs2015/xen/xen.vcxproj.user | 8 ++
vs2015/xenbus.sln | 158 ++++++++++++++++++++++
vs2015/xenbus/xenbus.vcxproj | 97 +++++++++++++
vs2015/xenbus/xenbus.vcxproj.user | 8 ++
vs2015/xenbus_coinst/xenbus_coinst.vcxproj | 61 +++++++++
vs2015/xenbus_coinst/xenbus_coinst.vcxproj.user | 8 ++
vs2015/xenbus_monitor/xenbus_monitor.vcxproj | 77 +++++++++++
vs2015/xenbus_monitor/xenbus_monitor.vcxproj.user | 8 ++
vs2015/xenfilt/xenfilt.vcxproj | 78 +++++++++++
vs2015/xenfilt/xenfilt.vcxproj.user | 8 ++
30 files changed, 828 insertions(+), 89 deletions(-)
create mode 100644 vs2015/configs.props
create mode 100644 vs2015/package/package.vcxproj
create mode 100644 vs2015/package/package.vcxproj.user
create mode 100644 vs2015/targets.props
create mode 100644 vs2015/xen/xen.vcxproj
create mode 100644 vs2015/xen/xen.vcxproj.user
create mode 100644 vs2015/xenbus.sln
create mode 100644 vs2015/xenbus/xenbus.vcxproj
create mode 100644 vs2015/xenbus/xenbus.vcxproj.user
create mode 100644 vs2015/xenbus_coinst/xenbus_coinst.vcxproj
create mode 100644 vs2015/xenbus_coinst/xenbus_coinst.vcxproj.user
create mode 100644 vs2015/xenbus_monitor/xenbus_monitor.vcxproj
create mode 100644 vs2015/xenbus_monitor/xenbus_monitor.vcxproj.user
create mode 100644 vs2015/xenfilt/xenfilt.vcxproj
create mode 100644 vs2015/xenfilt/xenfilt.vcxproj.user
diff --git a/build.py b/build.py
index b0f65cb..078ee6c 100755
--- a/build.py
+++ b/build.py
@@ -223,61 +223,19 @@ def remove_timestamps(path):
dst.close()
src.close()
-def sdv_clean(name, vs):
- path = [vs, name, 'sdv']
- print(path)
-
- shutil.rmtree(os.path.join(*path), True)
-
- path = [vs, name, 'sdv.temp']
- print(path)
-
- shutil.rmtree(os.path.join(*path), True)
-
- path = [vs, name, 'staticdv.job']
- print(path)
-
- try:
- os.unlink(os.path.join(*path))
- except OSError:
- pass
-
- path = [vs, name, 'refine.sdv']
- print(path)
-
- try:
- os.unlink(os.path.join(*path))
- except OSError:
- pass
-
- path = [vs, name, 'sdv-map.h']
- print(path)
-
- try:
- os.unlink(os.path.join(*path))
- except OSError:
- pass
-
-
def run_sdv(name, dir, vs):
- configuration = get_configuration('Windows 8', False)
+ release = { 'vs2012':'Windows 8',
+ 'vs2013':'Windows 8',
+ 'vs2015':'Windows 10' }
+
+ configuration = get_configuration(release[vs], False)
platform = 'x64'
msbuild(platform, configuration, 'Build', name + '.vcxproj',
'', os.path.join(vs, name))
- sdv_clean(name, vs)
-
msbuild(platform, configuration, 'sdv', name + '.vcxproj',
- '/p:Inputs="/scan"', os.path.join(vs, name))
-
- path = [vs, name, 'sdv-map.h']
- file = open(os.path.join(*path), 'r')
-
- for line in file:
- print(line)
-
- file.close()
+ '/p:Inputs="/clean"', os.path.join(vs, name))
msbuild(platform, configuration, 'sdv', name + '.vcxproj',
'/p:Inputs="/check:default.sdv"', os.path.join(vs, name))
@@ -387,10 +345,11 @@ def getVsVersion():
continue
vsenv[k] = v
- if vsenv['VisualStudioVersion'] == '11.0' :
- return 'vs2012'
- elif vsenv['VisualStudioVersion'] == '12.0' :
- return 'vs2013'
+ mapping = { '11.0':'vs2012',
+ '12.0':'vs2013',
+ '14.0':'vs2015' }
+
+ return mapping[vsenv['VisualStudioVersion']]
if __name__ == '__main__':
debug = { 'checked': True, 'free': False }
@@ -437,16 +396,15 @@ if __name__ == '__main__':
symstore_del(driver, 30)
- if vs=='vs2012':
- release = 'Windows Vista'
- else:
- release = 'Windows 7'
+ release = { 'vs2012':'Windows Vista',
+ 'vs2013':'Windows 7',
+ 'vs2015':'Windows 8' }
- build_sln(driver, release, 'x86', debug[sys.argv[1]], vs)
- build_sln(driver, release, 'x64', debug[sys.argv[1]], vs)
+ build_sln(driver, release[vs], 'x86', debug[sys.argv[1]], vs)
+ build_sln(driver, release[vs], 'x64', debug[sys.argv[1]], vs)
- symstore_add(driver, release, 'x86', debug[sys.argv[1]], vs)
- symstore_add(driver, release, 'x64', debug[sys.argv[1]], vs)
+ symstore_add(driver, release[vs], 'x86', debug[sys.argv[1]], vs)
+ symstore_add(driver, release[vs], 'x64', debug[sys.argv[1]], vs)
if len(sys.argv) <= 2 or sdv[sys.argv[2]]:
run_sdv('xen', driver, vs)
diff --git a/src/common/util.h b/src/common/util.h
index 92a3b19..78946d7 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -138,6 +138,7 @@ __InterlockedSubtract(
return New;
}
+__checkReturn
static FORCEINLINE PVOID
__AllocatePoolWithTag(
IN POOL_TYPE PoolType,
@@ -150,6 +151,7 @@ __AllocatePoolWithTag(
__analysis_assume(PoolType == NonPagedPool ||
PoolType == PagedPool);
+#pragma warning(suppress:28160) // annotation error
Buffer = ExAllocatePoolWithTag(PoolType, NumberOfBytes, Tag);
if (Buffer == NULL)
return NULL;
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index 344ca6d..2c6a2aa 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -54,7 +54,7 @@ typedef struct _MONITOR_CONTEXT {
HANDLE RequestEvent;
HKEY RequestKey;
PTCHAR Title;
- PTCHAR Message;
+ PTCHAR Text;
BOOL RebootPending;
} MONITOR_CONTEXT, *PMONITOR_CONTEXT;
@@ -360,8 +360,8 @@ PromptForReboot(
PTCHAR DisplayName;
DWORD Type;
PTCHAR Description;
- PTCHAR Message;
- DWORD MessageLength;
+ PTCHAR Text;
+ DWORD TextLength;
PWTS_SESSION_INFO SessionInfo;
DWORD Count;
DWORD Index;
@@ -435,20 +435,20 @@ PromptForReboot(
else
Description++;
- MessageLength = (DWORD)((_tcslen(Description) +
- 1 + // ' '
- _tcslen(Context->Message) +
- 1) * sizeof (TCHAR));
+ TextLength = (DWORD)((_tcslen(Description) +
+ 1 + // ' '
+ _tcslen(Context->Text) +
+ 1) * sizeof (TCHAR));
- Message = calloc(1, MessageLength);
- if (Message == NULL)
+ Text = calloc(1, TextLength);
+ if (Text == NULL)
goto fail6;
- Result = StringCbPrintf(Message,
- MessageLength,
+ Result = StringCbPrintf(Text,
+ TextLength,
TEXT("%s %s"),
Description,
- Context->Message);
+ Context->Text);
assert(SUCCEEDED(Result));
Success = WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE,
@@ -480,8 +480,8 @@ PromptForReboot(
SessionId,
Title,
TitleLength,
- Message,
- MessageLength,
+ Text,
+ TextLength,
MB_YESNO | MB_ICONEXCLAMATION,
Timeout,
&Response,
@@ -857,7 +857,7 @@ GetDialogParameters(
PMONITOR_CONTEXT Context = &MonitorContext;
DWORD MaxValueLength;
DWORD TitleLength;
- DWORD MessageLength;
+ DWORD TextLength;
DWORD Type;
HRESULT Error;
@@ -900,18 +900,18 @@ GetDialogParameters(
goto fail4;
}
- MessageLength = MaxValueLength + sizeof (TCHAR);
+ TextLength = MaxValueLength + sizeof (TCHAR);
- Context->Message = calloc(1, MessageLength);
+ Context->Text = calloc(1, TextLength);
if (Context == NULL)
goto fail5;
Error = RegQueryValueEx(Context->ParametersKey,
- "DialogMessage",
+ "DialogText",
NULL,
&Type,
- (LPBYTE)Context->Message,
- &MessageLength);
+ (LPBYTE)Context->Text,
+ &TextLength);
if (Error != ERROR_SUCCESS) {
SetLastError(Error);
goto fail6;
@@ -930,7 +930,7 @@ fail7:
fail6:
Log("fail6");
- free(Context->Message);
+ free(Context->Text);
fail5:
Log("fail5");
@@ -1076,7 +1076,7 @@ MonitorMain(
done:
(VOID) RegDeleteTree(Context->RequestKey, NULL);
- free(Context->Message);
+ free(Context->Text);
free(Context->Title);
CloseHandle(Context->RequestKey);
free(RequestKeyName);
diff --git a/src/xen/hypercall.c b/src/xen/hypercall.c
index 7003687..b63d432 100644
--- a/src/xen/hypercall.c
+++ b/src/xen/hypercall.c
@@ -85,7 +85,7 @@ HypercallInitialize(
ULONG EBX = 'DEAD';
ULONG ECX = 'DEAD';
ULONG EDX = 'DEAD';
- ULONG Index;
+ ULONG_PTR Index;
NTSTATUS status;
status = STATUS_UNSUCCESSFUL;
diff --git a/src/xen/module.c b/src/xen/module.c
index 584a63d..da7f113 100644
--- a/src/xen/module.c
+++ b/src/xen/module.c
@@ -258,6 +258,7 @@ fail1:
#undef INSERT_BEFORE
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static VOID
ModuleLoad(
IN PUNICODE_STRING FullImageName,
diff --git a/src/xen/system.c b/src/xen/system.c
index 0dc7e14..dbf708d 100644
--- a/src/xen/system.c
+++ b/src/xen/system.c
@@ -157,6 +157,7 @@ __ProductTypeName(
#undef PRODUCT_TYPE_NAME
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static NTSTATUS
SystemGetVersionInformation(
VOID
diff --git a/src/xenbus.inf b/src/xenbus.inf
index 2104d54..792d76f 100644
--- a/src/xenbus.inf
+++ b/src/xenbus.inf
@@ -133,7 +133,7 @@ AddReg = Monitor_Parameters
HKR,"Parameters",,0x00000010
HKR,"Parameters","RequestKey",0x00000000,%RequestKey%
HKR,"Parameters","DialogTitle",0x00000000,%DialogTitle%
-HKR,"Parameters","DialogMessage",0x00000000,%DialogMessage%
+HKR,"Parameters","DialogText",0x00000000,%DialogText%
[Monitor_EventLog]
AddReg=Monitor_EventLog_AddReg
@@ -159,7 +159,7 @@ MonitorName="@PRODUCT_NAME@ PV Driver Monitor"
MonitorDesc="Provides support for @PRODUCT_NAME@ PV drivers"
RequestKey="SYSTEM\CurrentControlSet\Services\xenbus_monitor\Request"
DialogTitle="@PRODUCT_NAME@"
-DialogMessage="needs to restart the system to complete installation. Press
'Yes' to restart the system now or 'No' if you plan to restart the system
later."
+DialogText="needs to restart the system to complete installation. Press 'Yes'
to restart the system now or 'No' if you plan to restart the system later."
SERVICE_BOOT_START=0x0
SERVICE_SYSTEM_START=0x1
diff --git a/src/xenbus/balloon.c b/src/xenbus/balloon.c
index 751dd53..f987096 100644
--- a/src/xenbus/balloon.c
+++ b/src/xenbus/balloon.c
@@ -264,11 +264,17 @@ BalloonFreePagesFromMdl(
// by RAM.
ASSERT((Mdl->ByteCount & (PAGE_SIZE - 1)) == 0);
- for (Index = 0; Index < Mdl->ByteCount >> PAGE_SHIFT; Index++)
+ for (Index = 0; Index < (Mdl->ByteCount >> PAGE_SHIFT); Index++) {
+ UCHAR Byte;
+
+ ASSERT3U(Index << PAGE_SHIFT, <, Mdl->ByteCount);
Mapping[Index << PAGE_SHIFT] = (UCHAR)Index;
- for (Index = 0; Index < Mdl->ByteCount >> PAGE_SHIFT; Index++)
- ASSERT3U(Mapping[Index << PAGE_SHIFT], ==, (UCHAR)Index);
+ KeMemoryBarrier();
+ Byte = Mapping[Index << PAGE_SHIFT];
+
+ ASSERT3U(Byte, ==, (UCHAR)Index);
+ }
MmUnmapLockedPages((PVOID)Mapping, Mdl);
diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c
index ef31de1..7e68b36 100644
--- a/src/xenbus/fdo.c
+++ b/src/xenbus/fdo.c
@@ -281,6 +281,7 @@ FdoGetPhysicalDeviceObject(
return __FdoGetPhysicalDeviceObject(Fdo);
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static NTSTATUS
FdoAcquireLowerBusInterface(
IN PXENBUS_FDO Fdo
@@ -540,6 +541,7 @@ FdoGetName(
return __FdoGetName(Fdo);
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static NTSTATUS
FdoQueryId(
IN PXENBUS_FDO Fdo,
@@ -3259,6 +3261,7 @@ FdoFilterCmPartialResourceList(
#define BALLOON_WARN_TIMEOUT 10
#define BALLOON_BUGCHECK_TIMEOUT 1200
+__drv_requiresIRQL(PASSIVE_LEVEL)
static NTSTATUS
FdoStartDevice(
IN PXENBUS_FDO Fdo,
@@ -3658,6 +3661,7 @@ FdoSurpriseRemoval(
return status;
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static NTSTATUS
FdoRemoveDevice(
IN PXENBUS_FDO Fdo,
@@ -3775,6 +3779,7 @@ done:
#define SCAN_PAUSE 10
+__drv_requiresIRQL(PASSIVE_LEVEL)
static NTSTATUS
FdoQueryDeviceRelations(
IN PXENBUS_FDO Fdo,
@@ -4257,6 +4262,7 @@ FdoRequestSetDevicePowerCompletion(
KeSetEvent(Event, IO_NO_INCREMENT, FALSE);
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static VOID
FdoRequestSetDevicePower(
IN PXENBUS_FDO Fdo,
@@ -4516,6 +4522,7 @@ FdoRequestQueryDevicePowerCompletion(
KeSetEvent(Event, IO_NO_INCREMENT, FALSE);
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static VOID
FdoRequestQueryDevicePower(
IN PXENBUS_FDO Fdo,
@@ -4870,6 +4877,7 @@ FdoDispatch(
return status;
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static NTSTATUS
FdoQueryInterface(
IN PXENBUS_FDO Fdo,
diff --git a/src/xenbus/thread.c b/src/xenbus/thread.c
index 23b6e71..665c808 100644
--- a/src/xenbus/thread.c
+++ b/src/xenbus/thread.c
@@ -115,6 +115,7 @@ ThreadFunction(
// NOT REACHED
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
NTSTATUS
ThreadCreate(
IN XENBUS_THREAD_FUNCTION Function,
diff --git a/src/xenbus/thread.h b/src/xenbus/thread.h
index e10c946..5ae2b37 100644
--- a/src/xenbus/thread.h
+++ b/src/xenbus/thread.h
@@ -38,6 +38,7 @@ typedef struct _XENBUS_THREAD XENBUS_THREAD, *PXENBUS_THREAD;
typedef NTSTATUS (*XENBUS_THREAD_FUNCTION)(PXENBUS_THREAD, PVOID);
+__drv_requiresIRQL(PASSIVE_LEVEL)
extern NTSTATUS
ThreadCreate(
IN XENBUS_THREAD_FUNCTION Function,
diff --git a/src/xenbus/unplug.c b/src/xenbus/unplug.c
index 3c68c7f..1ad737d 100644
--- a/src/xenbus/unplug.c
+++ b/src/xenbus/unplug.c
@@ -66,6 +66,7 @@ __UnplugFree(
__FreePoolWithTag(Buffer, XENBUS_UNPLUG_TAG);
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
static VOID
UnplugRequest(
IN PINTERFACE Interface,
diff --git a/src/xenfilt/pdo.c b/src/xenfilt/pdo.c
index 6b09578..41ffa1b 100644
--- a/src/xenfilt/pdo.c
+++ b/src/xenfilt/pdo.c
@@ -906,7 +906,7 @@ DEFINE_PDO_QUERY_INTERFACE(Emulated)
struct _INTERFACE_ENTRY {
const GUID *Guid;
const CHAR *Name;
- NTSTATUS (*Query)(PXENBUS_PDO, PIRP);
+ NTSTATUS (*Query)(PXENFILT_PDO, PIRP);
};
#define DEFINE_INTERFACE_ENTRY(_Guid, _Interface) \
diff --git a/src/xenfilt/thread.c b/src/xenfilt/thread.c
index a834129..c80293d 100644
--- a/src/xenfilt/thread.c
+++ b/src/xenfilt/thread.c
@@ -115,6 +115,7 @@ ThreadFunction(
// NOT REACHED
}
+__drv_requiresIRQL(PASSIVE_LEVEL)
NTSTATUS
ThreadCreate(
IN XENFILT_THREAD_FUNCTION Function,
diff --git a/src/xenfilt/thread.h b/src/xenfilt/thread.h
index 83e63a3..d38c29c 100644
--- a/src/xenfilt/thread.h
+++ b/src/xenfilt/thread.h
@@ -38,6 +38,7 @@ typedef struct _XENFILT_THREAD XENFILT_THREAD,
*PXENFILT_THREAD;
typedef NTSTATUS (*XENFILT_THREAD_FUNCTION)(PXENFILT_THREAD, PVOID);
+__drv_requiresIRQL(PASSIVE_LEVEL)
extern NTSTATUS
ThreadCreate(
IN XENFILT_THREAD_FUNCTION Function,
diff --git a/vs2015/configs.props b/vs2015/configs.props
new file mode 100644
index 0000000..cdbb3c8
--- /dev/null
+++ b/vs2015/configs.props
@@ -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/vs2015/package/package.vcxproj b/vs2015/package/package.vcxproj
new file mode 100644
index 0000000..8e28243
--- /dev/null
+++ b/vs2015/package/package.vcxproj
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="..\configs.props" />
+ <PropertyGroup Label="PropertySheets">
+ <DriverType>WDM</DriverType>
+ <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
+ <ConfigurationType>Utility</ConfigurationType>
+ <DriverType>Package</DriverType>
+ <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
+ </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'">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>
+ <VerifyDrivers />
+ <VerifyFlags>133563</VerifyFlags>
+ <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir>
+ <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir>
+ <PackageDir>..\..\xenbus\$(DDKPlatform)</PackageDir>
+ </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>
+ </ItemGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(KIT)\Redist\DIFx\dpinst\EngMui\x86\dpinst.exe"
Condition="'$(Platform)'=='Win32'" />
+ <FilesToPackage Include="$(KIT)\Redist\DIFx\dpinst\EngMui\x64\dpinst.exe"
Condition="'$(Platform)'=='x64'" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/vs2015/package/package.vcxproj.user
b/vs2015/package/package.vcxproj.user
new file mode 100644
index 0000000..19bfe14
--- /dev/null
+++ b/vs2015/package/package.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SignMode>TestSign</SignMode>
+ <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+ </PropertyGroup>
+</Project>
diff --git a/vs2015/targets.props b/vs2015/targets.props
new file mode 100644
index 0000000..64598fc
--- /dev/null
+++ b/vs2015/targets.props
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.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/vs2015/xen/xen.vcxproj b/vs2015/xen/xen.vcxproj
new file mode 100644
index 0000000..68c957a
--- /dev/null
+++ b/vs2015/xen/xen.vcxproj
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.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>{9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}</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;..\..\include\xen;..\..\src\common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+
<PreprocessorDefinitions>__MODULE__="XEN";POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>EnableAllWarnings</WarningLevel>
+
<DisableSpecificWarnings>4464;4711;4548;4820;4668;4255;6001;6054;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <EnablePREfast>true</EnablePREfast>
+ </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>
+ <ModuleDefinitionFile>../../src/xen/xen.def</ModuleDefinitionFile>
+ <EnableCOMDATFolding>false</EnableCOMDATFolding>
+ </Link>
+ <Inf>
+ <SpecifyArchitecture>true</SpecifyArchitecture>
+ <SpecifyDriverVerDirectiveVersion>true</SpecifyDriverVerDirectiveVersion>
+
<TimeStamp>$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION).$(BUILD_NUMBER)</TimeStamp>
+ <EnableVerbose>true</EnableVerbose>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+ <ClCompile>
+
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions);_X86_</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>x86</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+ <ClCompile>
+
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions);_AMD64_</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>amd64</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(TargetPath)" />
+ <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+ <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''"
/>
+ </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" />
+ </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/vs2015/xen/xen.vcxproj.user b/vs2015/xen/xen.vcxproj.user
new file mode 100644
index 0000000..19bfe14
--- /dev/null
+++ b/vs2015/xen/xen.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SignMode>TestSign</SignMode>
+ <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+ </PropertyGroup>
+</Project>
diff --git a/vs2015/xenbus.sln b/vs2015/xenbus.sln
new file mode 100644
index 0000000..6d971b2
--- /dev/null
+++ b/vs2015/xenbus.sln
@@ -0,0 +1,158 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_coinst",
"xenbus_coinst\xenbus_coinst.vcxproj", "{4BF41378-C01B-4002-8581-563C5F703362}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenbus_monitor",
"xenbus_monitor\xenbus_monitor.vcxproj",
"{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xen", "xen\xen.vcxproj",
"{9C6A5D48-A331-4B1F-A004-7BB67BA5BE1C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenfilt",
"xenfilt\xenfilt.vcxproj", "{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {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
+ {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
+ {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 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
+ {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
+ {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
+ {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|Win32.Deploy.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
Debug|x64.Deploy.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|Win32.Deploy.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
+ {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8
Release|x64.Deploy.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|Win32.Deploy.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
Debug|x64.Deploy.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|Win32.Deploy.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 10
Release|x64.Deploy.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
+ {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
+ {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
+ {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
+ {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
+ {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|Win32.Deploy.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
Debug|x64.Deploy.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|Win32.Deploy.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
+ {92E5A46B-913C-45C6-B6F8-7E062D85279F}.Windows 8
Release|x64.Deploy.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|Win32.Deploy.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
Debug|x64.Deploy.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|Win32.Deploy.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 10
Release|x64.Deploy.0 = Windows 10 Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/vs2015/xenbus/xenbus.vcxproj b/vs2015/xenbus/xenbus.vcxproj
new file mode 100644
index 0000000..113f7c1
--- /dev/null
+++ b/vs2015/xenbus/xenbus.vcxproj
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.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>{14C16C29-77C9-475B-A618-1B01E67CF985}</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>
+
<PreprocessorDefinitions>__MODULE__="XENBUS";POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
<AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;..\..\src\common;</AdditionalIncludeDirectories>
+ <WarningLevel>EnableAllWarnings</WarningLevel>
+
<DisableSpecificWarnings>4464;4711;4548;4820;4668;4255;6001;6054;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <EnablePREfast>true</EnablePREfast>
+ </ClCompile>
+ <ResourceCompile>
+
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <Link>
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+
<AdditionalDependencies>$(ProjectDir)..\$(ConfigurationName)\$(Platform)\xen.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/procgrp.lib;$(DDK_LIB_PATH)/rtlver.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <EnableCOMDATFolding>false</EnableCOMDATFolding>
+ </Link>
+ <Inf>
+ <SpecifyArchitecture>true</SpecifyArchitecture>
+ <SpecifyDriverVerDirectiveVersion>true</SpecifyDriverVerDirectiveVersion>
+
<TimeStamp>$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION).$(BUILD_NUMBER)</TimeStamp>
+ <EnableVerbose>true</EnableVerbose>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+ <ClCompile>
+
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions);_X86_</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>x86</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+ <ClCompile>
+
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions);_AMD64_</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>amd64</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(TargetPath)" />
+ <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+ <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''"
/>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\src\common\registry.c" />
+ <ClCompile Include="..\..\src\xenbus\bus.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>
+ <ItemGroup>
+ <Inf Include="..\xenbus.inf" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/vs2015/xenbus/xenbus.vcxproj.user
b/vs2015/xenbus/xenbus.vcxproj.user
new file mode 100644
index 0000000..19bfe14
--- /dev/null
+++ b/vs2015/xenbus/xenbus.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SignMode>TestSign</SignMode>
+ <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+ </PropertyGroup>
+</Project>
diff --git a/vs2015/xenbus_coinst/xenbus_coinst.vcxproj
b/vs2015/xenbus_coinst/xenbus_coinst.vcxproj
new file mode 100644
index 0000000..e30e6cd
--- /dev/null
+++ b/vs2015/xenbus_coinst/xenbus_coinst.vcxproj
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.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>{4BF41378-C01B-4002-8581-563C5F703362}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="..\targets.props" />
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <PropertyGroup>
+ <IncludePath>$(IncludePath)</IncludePath>
+ <RunCodeAnalysis>true</RunCodeAnalysis>
+ <EnableInf2cat>false</EnableInf2cat>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <ClCompile>
+
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+
<PreprocessorDefinitions>__MODULE__="XENBUS_COINST";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>EnableAllWarnings</WarningLevel>
+
<DisableSpecificWarnings>4127;4711;4548;4820;4668;4255;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/xenbus_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" />
+ <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/vs2015/xenbus_coinst/xenbus_coinst.vcxproj.user
b/vs2015/xenbus_coinst/xenbus_coinst.vcxproj.user
new file mode 100644
index 0000000..19bfe14
--- /dev/null
+++ b/vs2015/xenbus_coinst/xenbus_coinst.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SignMode>TestSign</SignMode>
+ <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+ </PropertyGroup>
+</Project>
diff --git a/vs2015/xenbus_monitor/xenbus_monitor.vcxproj
b/vs2015/xenbus_monitor/xenbus_monitor.vcxproj
new file mode 100644
index 0000000..7676049
--- /dev/null
+++ b/vs2015/xenbus_monitor/xenbus_monitor.vcxproj
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <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>
+
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+
<PreprocessorDefinitions>WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;__MODULE__="XENBUS_MONITOR";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>EnableAllWarnings</WarningLevel>
+
<DisableSpecificWarnings>4127;4711;4548;4820;4668;4255;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>
+
<AdditionalDependencies>wtsapi32.lib;cfgmgr32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <ResourceCompile>
+
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ </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/vs2015/xenbus_monitor/xenbus_monitor.vcxproj.user
b/vs2015/xenbus_monitor/xenbus_monitor.vcxproj.user
new file mode 100644
index 0000000..19bfe14
--- /dev/null
+++ b/vs2015/xenbus_monitor/xenbus_monitor.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SignMode>TestSign</SignMode>
+ <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+ </PropertyGroup>
+</Project>
diff --git a/vs2015/xenfilt/xenfilt.vcxproj b/vs2015/xenfilt/xenfilt.vcxproj
new file mode 100644
index 0000000..d9f28ed
--- /dev/null
+++ b/vs2015/xenfilt/xenfilt.vcxproj
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.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>
+
<PreprocessorDefinitions>__MODULE__="XENFILT";POOL_NX_OPTIN=1;NT_PROCESSOR_GROUPS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
<AdditionalIncludeDirectories>$(WindowsSdkDir)\include\km;..\..\include;..\..\include\xen;..\..\src\common;</AdditionalIncludeDirectories>
+ <WarningLevel>EnableAllWarnings</WarningLevel>
+
<DisableSpecificWarnings>4464;4711;4548;4820;4668;4255;6001;6054;28196;30030;30029;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <EnablePREfast>true</EnablePREfast>
+ </ClCompile>
+ <ResourceCompile>
+
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ResourceCompile>
+ <Link>
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+
<AdditionalDependencies>$(ProjectDir)..\$(ConfigurationName)\$(Platform)\xen.lib;$(DDK_LIB_PATH)/libcntpr.lib;$(DDK_LIB_PATH)/procgrp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <EnableCOMDATFolding>false</EnableCOMDATFolding>
+ </Link>
+ <Inf>
+ <SpecifyArchitecture>true</SpecifyArchitecture>
+ <SpecifyDriverVerDirectiveVersion>true</SpecifyDriverVerDirectiveVersion>
+
<TimeStamp>$(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION).$(BUILD_NUMBER)</TimeStamp>
+ <EnableVerbose>true</EnableVerbose>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
+ <ClCompile>
+
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions);_X86_</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>x86</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
+ <ClCompile>
+
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions);_AMD64_</PreprocessorDefinitions>
+ </ClCompile>
+ <Inf>
+ <Architecture>amd64</Architecture>
+ </Inf>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <FilesToPackage Include="$(TargetPath)" />
+ <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+ <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''"
/>
+ </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/vs2015/xenfilt/xenfilt.vcxproj.user
b/vs2015/xenfilt/xenfilt.vcxproj.user
new file mode 100644
index 0000000..19bfe14
--- /dev/null
+++ b/vs2015/xenfilt/xenfilt.vcxproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SignMode>TestSign</SignMode>
+ <TestCertificate>..\..\src\xenbus.pfx</TestCertificate>
+
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
+ </PropertyGroup>
+</Project>
--
2.5.3
_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |