HyperDbg Debugger
Loading...
Searching...
No Matches
Broadcast.c File Reference

Broadcast debugger function to all logical cores. More...

#include "pch.h"

Functions

VOID BroadcastVmxVirtualizationAllCores ()
 routines to broadcast virtualization and vmx initialization on all cores
 
VOID BroadcastEnableDbAndBpExitingAllCores ()
 routines to set vm-exit on all #DBs and #BP on all cores
 
VOID BroadcastDisableDbAndBpExitingAllCores ()
 routines to unset vm-exit on all #DBs and #BP on all cores
 
VOID BroadcastEnableBreakpointExitingOnExceptionBitmapAllCores ()
 routines to enable vm-exit for breakpoints (exception bitmap)
 
VOID BroadcastDisableBreakpointExitingOnExceptionBitmapAllCores ()
 routines to disable vm-exit for breakpoints (exception bitmap)
 
VOID BroadcastEnableNmiExitingAllCores ()
 routines to set vm-exit on all NMIs on all cores
 
VOID BroadcastDisableNmiExitingAllCores ()
 routines to set vm-exit on all NMIs on all cores
 
VOID BroadcastNotifyAllToInvalidateEptAllCores ()
 routines to notify to invalidate their ept on all cores
 
VOID BroadcastEnableRdtscExitingAllCores ()
 a broadcast that causes vm-exit on all execution of rdtsc/rdtscp
 
VOID BroadcastDisableRdtscExitingAllCores ()
 a broadcast that causes for disabling rdtsc/p exiting
 
VOID BroadcastChangeAllMsrBitmapReadAllCores (UINT64 BitmapMask)
 routines for !msrread command which
 
VOID BroadcastResetChangeAllMsrBitmapReadAllCores ()
 routines for disable (reset) !msrread command
 
VOID BroadcastChangeAllMsrBitmapWriteAllCores (UINT64 BitmapMask)
 routines for !msrwrite command which
 
VOID BroadcastResetAllMsrBitmapWriteAllCores ()
 routines for reset !msrwrite command which
 
VOID BroadcastDisableRdtscExitingForClearingEventsAllCores ()
 routines ONLY for disabling !tsc command
 
VOID BroadcastDisableMov2ControlRegsExitingForClearingEventsAllCores (PDEBUGGER_EVENT_OPTIONS BroadcastingOption)
 routines ONLY for disabling !crwrite command
 
VOID BroadcastDisableMov2DebugRegsExitingForClearingEventsAllCores ()
 routines ONLY for disabling !dr command
 
VOID BroadcastEnableRdpmcExitingAllCores ()
 routines for !pmc
 
VOID BroadcastDisableRdpmcExitingAllCores ()
 routines for disabling !pmc
 
VOID BroadcastSetExceptionBitmapAllCores (UINT64 ExceptionIndex)
 routines for !exception command which
 
VOID BroadcastUnsetExceptionBitmapAllCores (UINT64 ExceptionIndex)
 routines for disabling exception bitmap
 
VOID BroadcastResetExceptionBitmapAllCores ()
 routines for reset !exception command
 
VOID BroadcastEnableMovControlRegisterExitingAllCores (PDEBUGGER_EVENT_OPTIONS BroadcastingOption)
 routines for !crwrite
 
VOID BroadcastDisableMovToControlRegistersExitingAllCores (PDEBUGGER_EVENT_OPTIONS BroadcastingOption)
 routines for disabling !crwrite
 
VOID BroadcastEnableMovDebugRegistersExitingAllCores ()
 routines for !dr
 
VOID BroadcastDisableMovDebugRegistersExitingAllCores ()
 routines for disabling !dr
 
VOID BroadcastSetExternalInterruptExitingAllCores ()
 routines for !interrupt command which
 
VOID BroadcastUnsetExternalInterruptExitingOnlyOnClearingInterruptEventsAllCores ()
 routines for ONLY terminate !interrupt command
 
VOID BroadcastIoBitmapChangeAllCores (UINT64 Port)
 routines for !ioin and !ioout command which
 
VOID BroadcastIoBitmapResetAllCores ()
 routines for reset !ioin and !ioout command
 
VOID BroadcastEnableMovToCr3ExitingOnAllProcessors ()
 routines for debugging threads (enable mov-to-cr3 exiting)
 
VOID BroadcastChangeToMbecSupportedEptpOnAllProcessors ()
 routines for changing EPTP to an MBEC supported EPTP
 
