SimpleVisor is a simple, portable, Intel VT-x hypervisor with two specific goals: using the least amount of assembly code (10 lines), and having the smallest amount of VMX-related code to support dynamic hyperjacking and unhyperjacking (that is, virtualizing the host state from within the host). It works on Windows and UEFI.
On some systems, the AC flag was already set when it is captured by SimpleVisor. This results in skipping initialization of the hypervisor and The SHV failed to initialize (0xFFFFFFFD) Failed CPU: 0 error because the subsequent check after capturing believes the hypervisor was already set up.
I found my VM (18362.1.amd64fre.19h1_release.190318-1202) hit this case.
This change clears the flag prior to capturing and checking the flag, ensuring initialization happens.
On some systems, the AC flag was already set when it is captured by SimpleVisor. This results in skipping initialization of the hypervisor and
The SHV failed to initialize (0xFFFFFFFD) Failed CPU: 0
error because the subsequent check after capturing believes the hypervisor was already set up.I found my VM (18362.1.amd64fre.19h1_release.190318-1202) hit this case.
This change clears the flag prior to capturing and checking the flag, ensuring initialization happens.