From 76df64528cd9435b4c88fe32e20768de5797096e Mon Sep 17 00:00:00 2001 From: _xeroxz Date: Sat, 6 Feb 2021 02:05:23 +0000 Subject: [PATCH] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 8a26072..4d9594e 100644 --- a/README.md +++ b/README.md @@ -10,5 +10,11 @@ This project uses WDK and thus Windows Kernel functions to facilitate vmxlaunch. ### VMCS +This section of the readme just contains note and a list of things i stumbled on and took me a while to figure out and fix. + +### VMCS Controls + +* One of the mistakes I made early on was setting bits high after applying high/low MSR values. For example my xeons dont support Intel Processor Trace (Intel PT) and I was setting `entry_ctls.conceal_vmx_from_pt = true` after applying the MSR high/low masks. This caused vmxerror #7 (invalid vmcs controls). Now i set the bit high before i apply the high/low bit mask so if my hypervisor runs on a cpu that has Intel PT support it will be concealed from Intel PT. + Dump of VMCS control fields can be found [here](https://githacks.org/_xeroxz/bluepill/-/blob/master/VMCS.md). This is not required, but for learning its nice to see exactly what the MSR masks are, and what VMCS field's are enabled after you apply high/low bit masks. \ No newline at end of file