HyperDbg Debugger
Loading...
Searching...
No Matches
ProtectedHv.h
Go to the documentation of this file.
1
15#pragma once
16
18// Functions //
20
21//
22// Exception Bitmap Functions
23//
24
25VOID
27
28VOID
30
31VOID
33
34VOID
36
37//
38// External-interrupt Exiting Functions
39//
40
41VOID
43
44VOID
46
47//
48// RDTSC/P Exiting Functions
49//
50
51VOID
53
54VOID
56
57//
58// Mov to HW Debug Regs Exiting Functions
59//
60
61VOID
63
64VOID
66
67//
68// Mov to Control Regs Exiting Functions
69//
70
71VOID
72ProtectedHvDisableMovControlRegsExitingForDisablingCrCommands(VIRTUAL_MACHINE_STATE * VCpu, UINT64 ControlRegister, UINT64 MaskRegister);
73
74//
75// Mov to CR0/4 Exiting Functions
76//
77
78VOID
79ProtectedHvSetMov2CrExiting(BOOLEAN Set, UINT64 ControlRegister, UINT64 MaskRegister);
80
81//
82// Mov to CR3 Exiting Functions
83//
84
85VOID
87
88//
89// Save and load state on vm-exit and vm-entry
90//
91
92VOID
94
95VOID
VOID ProtectedHvSetRdtscExiting(VIRTUAL_MACHINE_STATE *VCpu, BOOLEAN Set)
Set the RDTSC/P Exiting.
Definition ProtectedHv.c:671
VOID ProtectedHvDisableRdtscExitingForDisablingTscCommands(VIRTUAL_MACHINE_STATE *VCpu)
Clear events of !tsc.
Definition ProtectedHv.c:683
VOID ProtectedHvResetExceptionBitmapToClearEvents(VIRTUAL_MACHINE_STATE *VCpu)
Reset exception bitmap in VMCS because of clearing !exception commands.
Definition ProtectedHv.c:142
VOID ProtectedHvSetMov2Cr3Exiting(VIRTUAL_MACHINE_STATE *VCpu, BOOLEAN Set)
Set MOV to CR3 Exiting.
Definition ProtectedHv.c:735
VOID ProtectedHvSetMovDebugRegsExiting(VIRTUAL_MACHINE_STATE *VCpu, BOOLEAN Set)
Set MOV to HW Debug Regs Exiting.
Definition ProtectedHv.c:696
VOID ProtectedHvRemoveUndefinedInstructionForDisablingSyscallSysretCommands(VIRTUAL_MACHINE_STATE *VCpu)
Reset exception bitmap in VMCS because of clearing !exception commands.
Definition ProtectedHv.c:161
VOID ProtectedHvSetMov2CrExiting(BOOLEAN Set, UINT64 ControlRegister, UINT64 MaskRegister)
Set MOV to CR0/4 Exiting.
Definition ProtectedHv.c:749
VOID ProtectedHvUnsetExceptionBitmap(VIRTUAL_MACHINE_STATE *VCpu, UINT32 IdtIndex)
Unset exception bitmap in VMCS.
Definition ProtectedHv.c:109
VOID ProtectedHvSetLoadDebugControls(VIRTUAL_MACHINE_STATE *VCpu, BOOLEAN Set)
Set SAVE DEBUG CONTROLS on VM-exit controls.
Definition ProtectedHv.c:658
VOID ProtectedHvExternalInterruptExitingForDisablingInterruptCommands(VIRTUAL_MACHINE_STATE *VCpu)
Clear events of !interrupt.
Definition ProtectedHv.c:270
VOID ProtectedHvSetExternalInterruptExiting(VIRTUAL_MACHINE_STATE *VCpu, BOOLEAN Set)
Set the External Interrupt Exiting.
Definition ProtectedHv.c:259
VOID ProtectedHvDisableMovControlRegsExitingForDisablingCrCommands(VIRTUAL_MACHINE_STATE *VCpu, UINT64 ControlRegister, UINT64 MaskRegister)
Clear events of !crwrite.
Definition ProtectedHv.c:722
VOID ProtectedHvDisableMovDebugRegsExitingForDisablingDrCommands(VIRTUAL_MACHINE_STATE *VCpu)
Clear events of !dr.
Definition ProtectedHv.c:708
VOID ProtectedHvSetSaveDebugControls(VIRTUAL_MACHINE_STATE *VCpu, BOOLEAN Set)
Set LOAD DEBUG CONTROLS on VM-entry controls.
Definition ProtectedHv.c:644
VOID ProtectedHvSetExceptionBitmap(VIRTUAL_MACHINE_STATE *VCpu, UINT32 IdtIndex)
Set exception bitmap in VMCS.
Definition ProtectedHv.c:76
UCHAR BOOLEAN
Definition BasicTypes.h:35
unsigned int UINT32
Definition BasicTypes.h:54
struct _VIRTUAL_MACHINE_STATE VIRTUAL_MACHINE_STATE
The status of each core after and before VMX.