Bitdefender Hypervisor Memory Introspection
|
#include "introdefs.h"
Go to the source code of this file.
Data Structures | |
struct | _IDT_ENTRY64 |
struct | _IDT_ENTRY32 |
Macros | |
#define | CPU_EFLAGS_CF BIT(0) |
#define | CPU_EFLAGS_FIXED BIT(1) |
#define | CPU_EFLAGS_PF BIT(2) |
#define | CPU_EFLAGS_AF BIT(4) |
#define | CPU_EFLAGS_ZF BIT(6) |
#define | CPU_EFLAGS_SF BIT(7) |
#define | CPU_EFLAGS_TF BIT(8) |
#define | CPU_EFLAGS_IF BIT(9) |
#define | CPU_EFLAGS_DF BIT(10) |
#define | CPU_EFLAGS_OF BIT(11) |
#define | CPU_EFLAGS_NT BIT(14) |
#define | CPU_EFLAGS_RF BIT(16) |
#define | CPU_EFLAGS_VM BIT(17) |
#define | CPU_EFLAGS_AC BIT(18) |
#define | CPU_EFLAGS_VIF BIT(19) |
#define | CPU_EFLAGS_VIP BIT(20) |
#define | CPU_EFLAGS_ID BIT(21) |
#define | CR0_PE BIT(0) |
#define | CR0_MP BIT(1) |
#define | CR0_EM BIT(2) |
#define | CR0_TS BIT(3) |
#define | CR0_ET BIT(4) |
#define | CR0_NE BIT(5) |
#define | CR0_WP BIT(16) |
#define | CR0_AM BIT(18) |
#define | CR0_NW BIT(29) |
#define | CR0_CD BIT(30) |
#define | CR0_PG BIT(31) |
#define | CR4_VME BIT(0) |
#define | CR4_PVI BIT(1) |
#define | CR4_TSD BIT(2) |
#define | CR4_DE BIT(3) |
#define | CR4_PSE BIT(4) |
#define | CR4_PAE BIT(5) |
#define | CR4_MCE BIT(6) |
#define | CR4_PGE BIT(7) |
#define | CR4_PCE BIT(8) |
#define | CR4_OSFXSR BIT(9) |
#define | CR4_OSXMMEXCPT BIT(10) |
#define | CR4_UMIP BIT(11) |
#define | CR4_LA57 BIT(12) |
#define | CR4_VMXE BIT(13) |
#define | CR4_SMXE BIT(14) |
#define | CR4_FSGSBASE BIT(16) |
#define | CR4_PCIDE BIT(17) |
#define | CR4_OSXSAVE BIT(18) |
#define | CR4_SMEP BIT(20) |
#define | CR4_SMAP BIT(21) |
#define | CR4_PKE BIT(22) |
#define | XCR0_X87 BIT(0) |
#define | XCR0_SSE BIT(1) |
#define | XCR0_YMM_HI128 BIT(2) |
#define | XCR0_BNDREGS BIT(3) |
#define | XCR0_BNDCSR BIT(4) |
#define | XCR0_OPMASK BIT(5) |
#define | XCR0_ZMM_HI256 BIT(6) |
#define | XCR0_HI16_ZMM BIT(7) |
#define | XCR0_PT BIT(8) |
#define | XCR0_PKRU BIT(9) |
#define | XCR0_AVX_512_STATE (XCR0_ZMM_HI256 | XCR0_HI16_ZMM | XCR0_OPMASK) |
#define | PFEC_P BIT(0) |
#define | PFEC_RW BIT(1) |
#define | PFEC_US BIT(2) |
#define | PFEC_RSVD BIT(3) |
#define | PFEC_ID BIT(4) |
#define | PFEC_PK BIT(5) |
#define | PFEC_SGX BIT(15) |
#define | EFER_SCE BIT(0) |
#define | EFER_LME BIT(8) |
#define | EFER_LMA BIT(10) |
#define | EFER_NX BIT(11) |
#define | EFER_SVME BIT(12) |
#define | EFER_LMSLE BIT(13) |
#define | EFER_FFXSR BIT(14) |
#define | DESCRIPTOR_SIZE_32 8 |
#define | DESCRIPTOR_SIZE_64 16 |
#define | VECTOR_DE 0 |
#define | VECTOR_DB 1 |
#define | VECTOR_BP 3 |
#define | VECTOR_OF 4 |
#define | VECTOR_BR 5 |
#define | VECTOR_UD 6 |
#define | VECTOR_NM 7 |
#define | VECTOR_DF 8 |
#define | VECTOR_TS 10 |
#define | VECTOR_NP 11 |
#define | VECTOR_SS 12 |
#define | VECTOR_GP 13 |
#define | VECTOR_PF 14 |
#define | VECTOR_MF 16 |
#define | VECTOR_AC 17 |
#define | VECTOR_MC 18 |
#define | VECTOR_XM 19 |
#define | VECTOR_VE 20 |
#define | NO_ERRORCODE ((DWORD)-1) |
Typedefs | |
typedef struct _IDT_ENTRY64 | IDT_ENTRY64 |
typedef struct _IDT_ENTRY64 * | PIDT_ENTRY64 |
typedef struct _IDT_ENTRY32 | IDT_ENTRY32 |
typedef struct _IDT_ENTRY32 * | PIDT_ENTRY32 |
#define CPU_EFLAGS_AC BIT(18) |
Definition at line 24 of file processor.h.
#define CPU_EFLAGS_AF BIT(4) |
Definition at line 14 of file processor.h.
#define CPU_EFLAGS_CF BIT(0) |
Definition at line 11 of file processor.h.
Referenced by IntDecEmulatePTWrite(), and IntDecSetFlags().
#define CPU_EFLAGS_DF BIT(10) |
Definition at line 19 of file processor.h.
#define CPU_EFLAGS_FIXED BIT(1) |
Definition at line 12 of file processor.h.
#define CPU_EFLAGS_ID BIT(21) |
Definition at line 27 of file processor.h.
#define CPU_EFLAGS_IF BIT(9) |
Definition at line 18 of file processor.h.
#define CPU_EFLAGS_NT BIT(14) |
Definition at line 21 of file processor.h.
#define CPU_EFLAGS_OF BIT(11) |
Definition at line 20 of file processor.h.
Referenced by IntDecSetFlags().
#define CPU_EFLAGS_PF BIT(2) |
Definition at line 13 of file processor.h.
Referenced by IntDecSetFlags().
#define CPU_EFLAGS_RF BIT(16) |
Definition at line 22 of file processor.h.
#define CPU_EFLAGS_SF BIT(7) |
Definition at line 16 of file processor.h.
Referenced by IntDecSetFlags().
#define CPU_EFLAGS_TF BIT(8) |
Definition at line 17 of file processor.h.
#define CPU_EFLAGS_VIF BIT(19) |
Definition at line 25 of file processor.h.
#define CPU_EFLAGS_VIP BIT(20) |
Definition at line 26 of file processor.h.
#define CPU_EFLAGS_VM BIT(17) |
Definition at line 23 of file processor.h.
#define CPU_EFLAGS_ZF BIT(6) |
Definition at line 15 of file processor.h.
Referenced by IntDecEmulatePTWrite(), and IntDecSetFlags().
#define CR0_AM BIT(18) |
Definition at line 37 of file processor.h.
#define CR0_CD BIT(30) |
Definition at line 39 of file processor.h.
#define CR0_EM BIT(2) |
Definition at line 32 of file processor.h.
#define CR0_ET BIT(4) |
Definition at line 34 of file processor.h.
#define CR0_MP BIT(1) |
Definition at line 31 of file processor.h.
#define CR0_NE BIT(5) |
Definition at line 35 of file processor.h.
#define CR0_NW BIT(29) |
Definition at line 38 of file processor.h.
#define CR0_PE BIT(0) |
Definition at line 30 of file processor.h.
Referenced by IntDecDecodeInstructionAtRipWithCache(), and IntWinHalHandleHalHeapExec().
#define CR0_PG BIT(31) |
Definition at line 40 of file processor.h.
Referenced by IntDecDecodeInstructionAtRipWithCache(), IntGuestGetPagingMode(), IntGuestHandleCr3Write(), IntIterateVirtualAddressSpace(), IntTranslateVirtualAddressEx(), and IntWinGetActiveCpuCount().
#define CR0_TS BIT(3) |
Definition at line 33 of file processor.h.
#define CR0_WP BIT(16) |
Definition at line 36 of file processor.h.
#define CR4_DE BIT(3) |
Definition at line 46 of file processor.h.
#define CR4_FSGSBASE BIT(16) |
Definition at line 58 of file processor.h.
#define CR4_LA57 BIT(12) |
Definition at line 55 of file processor.h.
Referenced by IntGuestGetPagingMode(), and IntIterateVirtualAddressSpace().
#define CR4_MCE BIT(6) |
Definition at line 49 of file processor.h.
#define CR4_OSFXSR BIT(9) |
Definition at line 52 of file processor.h.
#define CR4_OSXMMEXCPT BIT(10) |
Definition at line 53 of file processor.h.
#define CR4_OSXSAVE BIT(18) |
Definition at line 60 of file processor.h.
#define CR4_PAE BIT(5) |
Definition at line 48 of file processor.h.
Referenced by IntGuestGetPagingMode(), and IntIterateVirtualAddressSpace().
#define CR4_PCE BIT(8) |
Definition at line 51 of file processor.h.
#define CR4_PCIDE BIT(17) |
Definition at line 59 of file processor.h.
#define CR4_PGE BIT(7) |
Definition at line 50 of file processor.h.
#define CR4_PKE BIT(22) |
Definition at line 63 of file processor.h.
#define CR4_PSE BIT(4) |
Definition at line 47 of file processor.h.
#define CR4_PVI BIT(1) |
Definition at line 44 of file processor.h.
#define CR4_SMAP BIT(21) |
Definition at line 62 of file processor.h.
Referenced by IntCrLixHandleWrite(), IntCrWinHandleWrite(), and IntExceptGetVictimCr().
#define CR4_SMEP BIT(20) |
Definition at line 61 of file processor.h.
Referenced by IntCrLixHandleWrite(), IntCrWinHandleWrite(), and IntExceptGetVictimCr().
#define CR4_SMXE BIT(14) |
Definition at line 57 of file processor.h.
#define CR4_TSD BIT(2) |
Definition at line 45 of file processor.h.
#define CR4_UMIP BIT(11) |
Definition at line 54 of file processor.h.
#define CR4_VME BIT(0) |
Definition at line 43 of file processor.h.
#define CR4_VMXE BIT(13) |
Definition at line 56 of file processor.h.
#define DESCRIPTOR_SIZE_32 8 |
Definition at line 101 of file processor.h.
Referenced by IntAlertEptFillFromVictimZone(), IntExceptPrintIdtInfo(), IntExceptVerifyIdtSignature(), IntSerializeIdt(), IntWinIdtProtectOnCpuEpt(), and IntWinIdtProtectOnCpuIntegrity().
#define DESCRIPTOR_SIZE_64 16 |
Definition at line 102 of file processor.h.
Referenced by IntAlertEptFillFromVictimZone(), IntExceptPrintIdtInfo(), IntExceptVerifyIdtSignature(), IntSerializeIdt(), IntWinIdtProtectOnCpuEpt(), and IntWinIdtProtectOnCpuIntegrity().
#define EFER_FFXSR BIT(14) |
Definition at line 98 of file processor.h.
#define EFER_LMA BIT(10) |
Definition at line 94 of file processor.h.
Referenced by IntFindKernelPcr(), IntGuestGetPagingMode(), and IntIterateVirtualAddressSpace().
#define EFER_LME BIT(8) |
Definition at line 93 of file processor.h.
#define EFER_LMSLE BIT(13) |
Definition at line 97 of file processor.h.
#define EFER_NX BIT(11) |
Definition at line 95 of file processor.h.
#define EFER_SCE BIT(0) |
Definition at line 92 of file processor.h.
#define EFER_SVME BIT(12) |
Definition at line 96 of file processor.h.
#define NO_ERRORCODE ((DWORD)-1) |
Definition at line 123 of file processor.h.
Referenced by IntLixVmaHandlePageExecution(), IntWinSudHandleSudExec(), and IntWinVadHandlePageExecution().
#define PFEC_ID BIT(4) |
Definition at line 87 of file processor.h.
Referenced by IntHandleFetchRetryOnPageBoundary().
#define PFEC_P BIT(0) |
Definition at line 83 of file processor.h.
Referenced by IntHandleCowOnPage(), and IntSwapMemInjectPendingPF().
#define PFEC_PK BIT(5) |
Definition at line 88 of file processor.h.
#define PFEC_RSVD BIT(3) |
Definition at line 86 of file processor.h.
#define PFEC_RW BIT(1) |
Definition at line 84 of file processor.h.
Referenced by IntHandleCowOnPage(), and IntSwapMemInjectPendingPF().
#define PFEC_SGX BIT(15) |
Definition at line 89 of file processor.h.
#define PFEC_US BIT(2) |
Definition at line 85 of file processor.h.
Referenced by IntHandleCowOnPage(), IntHandleFetchRetryOnPageBoundary(), IntSwapMemInjectPendingPF(), and IntWinModBlockHandleExecution().
#define VECTOR_AC 17 |
Definition at line 118 of file processor.h.
#define VECTOR_BP 3 |
Definition at line 106 of file processor.h.
#define VECTOR_BR 5 |
Definition at line 108 of file processor.h.
#define VECTOR_DB 1 |
Definition at line 105 of file processor.h.
#define VECTOR_DE 0 |
Definition at line 104 of file processor.h.
Referenced by IntGuestDetectOs().
#define VECTOR_DF 8 |
Definition at line 111 of file processor.h.
#define VECTOR_GP 13 |
Definition at line 115 of file processor.h.
#define VECTOR_MC 18 |
Definition at line 119 of file processor.h.
#define VECTOR_MF 16 |
Definition at line 117 of file processor.h.
#define VECTOR_NM 7 |
Definition at line 110 of file processor.h.
#define VECTOR_NP 11 |
Definition at line 113 of file processor.h.
#define VECTOR_OF 4 |
Definition at line 107 of file processor.h.
#define VECTOR_PF 14 |
Definition at line 116 of file processor.h.
Referenced by DbgInjectPf(), IntHandleCowOnPage(), IntHandleEventInjection(), IntHandleFetchRetryOnPageBoundary(), IntSwapMemHandleBreakpointAgent(), IntSwapMemInjectPendingPF(), IntVeFindKernelKvaShadowAndKernelExit(), IntWinGuestNew(), and IntWinModBlockHandleExecution().
#define VECTOR_SS 12 |
Definition at line 114 of file processor.h.
#define VECTOR_TS 10 |
Definition at line 112 of file processor.h.
#define VECTOR_UD 6 |
Definition at line 109 of file processor.h.
Referenced by IntHandleEventInjection(), IntLixVmaHandlePageExecution(), IntWinSudHandleSudExec(), and IntWinVadHandlePageExecution().
#define VECTOR_VE 20 |
Definition at line 121 of file processor.h.
#define VECTOR_XM 19 |
Definition at line 120 of file processor.h.
#define XCR0_AVX_512_STATE (XCR0_ZMM_HI256 | XCR0_HI16_ZMM | XCR0_OPMASK) |
Definition at line 80 of file processor.h.
Referenced by IntDecGetMaxvl().
#define XCR0_BNDCSR BIT(4) |
Definition at line 70 of file processor.h.
#define XCR0_BNDREGS BIT(3) |
Definition at line 69 of file processor.h.
#define XCR0_HI16_ZMM BIT(7) |
Definition at line 73 of file processor.h.
#define XCR0_OPMASK BIT(5) |
Definition at line 71 of file processor.h.
#define XCR0_PKRU BIT(9) |
Definition at line 75 of file processor.h.
#define XCR0_PT BIT(8) |
Definition at line 74 of file processor.h.
#define XCR0_SSE BIT(1) |
Definition at line 67 of file processor.h.
Referenced by IntDecGetMaxvl().
#define XCR0_X87 BIT(0) |
Definition at line 66 of file processor.h.
#define XCR0_YMM_HI128 BIT(2) |
Definition at line 68 of file processor.h.
Referenced by IntDecGetMaxvl().
#define XCR0_ZMM_HI256 BIT(6) |
Definition at line 72 of file processor.h.
typedef struct _IDT_ENTRY32 IDT_ENTRY32 |
typedef struct _IDT_ENTRY64 IDT_ENTRY64 |
typedef struct _IDT_ENTRY32 * PIDT_ENTRY32 |
typedef struct _IDT_ENTRY64 * PIDT_ENTRY64 |