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