|
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(), IntWinGuestHandleSudExec(), 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(), IntWinGuestHandleSudExec(), 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 |