After my personal testing, if the "time deception detection" function is enabled on the HV code, it will become extremely laggy.
//exit_controls.save_ia32_pat = true;
//exit_controls.load_ia32_pat = true;
//exit_controls.load_ia32_perf_global_control = true;
exit_controls.conceal_vmx_from_pt = true;
//entry_controls.load_ia32_pat = true;
//entry_controls.load_ia32_perf_global_control = true;
entry_controls.conceal_vmx_from_pt = true;
/*ia32_pat_register host_pat;
host_pat.flags = 0;
host_pat.pa0 = MEMORY_TYPE_WRITE_BACK;
host_pat.pa1 = MEMORY_TYPE_WRITE_THROUGH;
host_pat.pa2 = MEMORY_TYPE_UNCACHEABLE_MINUS;
host_pat.pa3 = MEMORY_TYPE_UNCACHEABLE;
host_pat.pa4 = MEMORY_TYPE_WRITE_BACK;
host_pat.pa5 = MEMORY_TYPE_WRITE_THROUGH;
host_pat.pa6 = MEMORY_TYPE_UNCACHEABLE_MINUS;
host_pat.pa7 = MEMORY_TYPE_UNCACHEABLE;
hv::vmwrite(VMCS_HOST_PAT, host_pat.flags);*/
//hv::vmwrite(VMCS_HOST_PERF_GLOBAL_CTRL, 0);
After my personal testing, if the "time deception detection" function is enabled on the HV code, it will become extremely laggy.
//exit_controls.save_ia32_pat = true;
//exit_controls.load_ia32_pat = true;
//exit_controls.load_ia32_perf_global_control = true;
exit_controls.conceal_vmx_from_pt = true;
//entry_controls.load_ia32_pat = true;
//entry_controls.load_ia32_perf_global_control = true;
entry_controls.conceal_vmx_from_pt = true;