// this function is invoked when guest => host VOID NTAPI HvmEventCallback ( PCPU Cpu, // cpu struct PGUEST_REGS GuestRegs // store guest's regs ) { NTSTATUS Status; if (!Cpu || !GuestRegs) return; Hvm->ArchDispatchEvent (Cpu, GuestRegs); return; }
void ZVMAPI HvmEventCallback ( PCPU Cpu, PGUEST_REGS GuestRegs ) { ZVMSTATUS Status; if (!Cpu || !GuestRegs) { cprintf("error in event callback...\n"); return; } GuestRegs->esp = VmxRead(GUEST_RSP); // it's an original event Hvm->ArchDispatchEvent (Cpu, GuestRegs); //if (Hvm->Architecture == ARCH_VMX) //VmxWrite (GUEST_RSP, GuestRegs->esp); return; }