Bitdefender Hypervisor Memory Introspection
|
#include "intro_types.h"
Go to the source code of this file.
Macros | |
#define | PAGE_SIZE_4K 4096u |
#define | PAGE_OFFSET_MASK_4K (PAGE_SIZE_4K - 1) |
#define | PAGE_MAX_OFFSET_4K PAGE_OFFSET_MASK_4K |
#define | PAGE_BASE_MASK_4K (0xFFFFFFFFFFFFFFFFULL - PAGE_MAX_OFFSET_4K) |
#define | PAGE_SIZE_2M (2 * ONE_MEGABYTE) |
#define | PAGE_OFFSET_MASK_2M (PAGE_SIZE_2M - 1) |
#define | PAGE_MAX_OFFSET_2M PAGE_OFFSET_MASK_2M |
#define | PAGE_BASE_MASK_2M (0xFFFFFFFFFFFFFFFFULL - PAGE_MAX_OFFSET_2M) |
#define | PAGE_SIZE_4M (4 * ONE_MEGABYTE) |
#define | PAGE_OFFSET_MASK_4M (PAGE_SIZE_4M - 1) |
#define | PAGE_MAX_OFFSET_4M PAGE_OFFSET_MASK_4M |
#define | PAGE_BASE_MASK_4M (0xFFFFFFFFFFFFFFFFULL - PAGE_MAX_OFFSET_4M) |
#define | PAGE_SIZE_1G (ONE_GIGABYTE) |
#define | PAGE_OFFSET_MASK_1G (PAGE_SIZE_1G - 1) |
#define | PAGE_MAX_OFFSET_1G PAGE_OFFSET_MASK_1G |
#define | PAGE_BASE_MASK_1G (0xFFFFFFFFFFFFFFFFULL - PAGE_MAX_OFFSET_1G) |
#define | PAGE_SIZE PAGE_SIZE_4K |
#define | PAGE_OFFSET_MASK PAGE_OFFSET_MASK_4K |
#define | PAGE_OFFSET PAGE_OFFSET_MASK |
#define | PAGE_MAX_OFFSET PAGE_MAX_OFFSET_4K |
#define | PAGE_BASE_MASK PAGE_BASE_MASK_4K |
#define | PAGE_MASK PAGE_BASE_MASK |
#define | PHYS_PAGE_MASK 0x000FFFFFFFFFF000ULL |
#define | PML5_P BIT(0) |
#define | PML5_RW BIT(1) |
#define | PML5_US BIT(2) |
#define | PML5_PWT BIT(3) |
#define | PML5_PCD BIT(4) |
#define | PML5_A BIT(5) |
#define | PML5_PS BIT(7) |
#define | PML5_LNK BIT(9) |
#define | PML5_USED BIT(10) |
#define | PML4_P BIT(0) |
#define | PML4_RW BIT(1) |
#define | PML4_US BIT(2) |
#define | PML4_PWT BIT(3) |
#define | PML4_PCD BIT(4) |
#define | PML4_A BIT(5) |
#define | PML4_PS BIT(7) |
#define | PML4_LNK BIT(9) |
#define | PML4_USED BIT(10) |
#define | PDP_P BIT(0) |
#define | PDP_RW BIT(1) |
#define | PDP_US BIT(2) |
#define | PDP_PWT BIT(3) |
#define | PDP_PCD BIT(4) |
#define | PDP_A BIT(5) |
#define | PDP_PS BIT(7) |
#define | PDP_LNK BIT(9) |
#define | PDP_USED BIT(10) |
#define | PD_P BIT(0) |
#define | PD_RW BIT(1) |
#define | PD_US BIT(2) |
#define | PD_PWT BIT(3) |
#define | PD_PCD BIT(4) |
#define | PD_A BIT(5) |
#define | PD_D BIT(6) |
#define | PD_PS BIT(7) |
#define | PD_G BIT(8) |
#define | PD_LNK BIT(9) |
#define | PD_USED BIT(10) |
#define | PT_P BIT(0) |
#define | PT_RW BIT(1) |
#define | PT_US BIT(2) |
#define | PT_PWT BIT(3) |
#define | PT_PCD BIT(4) |
#define | PT_A BIT(5) |
#define | PT_D BIT(6) |
#define | PT_PAT BIT(7) |
#define | PT_G BIT(8) |
#define | PT_XD BIT(63) |
#define | PML5_INDEX(a) (DWORD)(((a) & 0x01ff000000000000) >> 48) |
#define | PML4_INDEX(a) (DWORD)(((a) & 0x0000ff8000000000) >> 39) |
#define | PDP_INDEX(a) (DWORD)(((a) & 0x0000007fc0000000) >> 30) |
#define | PD_INDEX(a) (DWORD)(((a) & 0x000000003fe00000) >> 21) |
#define | PT_INDEX(a) (DWORD)(((a) & 0x00000000001ff000) >> 12) |
#define | PDPPAE_INDEX(a) (DWORD)(((a) & 0x00000000c0000000) >> 30) |
#define | PDPAE_INDEX(a) (DWORD)(((a) & 0x000000003fe00000) >> 21) |
#define | PTPAE_INDEX(a) (DWORD)(((a) & 0x00000000001ff000) >> 12) |
#define | PD32_INDEX(a) (DWORD)(((a) & 0x00000000ffc00000) >> 22) |
#define | PT32_INDEX(a) (DWORD)(((a) & 0x00000000003ff000) >> 12) |
#define | CR3_LEGACY_PAE_MASK 0x00000000FFFFFFE0 |
#define | CR3_LEGACY_NON_PAE_MASK 0x00000000FFFFF000 |
#define | CR3_LONG_MODE_MASK PHYS_PAGE_MASK |
#define | CLEAN_PHYS_ADDRESS64(x) ((x) & CR3_LONG_MODE_MASK) |
#define | CLEAN_PHYS_ADDRESS32(x) ((x) & CR3_LEGACY_NON_PAE_MASK) |
#define | CLEAN_PHYS_ADDRESS32PAE(x) ((x) & CR3_LONG_MODE_MASK) |
#define | CLEAN_PHYS_ADDRESS32PAE_ROOT(x) ((x) & CR3_LEGACY_PAE_MASK) |
#define | PAGE_SX(addr) (((addr) & 0x800000000000) ? ((addr) | 0xFFFF000000000000) : (addr)) |
#define | PAGE_SPLIT(p, s) (((p) & PAGE_OFFSET) > (((p) + (s) - 1) & PAGE_OFFSET)) |
#define | PAGE_REMAINING(addr) (PAGE_SIZE_4K - ((addr) & PAGE_OFFSET_MASK_4K)) |
#define | PAGE_OFFSET_4K(addr) ((addr) & PAGE_OFFSET_MASK_4K) |
#define | PAGE_FRAME_NUMBER_4K(addr) ((addr) >> 12ULL) |
#define | PAGE_COUNT_4K(addr, bytes) (PAGE_FRAME_NUMBER_4K(PAGE_OFFSET_4K(addr) + (bytes) + PAGE_MAX_OFFSET_4K)) |
#define | PAGE_FRAME_NUMBER(addr) PAGE_FRAME_NUMBER_4K(addr) |
#define | PAGE_COUNT(addr, bytes) PAGE_COUNT_4K(addr, bytes) |
#define CLEAN_PHYS_ADDRESS32 | ( | x | ) | ((x) & CR3_LEGACY_NON_PAE_MASK) |
Clears any reserved bits from a 32-bit physical address.
[in] | x | Physical address to clean. |
Definition at line 126 of file pgtable.h.
Referenced by IntHookPtsSetHook(), IntTranslateVa32(), and IntWinPfnHandleTranslationChange().
#define CLEAN_PHYS_ADDRESS32PAE | ( | x | ) | ((x) & CR3_LONG_MODE_MASK) |
Clears any reserved bits from a 32-bit PAE physical address.
[in] | x | Physical address to clean. |
Definition at line 133 of file pgtable.h.
Referenced by IntTranslateVa32Pae(), and IntWinPfnHandleTranslationChange().
#define CLEAN_PHYS_ADDRESS32PAE_ROOT | ( | x | ) | ((x) & CR3_LEGACY_PAE_MASK) |
Clears any reserved bits from PAE root-table entry.
[in] | x | Physical address to clean. |
Definition at line 140 of file pgtable.h.
Referenced by IntHookPtsSetHook(), and IntTranslateVa32Pae().
#define CLEAN_PHYS_ADDRESS64 | ( | x | ) | ((x) & CR3_LONG_MODE_MASK) |
Clears any reserved bits from a long-mode physical address.
[in] | x | Physical address to clean. |
Definition at line 119 of file pgtable.h.
Referenced by IntDispatchVeAsEpt(), IntHookGvaHandleSwap(), IntHookPtsCreateEntry(), IntHookPtsHandleModification(), IntHookPtsSetHook(), IntLixTaskFindByCr3(), IntMemClkHandleSwap(), IntTranslateVa64(), IntTranslateVa64La57(), IntVasPageTableWriteCallback(), IntVeHandleSwap(), IntWinPfnHandleTranslationChange(), and IntWinSelfMapHandleCr3SelfMapWrite().
#define CR3_LEGACY_NON_PAE_MASK 0x00000000FFFFF000 |
Definition at line 111 of file pgtable.h.
Referenced by IntGuestHandleCr3Write().
#define CR3_LEGACY_PAE_MASK 0x00000000FFFFFFE0 |
Definition at line 110 of file pgtable.h.
Referenced by IntGuestHandleCr3Write().
#define CR3_LONG_MODE_MASK PHYS_PAGE_MASK |
Definition at line 112 of file pgtable.h.
Referenced by IntGuestHandleCr3Write(), and IntLixGetKernelCr3().
#define PAGE_BASE_MASK PAGE_BASE_MASK_4K |
#define PAGE_BASE_MASK_1G (0xFFFFFFFFFFFFFFFFULL - PAGE_MAX_OFFSET_1G) |
#define PAGE_BASE_MASK_2M (0xFFFFFFFFFFFFFFFFULL - PAGE_MAX_OFFSET_2M) |
Definition at line 18 of file pgtable.h.
Referenced by IntLixFindDataStart().
#define PAGE_BASE_MASK_4K (0xFFFFFFFFFFFFFFFFULL - PAGE_MAX_OFFSET_4K) |
#define PAGE_BASE_MASK_4M (0xFFFFFFFFFFFFFFFFULL - PAGE_MAX_OFFSET_4M) |
#define PAGE_COUNT | ( | addr, | |
bytes | |||
) | PAGE_COUNT_4K(addr, bytes) |
Obtains the number of 4KB in which a memory range is split.
[in] | addr | Base virtual address. |
[in] | bytes | The length of the memory range. |
Definition at line 189 of file pgtable.h.
Referenced by _IntLixTaskRead(), IntLixCredInitMap(), IntLixFsrRead(), IntPhysMemMap(), and IntPhysMemReadWrite().
#define PAGE_COUNT_4K | ( | addr, | |
bytes | |||
) | (PAGE_FRAME_NUMBER_4K(PAGE_OFFSET_4K(addr) + (bytes) + PAGE_MAX_OFFSET_4K)) |
Obtains the number of 4KB in which a memory range is split.
[in] | addr | Base virtual address. |
[in] | bytes | The length of the memory range. |
Definition at line 174 of file pgtable.h.
Referenced by IntDecEmulateRead(), and IntVirtMemMap().
#define PAGE_FRAME_NUMBER | ( | addr | ) | PAGE_FRAME_NUMBER_4K(addr) |
Obtains the 4KB page frame number for virtual address.
[in] | addr | Address for which to get the page frame number. |
Definition at line 181 of file pgtable.h.
Referenced by _IntLixTaskRead(), IntExceptVerifyCodeBlocksSig(), IntKsymFindIndexesTableStart(), IntKsymFindMarkersTableEnd(), IntKsymFindNamesTableEnd(), IntLixFsrRead(), and IntLixKernelHandleRead().
#define PAGE_MASK PAGE_BASE_MASK |
Definition at line 35 of file pgtable.h.
Referenced by _IntLixTaskRead(), IntAlertEptFillFromVictimZone(), IntAlertFillCodeBlocks(), IntAlertFillDpiExtraInfo(), IntAlertFillExecContext(), IntDecDecodeInstruction(), IntDetSetHook(), IntExceptDumpSignatures(), IntExceptGetVictimEpt(), IntExceptInvCbCacheByGva(), IntExceptUserLogWindowsInformation(), IntExceptVerifyCodeBlocksSig(), IntExceptVerifyValueCodeSig(), IntHandleDtrViolation(), IntHandleEptViolation(), IntHandleEventInjection(), IntHandleFetchRetryOnPageBoundary(), IntHandleMemAccess(), IntHandlePageBoundaryCow(), IntHookGpaGetEPTPageProtection(), IntHookGpaIsPageHooked(), IntHookGpaSetHook(), IntHookGvaSetHook(), IntHookPtwEmulateWrite(), IntIcAddInstruction(), IntIcAddInvdForInstruction(), IntIcFlushGvaPage(), IntIntegrityCheckAll(), IntKsymInitAbsolute(), IntKsymRelativeFindOffsetTableStart(), IntLixCredInitMap(), IntLixDrvFindList(), IntLixFindDataStart(), IntLixFsrRead(), IntLixGetInitTask(), IntLixGuestFindKernelBase(), IntLixGuestFindKernelVersionAndRo(), IntLixMmGetInitMm(), IntLixStackTraceGet(), IntLixVdsoDynamicProtectRelocate(), IntLixVdsoHandleWriteCommon(), IntLogCriticalStructureCoruption(), IntMemClkCloakRegion(), IntMemClkHandleSwap(), IntMemClkHashRegion(), IntPeFindExportByRva(), IntPeFindFunctionStart(), IntPeGetRuntimeFunction(), IntPhysMemUnmap(), IntReadString(), IntSerializeCodeBlocksPattern(), IntSerializeDpiWinHeapSpray(), IntSerializeDpiWinThreadStart(), IntSerializeExtractCodeBlocks(), IntSerializeRipCode(), IntShcIsSuspiciousCode(), IntSwapMemCancelPendingPF(), IntSwapMemReadData(), IntThrSafeIsStackPtrInIntro(), IntThrSafeMoveReturn(), IntThrSafeWinInspectRunningThreadOnCpu(), IntValidateRangeForWrite(), IntVirtMemSafeWrite(), IntWinCrashHandleDepViolation(), IntWinDpiGetViolationAddress(), IntWinDpiValidateHeapSpray(), IntWinDpiValidateThreadStart(), IntWinDrvCreateFromAddress(), IntWinDrvHandleRead(), IntWinDrvHeadersInMemory(), IntWinGuestFindBuildNumber(), IntWinGuestFindKernel(), IntWinGuestValidateKernel(), IntWinHalHandleDispatchTableWrite(), IntWinHalHandleHalHeapExec(), IntWinModPolyHandler(), IntWinNetCheckPartition(), IntWinNetFillTcpStruct(), IntWinNetFindTcpBitmap(), IntWinNetFindTcpPartition(), IntWinNetSearchForAlloc(), IntWinObjFindRootDirectory(), IntWinPfnFindByGva(), IntWinPfnLockAddress(), IntWinPfnMoveLock(), IntWinPfnUnlockAddress(), IntWinProcHandleInstrument(), IntWinStackHandleUserStackPagedOut(), IntWinStackTraceGet32(), IntWinStackTraceGet64(), IntWinStackTraceGetUser32(), IntWinTokenPrivsShouldHook(), IntWinTokenProtectPrivsInternal(), IntWinVadAdjustRange(), IntWinVadFetchByRange(), IntWinVadFindAndUpdateIfNecessary(), IntWinVadHandleCommit(), IntWinVadHandleDeleteVaRange(), IntWinVadHandleFinishVadDeletion(), IntWinVadHandleProtectGeneric(), IntWinVadHandleVirtualProtect(), IntWinVadProcImportMainModuleVad(), and IntWinVadRemoveRange().
#define PAGE_MAX_OFFSET PAGE_MAX_OFFSET_4K |
#define PAGE_MAX_OFFSET_1G PAGE_OFFSET_MASK_1G |
#define PAGE_MAX_OFFSET_2M PAGE_OFFSET_MASK_2M |
#define PAGE_MAX_OFFSET_4K PAGE_OFFSET_MASK_4K |
#define PAGE_MAX_OFFSET_4M PAGE_OFFSET_MASK_4M |
#define PAGE_OFFSET PAGE_OFFSET_MASK |
Definition at line 32 of file pgtable.h.
Referenced by _IntLixTaskRead(), IntAlertEptFillFromVictimZone(), IntAlertFillCodeBlocks(), IntDecEmulatePTWrite(), IntDumpCodeAndRegs(), IntEngDumpCodeAndRegs(), IntExceptDumpSignatures(), IntExceptVerifyCodeBlocksSig(), IntFragDumpBlocks(), IntGpaCacheFetchAndAdd(), IntGpaCachePatchAndAdd(), IntHandleEptViolation(), IntHookGpaSetHook(), IntHookGvaSetHook(), IntHookPtsCreateEntry(), IntIcFlushGvaPage(), IntIntegrityCheckAll(), IntIterateVirtualAddressSpace(), IntKsymFindIndexesTableStart(), IntKsymFindMarkersTableEnd(), IntKsymFindNamesTableEnd(), IntKsymRelativeFindOffsetTableEnd(), IntLixCredCalculateCrc32Region(), IntLixDrvHandleWrite(), IntLixDrvIsLegitimateTextPoke(), IntLixDrvSendViolationEvent(), IntLixFsrRead(), IntLixGetInitTask(), IntLixKernelHandleRead(), IntLixMmGetInitMm(), IntLixStackTraceGet(), IntLixTaskFetchCmdLine(), IntLixVdsoHandleWriteCommon(), IntMemClkCloakRegion(), IntMemClkHandleRead(), IntMemClkHashRegion(), IntPeFindExportByRva(), IntPeFindFunctionStart(), IntPeFindFunctionStartInBuffer(), IntPeGetRuntimeFunction(), IntPeValidateHeader(), IntPhysMemFastMap(), IntPtiMonitorAllPtWriteCandidates(), IntSerializeCodeBlocksGetExtractRange(), IntSerializeCodeBlocksPattern(), IntShcIsSuspiciousCode(), IntSlackAllocWindows(), IntThrSafeWinInspectWaitingThread(), IntUnpPageExecuteCallback(), IntVasPageTableWriteCallback(), IntVeHandleAccess(), IntVeHandleEPTViolationInProtectedView(), IntWinDrvIsListHead(), IntWinDrvObjHandleWrite(), IntWinGuestFindDriversNamespaceNoBuffer(), IntWinGuestFindKernelCr3(), IntWinGuestFindKernelObjectsInternal(), IntWinGuestValidateKernel(), IntWinHalHandleHalHeapExec(), IntWinModPolyHandler(), IntWinNetFillTcpStruct(), IntWinNetFindTcpPartition(), IntWinNetGetTcpPortPool(), IntWinNetGetTcpPortPoolFromCompartment(), IntWinNetSearchForAlloc(), IntWinStackTraceGet64(), IntWinTokenPrivsHandleWrite(), and IntWinTokenPrivsShouldHook().
#define PAGE_OFFSET_4K | ( | addr | ) | ((addr) & PAGE_OFFSET_MASK_4K) |
#define PAGE_OFFSET_MASK PAGE_OFFSET_MASK_4K |
#define PAGE_OFFSET_MASK_1G (PAGE_SIZE_1G - 1) |
#define PAGE_OFFSET_MASK_2M (PAGE_SIZE_2M - 1) |
Definition at line 16 of file pgtable.h.
Referenced by IntLixFindDataStart().
#define PAGE_OFFSET_MASK_4K (PAGE_SIZE_4K - 1) |
#define PAGE_OFFSET_MASK_4M (PAGE_SIZE_4M - 1) |
#define PAGE_REMAINING | ( | addr | ) | (PAGE_SIZE_4K - ((addr) & PAGE_OFFSET_MASK_4K)) |
Computes the size of the memory range between a given address and the end of the 4KB memory page that maps that address.
[in] | addr | Memory address for which to do the computation. |
Definition at line 163 of file pgtable.h.
Referenced by _IntLixTaskRead(), _IntLixTaskStartMap(), DbgDumpCodeblocks(), IntDecDecodeInstruction(), IntExceptVerifyValueCodeSig(), IntHandleEptViolation(), IntHookObjectHookRegion(), IntIntegrityAddRegion(), IntIntegrityCheckAll(), IntIntegrityRecalculate(), IntKsymFindIndexesTableStart(), IntKsymFindMarkersReducedTableEnd(), IntKsymFindMarkersTableEnd(), IntKsymFindNamesTableEnd(), IntLixCredCalculateCrc32Region(), IntLixCredInitMap(), IntLixDrvIsLegitimateTextPoke(), IntLixDumpStacktrace(), IntLixFsrInitMap(), IntLixFsrRead(), IntLixGuestClearGuestMemory(), IntLixPatchSwapgs(), IntMemClkCloakRegion(), IntMemClkHandleSwap(), IntPeGetRuntimeFunction(), IntPhysMemReadWrite(), IntPhysMemReadWriteAnySize(), IntReadString(), IntSlackAllocLinux(), IntSlackAllocWindows(), IntSwapMemReadData(), IntThrSafeIsStackPtrInIntro(), IntThrSafeMoveReturn(), IntThrSafeWinInspectWaitingThread(), IntVirtMemReadWrite(), IntVirtMemSafeWrite(), IntVirtMemSet(), IntWinGuestValidateKernel(), IntWinStackTraceGet32(), IntWinStackTraceGetUser32(), and IntWinStackTraceGetUser64().
#define PAGE_SIZE PAGE_SIZE_4K |
#define PAGE_SIZE_1G (ONE_GIGABYTE) |
Definition at line 25 of file pgtable.h.
Referenced by IntHookPtsGetPageSize(), IntIterateVirtualAddressSpaceRec(), IntTranslateVa64(), IntTranslateVa64La57(), and IntVasGetPageSize().
#define PAGE_SIZE_2M (2 * ONE_MEGABYTE) |
Definition at line 15 of file pgtable.h.
Referenced by IntHookPtsGetPageSize(), IntIterateVirtualAddressSpaceRec(), IntLixDepDeployFileHypercall(), IntTranslateVa32Pae(), IntTranslateVa64(), IntTranslateVa64La57(), and IntVasGetPageSize().
#define PAGE_SIZE_4K 4096u |
Definition at line 10 of file pgtable.h.
Referenced by IntDecEmulateRead(), IntHookGpaSetHook(), IntHookPtsGetPageSize(), IntIterateVirtualAddressSpaceRec(), IntSwapMemReadData(), IntTranslateVa32(), IntTranslateVa32Pae(), IntTranslateVa64(), IntTranslateVa64La57(), IntVasGetPageSize(), IntVirtMemMap(), IntVirtMemMapMultiPage(), IntWinPfnHandleTranslationChange(), and IntWinPfnLockAddress().
#define PAGE_SIZE_4M (4 * ONE_MEGABYTE) |
Definition at line 20 of file pgtable.h.
Referenced by IntHookPtsGetPageSize(), IntIterateVirtualAddressSpaceRec(), IntTranslateVa32(), and IntVasGetPageSize().
#define PAGE_SPLIT | ( | p, | |
s | |||
) | (((p) & PAGE_OFFSET) > (((p) + (s) - 1) & PAGE_OFFSET)) |
#define PAGE_SX | ( | addr | ) | (((addr) & 0x800000000000) ? ((addr) | 0xFFFF000000000000) : (addr)) |
Checks if a memory address is sign-extended.
[in] | addr | Memory address to check. |
Definition at line 147 of file pgtable.h.
Referenced by IntIterateVirtualAddressSpaceRec().
#define PD32_INDEX | ( | a | ) | (DWORD)(((a) & 0x00000000ffc00000) >> 22) |
Definition at line 107 of file pgtable.h.
Referenced by IntHookPtsSetHook(), IntSplitVirtualAddress(), and IntTranslateVa32().
#define PD_INDEX | ( | a | ) | (DWORD)(((a) & 0x000000003fe00000) >> 21) |
Definition at line 97 of file pgtable.h.
Referenced by IntHookPtsSetHook(), IntSplitVirtualAddress(), IntTranslateVa64(), IntTranslateVa64La57(), and IntVeIsAgentRemapped().
#define PD_P BIT(0) |
Definition at line 71 of file pgtable.h.
Referenced by IntLixDrvInitVfreeHandler(), IntTranslateVa32(), IntTranslateVa32Pae(), IntTranslateVa64(), IntTranslateVa64La57(), and IntVasPageTableWriteCallback().
#define PD_PS BIT(7) |
Definition at line 78 of file pgtable.h.
Referenced by IntHookPtsCreateEntry(), IntHookPtsHandleModification(), IntIterateVirtualAddressSpaceRec(), IntTranslateVa32(), IntTranslateVa32Pae(), IntTranslateVa64(), IntTranslateVa64La57(), IntVasHookTables(), and IntVasPageTableWriteCallback().
#define PD_RW BIT(1) |
Definition at line 72 of file pgtable.h.
Referenced by IntLixDrvInitVfreeHandler().
#define PDP_INDEX | ( | a | ) | (DWORD)(((a) & 0x0000007fc0000000) >> 30) |
Definition at line 96 of file pgtable.h.
Referenced by IntHookPtsSetHook(), IntSplitVirtualAddress(), IntTranslateVa64(), IntTranslateVa64La57(), and IntVeIsAgentRemapped().
#define PDP_P BIT(0) |
Definition at line 61 of file pgtable.h.
Referenced by IntHookPtsSetHook(), and IntTranslateVa32Pae().
#define PDP_PS BIT(7) |
Definition at line 67 of file pgtable.h.
Referenced by IntHookPtsSetHook(), IntIterateVirtualAddressSpaceRec(), IntTranslateVa64(), IntTranslateVa64La57(), and IntVasHookTables().
#define PDPAE_INDEX | ( | a | ) | (DWORD)(((a) & 0x000000003fe00000) >> 21) |
Definition at line 103 of file pgtable.h.
Referenced by IntTranslateVa32Pae().
#define PDPPAE_INDEX | ( | a | ) | (DWORD)(((a) & 0x00000000c0000000) >> 30) |
Definition at line 102 of file pgtable.h.
Referenced by IntHookPtsSetHook(), and IntTranslateVa32Pae().
#define PHYS_PAGE_MASK 0x000FFFFFFFFFF000ULL |
Definition at line 38 of file pgtable.h.
Referenced by DbgVaSpaceIterationCallback(), DbgVaSpaceIterationCallbackCount(), IntAlertEptFillFromVictimZone(), IntDumpCodeAndRegs(), IntGpaCacheAddEntry(), IntGpaCacheLookupEntry(), IntGpaCacheRelease(), IntHandleEptViolation(), IntHandleMemAccess(), IntHookGpaGetEptEntry(), IntHookGpaGetExistingEptEntry(), IntHookPtmAddTable(), IntIcAddInvdForInstruction(), IntIcFlushGpaPage(), IntIterateVirtualAddressSpaceRec(), IntMemClkHashRegion(), IntPhysMemFastMap(), IntPtiCacheAdd(), IntPtiCacheRemove(), IntShcIsSuspiciousCode(), IntSwapMemPageSwappedIn(), IntValidateTranslation(), IntVasHookTables(), IntVasPageTableWriteCallback(), IntWinCrashHandleDepViolation(), IntWinGuestFindSelfMapIndex(), IntWinGuestIsSystemCr3(), IntWinHalFindHalHeapAndInterruptController(), and IntWinPfnFindByGpa().
#define PML4_A BIT(5) |
Definition at line 56 of file pgtable.h.
Referenced by IntDispatchVeAsEpt().
#define PML4_INDEX | ( | a | ) | (DWORD)(((a) & 0x0000ff8000000000) >> 39) |
Definition at line 95 of file pgtable.h.
Referenced by IntDispatchVeAsEpt(), IntHookPtsSetHook(), IntSplitVirtualAddress(), IntTranslateVa64(), IntTranslateVa64La57(), and IntVeIsAgentRemapped().
#define PML4_P BIT(0) |
Definition at line 51 of file pgtable.h.
Referenced by IntDispatchVeAsEpt().
#define PML5_INDEX | ( | a | ) | (DWORD)(((a) & 0x01ff000000000000) >> 48) |
Definition at line 94 of file pgtable.h.
Referenced by IntHookPtsSetHook(), IntSplitVirtualAddress(), and IntTranslateVa64La57().
#define PT32_INDEX | ( | a | ) | (DWORD)(((a) & 0x00000000003ff000) >> 12) |
Definition at line 108 of file pgtable.h.
Referenced by IntHookPtsSetHook(), IntSplitVirtualAddress(), and IntTranslateVa32().
#define PT_A BIT(5) |
Definition at line 88 of file pgtable.h.
Referenced by IntDecEmulatePageWalk().
#define PT_D BIT(6) |
Definition at line 89 of file pgtable.h.
Referenced by DbgVaSpaceIterationCallbackCount(), and IntDecEmulatePageWalk().
#define PT_INDEX | ( | a | ) | (DWORD)(((a) & 0x00000000001ff000) >> 12) |
Definition at line 98 of file pgtable.h.
Referenced by IntHookPtsSetHook(), IntSplitVirtualAddress(), IntTranslateVa64(), IntTranslateVa64La57(), and IntVeIsAgentRemapped().
#define PT_P BIT(0) |
Definition at line 83 of file pgtable.h.
Referenced by IntDecEmulatePageWalk(), IntHandleCowOnPage(), IntHandleMemAccess(), IntHookGvaHandleSwap(), IntHookGvaSetHook(), IntHookPtsCheckIntegrity(), IntHookPtsSetHook(), IntHookPtsWriteCallback(), IntLixGuestFindKernelVersionAndRo(), IntSwapMemInjectPendingPF(), IntSwapMemPageSwappedIn(), IntSwapMemReadData(), IntTranslateVa32Pae(), IntTranslateVirtualAddress(), IntValidateRangeForWrite(), IntValidateTranslation(), IntVeHandleSwap(), IntVirtMemMap(), IntVirtMemSafeWrite(), IntWinDpiValidateHeapSpray(), IntWinDrvObjIsValidDriverObject(), IntWinGuestIsSystemCr3(), IntWinPfnHandleTranslationChange(), IntWinPfnIsMmPfnDatabase(), IntWinPfnLockAddress(), IntWinProcValidateSystemCr3(), IntWinSDFetchSecDescAddress(), IntWinSDReadSecDesc(), IntWinSelfMapHandleCr3SelfMapWrite(), and IntWinTokenFetchTokenAddress().
#define PT_PAT BIT(7) |
Definition at line 90 of file pgtable.h.
Referenced by IntTranslateVirtualAddressEx().
#define PT_PCD BIT(4) |
Definition at line 87 of file pgtable.h.
Referenced by IntTranslateVirtualAddressEx(), and IntWinDrvObjIsValidDriverObject().
#define PT_PWT BIT(3) |
Definition at line 86 of file pgtable.h.
Referenced by IntTranslateVirtualAddressEx().
#define PT_RW BIT(1) |
Definition at line 84 of file pgtable.h.
Referenced by DbgVaSpaceIterationCallbackCount(), IntDecEmulatePageWalk(), IntHookGvaHandleSwap(), IntLixGuestDeployUninitAgent(), IntTranslateVa32(), IntTranslateVa32Pae(), IntTranslateVa64(), and IntTranslateVa64La57().
#define PT_US BIT(2) |
Definition at line 85 of file pgtable.h.
Referenced by IntTranslateVa32(), IntTranslateVa32Pae(), IntTranslateVa64(), IntTranslateVa64La57(), IntVasPageTableWriteCallback(), IntWinDrvObjIsValidDriverObject(), IntWinSelfMapCheckSelfMapEntry(), IntWinSelfMapGetAndCheckSelfMapEntry(), IntWinSelfMapHandleCr3SelfMapModification(), and IntWinSelfMapHandleCr3SelfMapWrite().
#define PT_XD BIT(63) |
Definition at line 92 of file pgtable.h.
Referenced by IntLixGuestDeployUninitAgent(), IntSwapMemPageSwappedIn(), IntSwapMemReadData(), IntTranslateVa32Pae(), IntTranslateVa64(), and IntTranslateVa64La57().
#define PTPAE_INDEX | ( | a | ) | (DWORD)(((a) & 0x00000000001ff000) >> 12) |
Definition at line 104 of file pgtable.h.
Referenced by IntTranslateVa32Pae().