I'm writing security-related software using VT-x technology. My VMM is installed as host and OS Windows NT (32-bit) becomes running in guest mode. Everything works fine, but PC doesn't wake after stand-by mode. I think this is because proper-handling of system-management mode (SMM) is missing in VMM. I tried to catch SMI interrupt exits in VMM but got nothing:
void VirtualCpu::OnVmExit(CPU_STATE *cpuState)
ULONG_PTR exitReason = __vmread(VM_EXIT_REASON);
if(exitReason == EXIT_REASON_IO_SMI || exitReason == EXIT_REASON_OTHER_SMI)
ctrace("SMI "); // trace to serial port
// this code doesn't execute
I need any thoughts about handling SMM
in VT-x VMM. Thank you in advance.