VOID BroadcastRestoreToNormalEptpOnAllProcessors ()
 routines for restoring EPTP to normal EPTP
 
VOID BroadcasDisableMbecOnAllProcessors ()
 routines for disabling MBEC
 
VOID BroadcasEnableMbecOnAllProcessors ()
 routines for enabling MBEC
 
VOID BroadcastDisableMovToCr3ExitingOnAllProcessors ()
 routines for debugging threads (disable mov-to-cr3 exiting)
 
VOID BroadcastEnableEferSyscallEventsOnAllProcessors ()
 routines for enabling syscall hooks on all cores
 
VOID BroadcastDisableEferSyscallEventsOnAllProcessors ()
 routines for disabling syscall hooks on all cores
 
VOID BroadcastEnablePmlOnAllProcessors ()
 routines for enabling PML on all cores
 
VOID BroadcastDisablePmlOnAllProcessors ()
 routines for disabling PML on all cores
 

Detailed Description

Broadcast debugger function to all logical cores.

Author
Sina Karvandi (sina@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)

This file uses DPC to run its functions on all logical cores

Version
0.1
Date
2020-04-10

Function Documentation

◆ BroadcasDisableMbecOnAllProcessors()

VOID BroadcasDisableMbecOnAllProcessors ( )

routines for disabling MBEC

