HyperDbg Debugger
Loading...
Searching...
No Matches
VmxMechanisms.h File Reference

VMX based mechanisms header. More...

Go to the source code of this file.

Macros

#define IMMEDIATE_VMEXIT_MECHANISM_VECTOR_FOR_SELF_IPI   IPI_INTERRUPT
 

Functions

VOID VmxMechanismCreateImmediateVmexit (VIRTUAL_MACHINE_STATE *VCpu)
 Create an immediate vm-exit after vm-entry.
 
VOID VmxMechanismHandleImmediateVmexit (VIRTUAL_MACHINE_STATE *VCpu)
 Handle immediate vm-exit after vm-entry.
 

Detailed Description

VMX based mechanisms header.

Author
Sina Karvandi (sina@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)
Version
0.1
Date
2021-12-16

Macro Definition Documentation

◆ IMMEDIATE_VMEXIT_MECHANISM_VECTOR_FOR_SELF_IPI

#define IMMEDIATE_VMEXIT_MECHANISM_VECTOR_FOR_SELF_IPI   IPI_INTERRUPT

Function Documentation

◆ VmxMechanismCreateImmediateVmexit()

VOID VmxMechanismCreateImmediateVmexit ( VIRTUAL_MACHINE_STATE * VCpu)

Create an immediate vm-exit after vm-entry.

Parameters
CurrentCoreIndex
Returns
VOID
75{
76 //
77 // I didn't test vm-exit by preemption timer as my machine
78 // or maybe VMware workstation's nested virtualization didn't
79 // support VMX Preemption Timer, that's why we use self-ipi
80 // method by default
81 //
82
83 //
84 // Indicate wait for an immediate vm-exit
85 //
87
88 //
89 // Self-ipi current core
90 //
92
93 //
94 // Set vm-exit on external interrupts
95 //
97}
#define TRUE
Definition BasicTypes.h:55
VOID HvSetExternalInterruptExiting(VIRTUAL_MACHINE_STATE *VCpu, BOOLEAN Set)
Set the External Interrupt Exiting.
Definition Hv.c:1055
VOID VmxMechanismCreateImmediateVmexitBySelfIpi()
Create an immediate vm-exit after vm-entry by using self-ipi.
Definition VmxMechanisms.c:59
BOOLEAN WaitForImmediateVmexit
Definition State.h:295

◆ VmxMechanismHandleImmediateVmexit()

VOID VmxMechanismHandleImmediateVmexit ( VIRTUAL_MACHINE_STATE * VCpu)

Handle immediate vm-exit after vm-entry.

Parameters
VCpuThe virtual processor's state
Returns
VOID
107{
108 //
109 // Not waiting for immediate vm-exit anymore
110 //
112
113 //
114 // Set vm-exit on external interrupts
115 //
117}
#define FALSE
Definition BasicTypes.h:54