Initialize the dirty logging mechanism.
22{
23 ULONG ProcessorsCount;
24
25
26
27
28 ProcessorsCount = KeQueryActiveProcessorCount(0);
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
46 {
47 LogWarning(
"err, dirty logging mechanism is not initialized as the processor doesn't support PML");
49 }
50
51
52
53
54
55
56 for (size_t i = 0; i < ProcessorsCount; i++)
57 {
59 {
61 }
62
64 {
65
66
67
68 for (size_t j = 0; j < ProcessorsCount; j++)
69 {
71 {
73 }
74 }
75
77 }
78
79
80
81
83 }
84
85
86
87
89
90
91
92
94}
unsigned long ULONG
Definition BasicTypes.h:37
VOID BroadcastEnablePmlOnAllProcessors()
routines for enabling PML on all cores
Definition Broadcast.c:524
VIRTUAL_MACHINE_STATE * g_GuestState
Save the state and variables related to virtualization on each to logical core.
Definition GlobalVariables.h:38
COMPATIBILITY_CHECKS_STATUS g_CompatibilityCheck
Different attributes and compatibility checks of the current processor.
Definition GlobalVariables.h:26
#define LogWarning(format,...)
Log in the case of warning.
Definition HyperDbgHyperLogIntrinsics.h:99
PVOID PlatformMemAllocateNonPagedPool(SIZE_T NumberOfBytes)
Allocate a non-paged buffer.
Definition Mem.c:41
VOID PlatformMemFreePool(PVOID BufferAddress)
Free (dellocate) a non-paged buffer.
Definition Mem.c:86
BOOLEAN PmlSupport
Definition CompatibilityChecks.h:27