Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ionescu007/SimpleVisor.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSatoshi Tanda <tanda.sat@gmail.com>2017-11-26 06:54:55 +0300
committerSatoshi Tanda <satoshi.tanda@crowdstrike.com>2017-11-26 06:55:25 +0300
commit333dcf9187b87c8979d749cc0316ae877be5c651 (patch)
treeac167e49e19d07493521fdd75a70dc574f6caf2e
parenta2aafc35b86f8e17080f66d3137998359cfaea38 (diff)
Fix bugcheck on Windows 10 RS4
Windows 10 RS4 uses the invpcid instruction. This instruction is disabled by the hypervisor, and execution of it causes #UD, which triggers bugcheck. This change is to allow the kernel to execute the instruction.
-rw-r--r--shvvmx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/shvvmx.c b/shvvmx.c
index 7030453..70d2e66 100644
--- a/shvvmx.c
+++ b/shvvmx.c
@@ -135,7 +135,7 @@ ShvVmxEptInitialize (
//
tempEpdpte.AsUlonglong = 0;
tempEpdpte.Read = tempEpdpte.Write = tempEpdpte.Execute = 1;
-
+
//
// Construct EPT identity map for every 1GB of RAM
//
@@ -339,6 +339,7 @@ ShvVmxSetupVmcsForVp (
__vmx_vmwrite(SECONDARY_VM_EXEC_CONTROL,
ShvUtilAdjustMsr(VpData->MsrData[11],
SECONDARY_EXEC_ENABLE_RDTSCP |
+ SECONDARY_EXEC_ENABLE_INVPCID |
SECONDARY_EXEC_XSAVES |
VpData->EptControls));