Returns
VOID
470{
471 KeGenericCallDpc(DpcRoutineEnableOrDisableMbec, 0x0);
472}
VOID DpcRoutineEnableOrDisableMbec(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast to enable or disable MBEC.
Definition DpcRoutines.c:540

◆ BroadcasEnableMbecOnAllProcessors()

VOID BroadcasEnableMbecOnAllProcessors ( )

routines for enabling MBEC

Returns
VOID
481{
482 KeGenericCallDpc(DpcRoutineEnableOrDisableMbec, (PVOID)0x1);
483}

◆ BroadcastChangeAllMsrBitmapReadAllCores()

VOID BroadcastChangeAllMsrBitmapReadAllCores ( UINT64 BitmapMask)

routines for !msrread command which

causes vm-exit on all msr reads

Parameters
BitmapMaskBit mask of msr to put on msr bitmap
Returns
VOID
161{
162 //
163 // Broadcast to all cores
164 //
165 KeGenericCallDpc(DpcRoutineChangeMsrBitmapReadOnAllCores, (PVOID)BitmapMask);
166}
VOID DpcRoutineChangeMsrBitmapReadOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disable Msr Bitmaps on all cores (vm-exit on all msrs)
Definition DpcRoutines.c:726

◆ BroadcastChangeAllMsrBitmapWriteAllCores()

VOID BroadcastChangeAllMsrBitmapWriteAllCores ( UINT64 BitmapMask)

routines for !msrwrite command which

causes vm-exit on all msr writes

Returns
VOID
188{
189 //
190 // Broadcast to all cores
191 //
192 KeGenericCallDpc(DpcRoutineChangeMsrBitmapWriteOnAllCores, (PVOID)BitmapMask);
193}
VOID DpcRoutineChangeMsrBitmapWriteOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disable Msr Bitmaps on all cores (vm-exit on all msrs)
Definition DpcRoutines.c:787

◆ BroadcastChangeToMbecSupportedEptpOnAllProcessors()

VOID BroadcastChangeToMbecSupportedEptpOnAllProcessors ( )

routines for changing EPTP to an MBEC supported EPTP

Returns
VOID
448{
449 KeGenericCallDpc(DpcRoutineChangeToMbecSupportedEptp, 0x0);
450}
VOID DpcRoutineChangeToMbecSupportedEptp(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast to change to MBEC supported EPTP.
Definition DpcRoutines.c:478

◆ BroadcastDisableBreakpointExitingOnExceptionBitmapAllCores()

VOID BroadcastDisableBreakpointExitingOnExceptionBitmapAllCores ( )

routines to disable vm-exit for breakpoints (exception bitmap)

Returns
VOID
78{
79 //
80 // Broadcast to all cores
81 //
83}
VOID DpcRoutineDisableBreakpointOnExceptionBitmapOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disable breakpoint exiting on exception bitmaps on all cores.
Definition DpcRoutines.c:1442

◆ BroadcastDisableDbAndBpExitingAllCores()

VOID BroadcastDisableDbAndBpExitingAllCores ( )

routines to unset vm-exit on all #DBs and #BP on all cores

Returns
VOID
50{
51 //
52 // Broadcast to all cores
53 //
54 KeGenericCallDpc(DpcRoutineDisableDbAndBpExitingOnAllCores, NULL);
55}
VOID DpcRoutineDisableDbAndBpExitingOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disable vm-exit on #DBs and #BPs on all cores.
Definition DpcRoutines.c:1571

◆ BroadcastDisableEferSyscallEventsOnAllProcessors()

VOID BroadcastDisableEferSyscallEventsOnAllProcessors ( )

routines for disabling syscall hooks on all cores

Returns
VOID
514{
515 KeGenericCallDpc(DpcRoutineDisableEferSyscallEvents, 0x0);
516}
VOID DpcRoutineDisableEferSyscallEvents(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast syscall unhook to all cores.
Definition DpcRoutines.c:633

◆ BroadcastDisableMov2ControlRegsExitingForClearingEventsAllCores()

VOID BroadcastDisableMov2ControlRegsExitingForClearingEventsAllCores ( PDEBUGGER_EVENT_OPTIONS BroadcastingOption)

routines ONLY for disabling !crwrite command

Parameters
Event
Returns
VOID
228{
229 //
230 // Broadcast to all cores
231 //
232 KeGenericCallDpc(DpcRoutineDisableMov2CrExitingForClearingCrEventsAllCores, BroadcastingOption);
233}
VOID DpcRoutineDisableMov2CrExitingForClearingCrEventsAllCores(KDPC *Dpc, DEBUGGER_EVENT_OPTIONS *EventOptions, PVOID SystemArgument1, PVOID SystemArgument2)
Disables mov to control registers exiting ONLY for clearing !crwrite events.
Definition DpcRoutines.c:976

◆ BroadcastDisableMov2DebugRegsExitingForClearingEventsAllCores()

VOID BroadcastDisableMov2DebugRegsExitingForClearingEventsAllCores ( )

routines ONLY for disabling !dr command

Returns
VOID
241{
242 //
243 // Broadcast to all cores
244 //
246}
VOID DpcRoutineDisableMov2DrExitingForClearingDrEventsAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disables mov to debug registers exiting ONLY for clearing !dr events.
Definition DpcRoutines.c:944

◆ BroadcastDisableMovDebugRegistersExitingAllCores()

VOID BroadcastDisableMovDebugRegistersExitingAllCores ( )

routines for disabling !dr

Returns
VOID
369{
370 //
371 // Broadcast to all cores
372 //
374}
VOID DpcRoutineDisableMovDebigRegisterExitingAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disables mov debug registers exitings.
Definition DpcRoutines.c:1254

◆ BroadcastDisableMovToControlRegistersExitingAllCores()

VOID BroadcastDisableMovToControlRegistersExitingAllCores ( PDEBUGGER_EVENT_OPTIONS BroadcastingOption)

routines for disabling !crwrite

Parameters
Event
Returns
VOID
342{
343 //
344 // Broadcast to all cores
345 //
346 KeGenericCallDpc(DpcRoutineDisableMovControlRegisterExitingAllCores, BroadcastingOption);
347}
VOID DpcRoutineDisableMovControlRegisterExitingAllCores(KDPC *Dpc, DEBUGGER_EVENT_OPTIONS *EventOptions, PVOID SystemArgument1, PVOID SystemArgument2)
Disables mov control registers exitings.
Definition DpcRoutines.c:1224

◆ BroadcastDisableMovToCr3ExitingOnAllProcessors()

VOID BroadcastDisableMovToCr3ExitingOnAllProcessors ( )

routines for debugging threads (disable mov-to-cr3 exiting)

Returns
VOID
492{
493 KeGenericCallDpc(DpcRoutineDisableMovToCr3Exiting, 0x0);
494}
VOID DpcRoutineDisableMovToCr3Exiting(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast to disable mov-to-cr3 exitings.
Definition DpcRoutines.c:571

◆ BroadcastDisableNmiExitingAllCores()

VOID BroadcastDisableNmiExitingAllCores ( )

routines to set vm-exit on all NMIs on all cores

Returns
VOID
106{
107 //
108 // Broadcast to all cores
109 //
110 KeGenericCallDpc(DpcRoutineDisableNmiVmexitOnAllCores, NULL);
111}
VOID DpcRoutineDisableNmiVmexitOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disable vm-exit on NMIs on all cores.
Definition DpcRoutines.c:1504

◆ BroadcastDisablePmlOnAllProcessors()

VOID BroadcastDisablePmlOnAllProcessors ( )

routines for disabling PML on all cores

Returns
VOID
536{
537 KeGenericCallDpc(DpcRoutineDisablePml, 0x0);
538}
VOID DpcRoutineDisablePml(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast disable PML on all cores.
Definition DpcRoutines.c:695

◆ BroadcastDisableRdpmcExitingAllCores()

VOID BroadcastDisableRdpmcExitingAllCores ( )

routines for disabling !pmc

Returns
VOID
268{
269 //
270 // Broadcast to all cores
271 //
272 KeGenericCallDpc(DpcRoutineDisableRdpmcExitingAllCores, NULL);
273}
VOID DpcRoutineDisableRdpmcExitingAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disable rdpmc exiting in primary cpu-based controls.
Definition DpcRoutines.c:1037

◆ BroadcastDisableRdtscExitingAllCores()

VOID BroadcastDisableRdtscExitingAllCores ( )

a broadcast that causes for disabling rdtsc/p exiting

Returns
VOID
146{
147 //
148 // Broadcast to all cores
149 //
150 KeGenericCallDpc(DpcRoutineDisableRdtscExitingAllCores, NULL);
151}
VOID DpcRoutineDisableRdtscExitingAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disables rdtsc/rdtscp exiting in primary cpu-based controls.
Definition DpcRoutines.c:879

◆ BroadcastDisableRdtscExitingForClearingEventsAllCores()

VOID BroadcastDisableRdtscExitingForClearingEventsAllCores ( )

routines ONLY for disabling !tsc command

Returns
VOID
214{
215 //
216 // Broadcast to all cores
217 //
219}
VOID DpcRoutineDisableRdtscExitingForClearingTscEventsAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disables rdtsc/rdtscp exiting in primary cpu-based controls ONLY for clearing !tsc events.
Definition DpcRoutines.c:911

◆ BroadcastEnableBreakpointExitingOnExceptionBitmapAllCores()

VOID BroadcastEnableBreakpointExitingOnExceptionBitmapAllCores ( )

routines to enable vm-exit for breakpoints (exception bitmap)

Returns
VOID
64{
65 //
66 // Broadcast to all cores
67 //
69}
VOID DpcRoutineEnableBreakpointOnExceptionBitmapOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Enable breakpoint exiting on exception bitmaps on all cores.
Definition DpcRoutines.c:1411

◆ BroadcastEnableDbAndBpExitingAllCores()

VOID BroadcastEnableDbAndBpExitingAllCores ( )

routines to set vm-exit on all #DBs and #BP on all cores

Returns
VOID
36{
37 //
38 // Broadcast to all cores
39 //
40 KeGenericCallDpc(DpcRoutineEnableDbAndBpExitingOnAllCores, NULL);
41}
VOID DpcRoutineEnableDbAndBpExitingOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Enable vm-exit on #DBs and #BPs on all cores.
Definition DpcRoutines.c:1535

◆ BroadcastEnableEferSyscallEventsOnAllProcessors()

VOID BroadcastEnableEferSyscallEventsOnAllProcessors ( )

routines for enabling syscall hooks on all cores

Returns
VOID
503{
504 KeGenericCallDpc(DpcRoutineEnableEferSyscallEvents, 0x0);
505}
VOID DpcRoutineEnableEferSyscallEvents(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast syscall hook to all cores.
Definition DpcRoutines.c:602

◆ BroadcastEnableMovControlRegisterExitingAllCores()

VOID BroadcastEnableMovControlRegisterExitingAllCores ( PDEBUGGER_EVENT_OPTIONS BroadcastingOption)

routines for !crwrite

causes vm-exit on all accesses to debug registers

Parameters
Event
Returns
VOID
328{
329 //
330 // Broadcast to all cores
331 //
332 KeGenericCallDpc(DpcRoutineEnableMovControlRegisterExitingAllCores, BroadcastingOption);
333}
VOID DpcRoutineEnableMovControlRegisterExitingAllCores(KDPC *Dpc, DEBUGGER_EVENT_OPTIONS *EventOptions, PVOID SystemArgument1, PVOID SystemArgument2)
Enables mov control registers exitings.
Definition DpcRoutines.c:1194

◆ BroadcastEnableMovDebugRegistersExitingAllCores()

VOID BroadcastEnableMovDebugRegistersExitingAllCores ( )

routines for !dr

causes vm-exit on all accesses to debug registers

Returns
VOID
356{
357 //
358 // Broadcast to all cores
359 //
361}
VOID DpcRoutineEnableMovDebigRegisterExitingAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Enables mov debug registers exitings.
Definition DpcRoutines.c:1163

◆ BroadcastEnableMovToCr3ExitingOnAllProcessors()

VOID BroadcastEnableMovToCr3ExitingOnAllProcessors ( )

routines for debugging threads (enable mov-to-cr3 exiting)

Returns
VOID
437{
438 KeGenericCallDpc(DpcRoutineEnableMovToCr3Exiting, 0x0);
439}
VOID DpcRoutineEnableMovToCr3Exiting(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast to enable mov-to-cr3 exitings.
Definition DpcRoutines.c:447

◆ BroadcastEnableNmiExitingAllCores()

VOID BroadcastEnableNmiExitingAllCores ( )

routines to set vm-exit on all NMIs on all cores

Returns
VOID
92{
93 //
94 // Broadcast to all cores
95 //
96 KeGenericCallDpc(DpcRoutineEnableNmiVmexitOnAllCores, NULL);
97}
VOID DpcRoutineEnableNmiVmexitOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Enable vm-exit on NMIs on all cores.
Definition DpcRoutines.c:1473

◆ BroadcastEnablePmlOnAllProcessors()

VOID BroadcastEnablePmlOnAllProcessors ( )

routines for enabling PML on all cores

Returns
VOID
525{
526 KeGenericCallDpc(DpcRoutineEnablePml, 0x0);
527}
VOID DpcRoutineEnablePml(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast enable PML on all cores.
Definition DpcRoutines.c:664

◆ BroadcastEnableRdpmcExitingAllCores()

VOID BroadcastEnableRdpmcExitingAllCores ( )

routines for !pmc

causes vm-exit on all execution of rdpmc

Returns
VOID
255{
256 //
257 // Broadcast to all cores
258 //
259 KeGenericCallDpc(DpcRoutineEnableRdpmcExitingAllCores, NULL);
260}
VOID DpcRoutineEnableRdpmcExitingAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Enables rdpmc exiting in primary cpu-based controls.
Definition DpcRoutines.c:1006

◆ BroadcastEnableRdtscExitingAllCores()

VOID BroadcastEnableRdtscExitingAllCores ( )

a broadcast that causes vm-exit on all execution of rdtsc/rdtscp

Returns
VOID
133{
134 //
135 // Broadcast to all cores
136 //
137 KeGenericCallDpc(DpcRoutineEnableRdtscExitingAllCores, NULL);
138}
VOID DpcRoutineEnableRdtscExitingAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Enables rdtsc/rdtscp exiting in primary cpu-based controls.
Definition DpcRoutines.c:848

◆ BroadcastIoBitmapChangeAllCores()

VOID BroadcastIoBitmapChangeAllCores ( UINT64 Port)

routines for !ioin and !ioout command which

causes vm-exit on all i/o instructions or one port

Returns
VOID
410{
411 //
412 // Broadcast to all cores
413 //
414 KeGenericCallDpc(DpcRoutineChangeIoBitmapOnAllCores, (PVOID)Port);
415}
VOID DpcRoutineChangeIoBitmapOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Change I/O Bitmaps on all cores.
Definition DpcRoutines.c:1350

◆ BroadcastIoBitmapResetAllCores()

VOID BroadcastIoBitmapResetAllCores ( )

routines for reset !ioin and !ioout command

Returns
VOID
423{
424 //
425 // Broadcast to all cores
426 //
427 KeGenericCallDpc(DpcRoutineResetIoBitmapOnAllCores, NULL);
428}
VOID DpcRoutineResetIoBitmapOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Reset I/O Bitmaps on all cores.
Definition DpcRoutines.c:1380

◆ BroadcastNotifyAllToInvalidateEptAllCores()

VOID BroadcastNotifyAllToInvalidateEptAllCores ( )

routines to notify to invalidate their ept on all cores

Returns
VOID
120{
121 //
122 // Broadcast to all cores
123 //
124 KeGenericCallDpc(DpcRoutineInvalidateEptOnAllCores, (PVOID)TRUE);
125}
#define TRUE
Definition BasicTypes.h:55
VOID DpcRoutineInvalidateEptOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
The broadcast function which invalidate EPT using Vmcall.
Definition DpcRoutines.c:1671

◆ BroadcastResetAllMsrBitmapWriteAllCores()

VOID BroadcastResetAllMsrBitmapWriteAllCores ( )

routines for reset !msrwrite command which

Returns
VOID
201{
202 //
203 // Broadcast to all cores
204 //
205 KeGenericCallDpc(DpcRoutineResetMsrBitmapWriteOnAllCores, NULL);
206}
VOID DpcRoutineResetMsrBitmapWriteOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Reset Msr Bitmaps on all cores (vm-exit on all msrs)
Definition DpcRoutines.c:817

◆ BroadcastResetChangeAllMsrBitmapReadAllCores()

VOID BroadcastResetChangeAllMsrBitmapReadAllCores ( )

routines for disable (reset) !msrread command

Returns
VOID
174{
175 //
176 // Broadcast to all cores
177 //
178 KeGenericCallDpc(DpcRoutineResetMsrBitmapReadOnAllCores, NULL);
179}
VOID DpcRoutineResetMsrBitmapReadOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Reset Msr Bitmaps on all cores (vm-exit on all msrs)
Definition DpcRoutines.c:756

◆ BroadcastResetExceptionBitmapAllCores()

VOID BroadcastResetExceptionBitmapAllCores ( )

routines for reset !exception command

Returns
VOID
313{
314 //
315 // Broadcast to all cores
316 //
318}
VOID DpcRoutineResetExceptionBitmapOnlyOnClearingExceptionEventsOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Reset Exception Bitmaps on all cores.
Definition DpcRoutines.c:1129

◆ BroadcastRestoreToNormalEptpOnAllProcessors()

VOID BroadcastRestoreToNormalEptpOnAllProcessors ( )

routines for restoring EPTP to normal EPTP

Returns
VOID
459{
460 KeGenericCallDpc(DpcRoutineRestoreToNormalEptp, 0x0);
461}
VOID DpcRoutineRestoreToNormalEptp(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast to restore to normal EPTP.
Definition DpcRoutines.c:509

◆ BroadcastSetExceptionBitmapAllCores()

VOID BroadcastSetExceptionBitmapAllCores ( UINT64 ExceptionIndex)

routines for !exception command which

causes vm-exit when exception occurred

Parameters
ExceptionIndexindex of exception on IDT
Returns
VOID
284{
285 //
286 // Broadcast to all cores
287 //
288 KeGenericCallDpc(DpcRoutineSetExceptionBitmapOnAllCores, (PVOID)ExceptionIndex);
289}
VOID DpcRoutineSetExceptionBitmapOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Enable Exception Bitmaps on all cores.
Definition DpcRoutines.c:1068

◆ BroadcastSetExternalInterruptExitingAllCores()

VOID BroadcastSetExternalInterruptExitingAllCores ( )

routines for !interrupt command which

causes vm-exit when external interrupt occurs

Returns
VOID
383{
384 //
385 // Broadcast to all cores
386 //
388}
VOID DpcRoutineSetEnableExternalInterruptExitingOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Enable vm-exit on all cores for external interrupts.
Definition DpcRoutines.c:1285

◆ BroadcastUnsetExceptionBitmapAllCores()

VOID BroadcastUnsetExceptionBitmapAllCores ( UINT64 ExceptionIndex)

routines for disabling exception bitmap

removes vm-exit when exception occurred

Parameters
ExceptionIndexindex of exception on IDT
Returns
VOID
300{
301 //
302 // Broadcast to all cores
303 //
304 KeGenericCallDpc(DpcRoutineUnsetExceptionBitmapOnAllCores, (PVOID)ExceptionIndex);
305}
VOID DpcRoutineUnsetExceptionBitmapOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disable Exception Bitmaps on all cores.
Definition DpcRoutines.c:1098

◆ BroadcastUnsetExternalInterruptExitingOnlyOnClearingInterruptEventsAllCores()

VOID BroadcastUnsetExternalInterruptExitingOnlyOnClearingInterruptEventsAllCores ( )

routines for ONLY terminate !interrupt command

Returns
VOID
396{
397 //
398 // Broadcast to all cores
399 //
401}
VOID DpcRoutineSetDisableExternalInterruptExitingOnlyOnClearingInterruptEventsOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disable vm-exit on all cores for external interrupts only for clearing !interrupt events.
Definition DpcRoutines.c:1316

◆ BroadcastVmxVirtualizationAllCores()

VOID BroadcastVmxVirtualizationAllCores ( )

routines to broadcast virtualization and vmx initialization on all cores

Returns
VOID
22{
23 //
24 // Broadcast to all cores
25 //
26 KeGenericCallDpc(DpcRoutinePerformVirtualization, NULL);
27}
BOOLEAN DpcRoutinePerformVirtualization(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast VmxPerformVirtualizationOnSpecificCore.
Definition DpcRoutines.c:128