8 #ifndef HYPERPLATFORM_IA32_TYPE_H_ 9 #define HYPERPLATFORM_IA32_TYPE_H_ 11 #include <fltKernel.h> 69 static_assert(
sizeof(
FlagRegister) ==
sizeof(
void*),
"Size check");
116 static_assert(
sizeof(
AllRegisters) == 0x88,
"Size check");
118 static_assert(
sizeof(
AllRegisters) == 0x24,
"Size check");
141 static_assert(
sizeof(
Cr0) ==
sizeof(
void*),
"Size check");
169 static_assert(
sizeof(
Cr4) ==
sizeof(
void*),
"Size check");
188 static_assert(
sizeof(
Dr6) ==
sizeof(
void*),
"Size check");
219 static_assert(
sizeof(
Dr7) ==
sizeof(
void*),
"Size check");
222 #include <pshpack1.h> 231 static_assert(
sizeof(
Idtr) == 10,
"Size check");
232 static_assert(
sizeof(
Gdtr) == 10,
"Size check");
234 static_assert(
sizeof(
Idtr) == 6,
"Size check");
235 static_assert(
sizeof(
Gdtr) == 6,
"Size check");
240 #include <pshpack1.h> 254 static_assert(
sizeof(
KidtEntry) == 8,
"Size check");
258 #include <pshpack1.h> 264 static_assert(
sizeof(
KidtEntry64) == 16,
"Size check");
268 #include <pshpack1.h> 273 unsigned short ti : 1;
461 #elif defined(_AMD64_) 476 static_assert(
sizeof(
PaeCr3) == 8,
"Size check");
576 enum class Msr : unsigned int {
1430 static_assert(
sizeof(
EptPointer) == 8,
"Size check");
1456 static_assert(
sizeof(
EptPml4Entry) == 8,
"Size check");
1500 static_assert(
sizeof(
EptPdptEntry) == 8,
"Size check");
1544 static_assert(
sizeof(
EptPdEntry) == 8,
"Size check");
1566 static_assert(
sizeof(
EptPtEntry) == 8,
"Size check");
1685 return (lhs << static_cast<unsigned int>(rhs));
1688 #endif // HYPERPLATFORM_IA32_TYPE_H_
ULONG32 pse36
[17] 36-Bit Page Size Extension
ULONG64 execute_disable_page
[11]
ULONG32 user
[3] 0= CPL==0
ULONG64 write_through
[3] PWT
ULONG_PTR port_number
[16:31]
GdtrOrIdtrInstructionIdentity
See: Format of the VM-Exit Instruction-Information Field as Used for LIDT, LGDT, SIDT, or SGDT.
struct SegmentSelector::@7 fields
ULONG_PTR lmsw_source_data
[16:31]
unsigned load_ia32_perf_global_ctrl
[13]
struct Ia32VmxEptVpidCapMsr::@31 fields
memory_type
See: Memory Types That Can Be Encoded With PAT Memory Types Recommended for VMCS and Related Data Str...
SegmentDescriptor descriptor
ULONG32 mtrr
[12] Memory Type Range Registers
ULONG_PTR reserved2
[3] Always 0
unsigned load_ia32_efer
[21]
struct CpuFeaturesEdx::@10 fields
unsigned rdrand_exiting
[11]
ULONG32 apic
[9] APIC On-Chip
unsigned supported_read_ia32_smbase_msr
[15]
ULONG32 fpu
[0] Floating Point Unit On-Chip
ULONG32 pge
[13] Page Global Bit
See: Format of an EPT Page-Table Entry that Maps a 4-KByte Page.
unsigned mov_dr_exiting
[23]
unsigned vm_exit_report
[54]
unsigned wbinvd_exiting
[6]
ULONG32 dtes64
[2] 64-bit DS Area
ULONG32 tsc
[4] Time Stamp Counter
unsigned process_posted_interrupts
[7]
unsigned l3
[6] Local Breakpoint Enable 3
VmxExitReason
See: VMX BASIC EXIT REASONS.
ULONG_PTR access_type
[4:5]
ULONG64 execute_access
[2]
unsigned entry_to_smm
[10]
ULONG_PTR pf
[2] Parity flag
struct EptPml4Entry::@41 fields
unsigned cr8_store_exiting
[20]
ULONG64 physial_address
[30:48-1]
struct MovCrQualification::@39 fields
ULONG32 reserved2
[20] Reserved
unsigned support_single_context_retaining_globals_invvpid
[43]
ULONG32 interruption_type
[8:10]
ULONG32 xsave
[26] XSAVE/XRSTOR feature
unsigned load_debug_controls
[2]
See: Format of an EPT Page-Directory-Pointer-Table Entry (PDPTE) that References an EPT Page Director...
ULONG32 reserved3
[30] Reserved
ULONG64 physial_address
[21:48-1]
struct IoInstQualification::@38 fields
unsigned reserved2
[45:47]
unsigned osxsave
[18] XSAVE and Processor Extended States-Enable
ULONG32 cx16
[13] CMPXCHG16B
ULONG64 page_frame_number
[12:47]
InterruptionType
See: Format of the VM-Entry Interruption-Information Field.
unsigned pae
[5] Physical Address Extension
unsigned tsd
[2] Time Stamp Disable
ULONG64 large_page
[7] PAT
See: Extended-Page-Table Pointer (EPTP)
ULONG32 f16c
[29] 16-bit floating-point conversion
ULONG64 execute_access
[2]
ULONG_PTR gp_register
[8:11]
unsigned supported_activity_state_shutdown
[7]
nt!_HARDWARE_PTE on x86 PAE-enabled Windows
See: Information Returned by CPUID Instruction.
unsigned smap
[21] Supervisor Mode Access Protection Enable
unsigned bt
[15] Task Switch
unsigned l2
[4] Local Breakpoint Enable 2
unsigned support_accessed_and_dirty_flag
[21]
unsigned unusable
[16] Segment unusable
See: Virtual-Machine Control Structures & FORMAT OF THE VMCS REGION.
ULONG64 enable_accessed_and_dirty_flags
[6]
unsigned interrupt_window_exiting
[2]
ULONG32 mce
[7] Machine Check Exception
ULONG_PTR reserved4
[15] Always 0
unsigned use_msr_bitmaps
[28]
unsigned osxmmexcpt
[10] OS Support for Unmasked SIMD Exceptions
Represents a stack layout after PUSHAD.
ULONG32 rdrand
[30] RDRAND instruction
unsigned external_interrupt_exiting
[0]
unsigned vmxe
[13] Virtual Machine Extensions Enabled
ULONG32 not_used
[31] Always 0 (a.k.a. HypervisorPresent)
struct Cpuid80000008Eax::@13 fields
ULONG_PTR vip
[20] Virtual interrupt pending
ULONG_PTR iopl
[12:13] I/O privilege level
unsigned rdtsc_exiting
[12]
ULONG_PTR vif
[19] Virtual interrupt flag
struct Ia32VmxVmcsEnumMsr::@30 fields
ULONG_PTR af
[4] Borrow flag
ULONG_PTR cf
[0] Carry flag
InvVpidType
See: INVVPID Descriptor.
unsigned smxe
[14] SMX-Enable Bit
unsigned nw
[29] Not Write-Through
struct SegmentDescriptor::@8 fields
ULONG32 sse4_2
[20] SSE4.2
unsigned l0
[0] Local Breakpoint Enable 0
unsigned supported_dual_moniter
[49]
See: VPID AND EPT CAPABILITIES.
unsigned support_single_context_invvpid
[41]
unsigned conceal_vmentries_from_intel_pt
[17]
ULONG64 ignore_pat_memory_type
[6]
ULONG_PTR tf
[8] Trap flag
unsigned reserved1
[4:11] Always 1
struct Ia32ApicBaseMsr::@19 fields
IDT entry (nt!_KIDTENTRY)
See: Format of an EPT Page-Directory-Pointer-Table Entry (PDPTE) that Maps a 1-GByte Page...
unsigned load_ia32_perf_global_ctrl
[12]
struct Ia32MtrrPhysMaskMsr::@18 fields
unsigned support_page_walk_length4
[6]
ULONG32 pclmulqdq
[1] PCLMULQDQ
See: Guest Register State.
unsigned virtualize_x2apic_mode
[4]
unsigned virtual_interrupt_delivery
[9]
ULONG64 ignore_pat_memory_type
[6]
ULONG_PTR string_instruction
[4]
nt!_HARDWARE_PTE on x86 PAE-disabled Windows
unsigned bd
[13] Debug Register Access Detected
unsigned region_clear
[44]
unsigned reserved3
[56:63]
ULONG32 popcnt
[23] POPCNT instruction
ULONG_PTR rep_prefixed
[5]
unsigned pce
[8] Performance-Monitoring Counter Enable
unsigned osfxsr
[9] OS Support for FXSAVE/FXRSTOR
unsigned len1
[22:23] Length 1
unsigned pe
[0] Protected Mode Enabled
unsigned support_all_context_invvpid
[42]
unsigned reserved3
[16:63]
ULONG32 smx
[6] Safer Mode Extensions
unsigned load_ia32_pat
[19]
unsigned use_tsc_scaling
[25]
unsigned g1
[3] Global Breakpoint Enable 1
unsigned supported_cr3_target_value_number_clear
[24]
unsigned g2
[5] Global Breakpoint Enable 2
unsigned reserved5
[23:24]
LdtrOrTrInstructionIdentity
See: Format of the VM-Exit Instruction-Information Field as Used for LLDT, LTR, SLDT, and STR.
unsigned suppoeted_change_ia32_smm_monitor_ctl
[28]
ULONG64 readable_writable_page
[10]
IoInstSizeOfAccess
See: Exit Qualification for I/O Instructions.
unsigned g0
[1] Global Breakpoint Enable 0
nt!_HARDWARE_PTE on the current platform
ULONG32 fma
[12] FMA extensions using YMM state
unsigned reserved4
[13:14]
ULONG32 msr
[5] RDMSR and WRMSR Instructions
struct Ia32MtrrFixedRangeMsr::@16 fields
unsigned save_vmx_preemption_timer_value
[22]
unsigned reserved3
[10:11]
unsigned use_tpr_shadow
[21]
unsigned reserved3
[19:28]
ULONG32 ss
[27] Self Snoop
See: IA32_MTRR_PHYSBASEn and IA32_MTRR_PHYSMASKn Variable-Range Register Pair.
struct Ia32FeatureControlMsr::@27 fields
ULONG_PTR nt
[14] Nested task flag
unsigned de
[3] Debugging Extensions
unsigned cr3_store_exiting
[16]
ULONG64 software_ws_index
[52:62]
ULONG32 present
[1] 0= NotPresent
See: Definitions of Primary Processor-Based VM-Execution Controls.
unsigned supported_activity_state_hlt
[6]
unsigned rw3
[28:29] Read / Write 3
unsigned pge
[7] Page Global Enable
ULONG64 bootstrap_processor
[8]
InvEptType
See: INVEPT Descriptor.
See: Definitions of VM-Entry Controls.
ULONG32 pse
[3] Page Size Extension
unsigned wp
[16] Write Protect
unsigned support_execute_only_pages
[0]
struct Ia32VmxBasicMsr::@28 fields
ULONG64 execute_access
[2]
unsigned le
[8] Local Exact Breakpoint Enable
ULONG_PTR df
[10] Direction flag
unsigned host_address_space_size
[9]
unsigned support_all_context_invept
[26]
unsigned apic_register_virtualization
[8]
ULONG64 valid_guest_linear_address
[7]
unsigned char present
[15]
unsigned reserved7
[27:31]
struct VmxRegmentDescriptorAccessRight::@26 fields
ULONG_PTR lmsw_operand_type
[6]
ULONG32 mca
[14] Machine Check Architecture
struct FlagRegister::@1 fields
unsigned use_tsc_offseting
[3]
ULONG64 write_through
[3] PWT
unsigned b0
[0] Breakpoint Condition Detected 0
unsigned conceal_vmexits_from_intel_pt
[24]
unsigned enable_global_senter
[15]
ULONG64 physial_address
[12:48-1]
ULONG32 clfsh
[19] CLFLUSH Instruction
unsigned long vmx_abort_indicator
ULONG64 execute_access_for_user_mode_linear_address
[10]
unsigned pvi
[1] Protected-Mode Virtual Interrupts
ULONG32 tm
[29] Thermal Monitor
unsigned supported_ia64
[48]
unsigned supported_activity_state_wait_for_sipi
[8]
ULONG64 page_walk_length
[3:5]
ULONG32 reserved1
[10] Reserved
unsigned len0
[18:19] Length 0
unsigned l1
[2] Local Breakpoint Enable 1
unsigned gd
[13] General Detect Enable
unsigned support_single_context_invept
[25]
struct VmxSecondaryProcessorBasedControls::@23 fields
unsigned mce
[6] Machine-Check Enable
struct Ia32MtrrPhysBaseMsr::@17 fields
See: Page-Fault Error Code.
struct VmxProcessorBasedControls::@22 fields
unsigned save_ia32_efer
[20]
See: IA32_APIC_BASE MSR Supporting x2APIC.
ULONG32 avx
[28] AVX instruction extensions
ULONG_PTR rf
[16] Resume flag
unsigned em
[2] Emulate FLAG
See: Exit Qualification for EPT Violations.
ULONG32 ds_cpl
[4] CPL qualified Debug Store
unsigned enable_local_senter
[8:14]
ULONG64 execute_access_for_user_mode_linear_address
[10]
ULONG_PTR control_register
[0:3]
unsigned long revision_identifier
unsigned pse
[4] Page Size Extensions
unsigned char ist_index
[0:2]
ULONG32 movbe
[22] MOVBE instruction
ULONG64 pd_address
[12:48-1]
See: Exit Qualification for Control-Register Accesses.
VmxInstructionError
See: VM-instruction error numbers.
unsigned reserved3
[30:31]
ULONG_PTR reserved2
[12:15]
unsigned acknowledge_interrupt_on_exit
[15]
ULONG64 large_page
[7] PAT
unsigned ne
[5] Numeric Error
unsigned g3
[7] Global Breakpoint Enable 3
struct VmxPinBasedControls::@21 fields
ULONG64 nmi_unblocking
[12]
unsigned load_ia32_bndcfgs
[16]
unsigned unconditional_io_exiting
[24]
struct VmEntryInterruptionInformationField::@49 fields
unsigned vme
[0] Virtual Mode Extensions
ULONG64 execute_access_for_user_mode_linear_address
[10]
See: Exit Qualification for MOV DR.
unsigned reserved3
[17:31] Always 1
unsigned smep
[20] Supervisor Mode Execution Protection Enable
unsigned descriptor_table_exiting
[2]
ULONG64 execute_access
[2]
ULONG_PTR vm
[17] Virtual 8086 mode
ULONG32 reserved
[16] Reserved
unsigned len2
[26:27] Length 2
unsigned revision_identifier
[32:63]
struct EptPdEntry::@45 fields
unsigned reserved6
[22:24]
unsigned reserved2
[12] Always 0
unsigned ge
[9] Global Exact Breakpoint Enable
MovCrAccessType
See: Exit Qualification for Control-Register Accesses.
unsigned enable_rdtscp
[3]
unsigned long data[1]
Implementation-specific format.
See: Feature Information Returned in the ECX Register.
Msr
See: MODEL-SPECIFIC REGISTERS (MSRS)
ULONG_PTR gp_register
[8:11]
ULONG_PTR intf
[9] Interrupt flag
ULONG32 mmx
[23] Intel MMX Technology
AddressSize
See: Format of the VM-Exit Instruction-Information Field as Used for LIDT, LGDT, SIDT, or SGDT.
See: SYSTEM FLAGS AND FIELDS IN THE EFLAGS REGISTER.
unsigned pause_exiting
[30]
unsigned reserved3
[14:15] Always 0
ULONG32 cmov
[15] Conditional Move Instructions
Scaling
See: Format of the VM-Exit Instruction-Information Field as Used for LIDT, LGDT, SIDT, or SGDT.
See: Format of the VM-Entry Interruption-Information Field.
ULONG32 linear_address_bits
[8:15]
ULONG_PTR zf
[6] Zero flag
unsigned rdseed_exiting
[16]
unsigned bs
[14] Single Step
unsigned reserved2
[15:16]
unsigned enable_invpcid
[12]
See: Definitions of Pin-Based VM-Execution Controls.
struct PageFaultErrorCode::@20 fields
unsigned b3
[3] Breakpoint Condition Detected 3
unsigned enable_xsaves_xstors
[20]
See: Debug Control Register (DR7)
unsigned region_size
[32:43]
VmcsField
See: FIELD ENCODING IN VMCS.
See: Definitions of Secondary Processor-Based VM-Execution Controls.
unsigned rtm
[11] Restricted Transactional Memory
ULONG64 page_directory_pa
[12:52]
See: Format of an EPT Page-Directory Entry (PDE) that References an EPT Page Table.
ULONG32 reserved3
[24] one-shot operation using a TSC deadline
unsigned et
[4] Extension Type FLAG
unsigned short ti
Table Indicator.
unsigned cd
[30] Cache Disable
ULONG32 sse4_1
[19] SSE4.1
ULONG64 ignore_pat_memory_type
[6]
struct EptPtEntry::@46 fields
ULONG32 htt
[28] Max APIC IDs reserved field is Valid
unsigned maximum_msrs_number
[25:27]
ULONG32 physical_address_bits
[0:7]
unsigned ept_violation_ve
[18]
unsigned support_pdpte_1_gb_pages
[17]
ULONG64 pt_address
[12:48-1]
struct EptPdLargePageEntry::@44 fields
ULONG64 l
64-bit code segment (IA-32e mode only)
unsigned am
[18] Alignment Mask
ULONG_PTR debugl_register
[0:2]
struct PaeCr3::@11 fields
unsigned deactivate_dual_monitor_treatment
[11]
InterruptionVector
See: Format of the VM-Entry Interruption-Information Field.
unsigned ts
[3] Task Switched FLAG
unsigned revision_identifier
[0:30]
ULONG32 cid
[10] L1 context ID
ULONG32 psn
[18] Processor Serial Number
unsigned monitor_trap_flag
[27]
unsigned reserved1
[11:12]
unsigned supported_vmwrite_vm_exit_information
[29]
ULONG_PTR sf
[7] Sign flag
struct EptPdptEntry::@43 fields
unsigned cr8_load_exiting
[19]
ULONG64 execute_access_for_user_mode_linear_address
[10]
ULONG64 page_frame_number
[12:37]
ULONG64 default_mtemory_type
constexpr unsigned int operator<<(_In_ unsigned int lhs, _In_ InterruptionVector rhs)
Provides << operator for VmEntryInterruptionInformationField.
ULONG64 user_mode_linear_address
[9]
unsigned b1
[1] Breakpoint Condition Detected 1
ULONG64 caused_by_translation
[8]
ULONG64 execute_access
[2]
unsigned support_individual_address_invvpid
[40]
unsigned clear_ia32_bndcfgs
[23]
ULONG32 ds
[21] Debug Store
ULONG32 osxsave
[27] enable XSETBV/XGETBV instructions
ULONG32 sep
[11] SYSENTER and SYSEXIT Instructions
ULONG_PTR reserved3
[32:63]
See: Exit Qualification for I/O Instructions.
unsigned b2
[2] Breakpoint Condition Detected 2
unsigned activate_vmx_peemption_timer
[6]
ULONG64 execute_access_for_user_mode_linear_address
[10]
unsigned short offset_middle
unsigned rw0
[16:17] Read / Write 0
unsigned char reserved
[3:7]
unsigned reserved5
[18:19]
See: Format of an EPT PML4 Entry (PML4E) that References an EPT Page-Directory-Pointer Table...
unsigned nmi_window_exiting
[22]
unsigned vmcs_shadowing
[14]
unsigned memory_type
[50:53]
IDT entry for x64 (nt!_KIDTENTRY64)
unsigned use_io_bitmaps
[25]
struct PdptrRegister::@12 fields
ULONG64 ept_executable
[5]
ULONG32 pcid
[17] Process-context identifiers
unsigned load_ia32_efer
[15]
ULONG64 phys_mask
[12:MAXPHYADDR]
ULONG_PTR reserved3
[5] Always 0
nt!_HARDWARE_PTE on x64 Windows
static const ULONG32 kHyperVCpuidInterface
A majority of modern hypervisors expose their signatures through CPUID with this CPUID function code ...
struct EptPointer::@40 fields
unsigned load_ia32_pat
[14]
struct MovDrQualification::@37 fields
MovDrDirection
See: Exit Qualification for MOV DR.
ULONG64 execute_access
[2]
unsigned support_invept
[20]
unsigned support_pde_2mb_pages
[16]
ULONG_PTR id
[21] Identification flag
unsigned cr3_load_exiting
[15]
unsigned reserved2
[17:31]
ULONG32 deliver_error_code
[11]
unsigned support_invvpid
[32]
unsigned short rpl
Requested Privilege Level.
See: BASIC VMX INFORMATION.
ULONG64 pml4_address
[12:48-1]
ULONG page_frame_number
[12:31]
struct KidtEntry::@6 fields
unsigned monitor_exiting
[29]
ULONG_PTR reserved1
[7:15]
ULONG64 variable_range_count
unsigned mp
[1] Monitor Coprocessor FLAG
struct Ia32MtrrDefaultTypeMsr::@15 fields
unsigned support_write_back_memory_type
[14]
See: IA32_MTRR_DEF_TYPE MSR.
struct CpuFeaturesEcx::@9 fields
ULONG_PTR reserved5
[22:31] Always 0
struct VmxVmExitControls::@24 fields
See: Debug Status Register (DR6)
ULONG64 phys_base
[12:MAXPHYADDR]
ULONG32 fxsr
[24] FXSAVE and FXRSTOR Instructions
ULONG_PTR operand_encoding
[6]
See: IA32_MTRRCAP Register.
unsigned pg
[31] Paging Enabled
ULONG64 execute_access_for_user_mode_linear_address
[10]
unsigned short offset_low
unsigned supported_cr3_target_value_number
[16:23]
ULONG64 enable_xapic_global
[11]
ULONG64 pdpt_address
[12:48-1]
ULONG32 sse3
[0] Streaming SIMD Extensions 3 (SSE3)
unsigned invlpg_exiting
[9]
unsigned vmx_capability_hint
[55]
unsigned activate_secondary_control
[31]
ULONG32 pdcm
[15] Performance/Debug capability MSR
ULONG32 est
[7] Enhanced Intel Speedstep Technology
ULONG64 page_directory_pointer_table_pa
[5:31]
unsigned enable_vm_functions
[13]
unsigned supported_highest_vmcs_encoding
[1:9]
ULONG64 ept_executable_for_user_mode
[6]
ULONG32 de
[2] Debugging Extensions
ULONG_PTR ac
[18] Alignment check
ULONG32 tm2
[8] Thermal monitor 2
unsigned reserved4
[13:14]
unsigned ia32e_mode_guest
[9]
Represents a stack layout after PUSHAQ.
ULONG32 vmx
[5] Virtual Machine Technology
See: MEMORY-MANAGEMENT REGISTERS.
unsigned pcide
[17] PCID Enable
ULONG32 sdbg
[11] IA32_DEBUG_INTERFACE MSR
SegmentRegisters
See: Format of the VM-Exit Instruction-Information Field as Used for LIDT, LGDT, SIDT, or SGDT.
unsigned len3
[30:31] Length 3
ULONG32 pat
[16] Page Attribute Table
unsigned reserved5
[17:18]
static const SIZE_T kVmxMaxVmcsSize
See: OVERVIEW.
ULONG64 execute_access
[2]
unsigned rtm
[16] Restricted Transactional Memory
ULONG_PTR reserved4
[12:63]
ULONG32 aes
[25] AESNI instruction
ULONG32 acpi
[22] TM and Software Controlled Clock
ULONG64 cache_disable
[4] PCD
unsigned mwait_exiting
[10]
nt!_HARDWARE_PTE on ARM Windows
ULONG_PTR size_of_access
[0:2]
unsigned l
[13] Reserved (except for CS) 64-bit mode
struct Ia32VmxMiscMsr::@29 fields
ULONG64 fixed_range_supported
unsigned reserved1
[10] Always 1
ULONG64 fixed_mtrrs_enabled
See: Definitions of VM-Exit Controls.
unsigned rdpmc_exiting
[11]
ULONG32 monitor
[3] MONITOR/WAIT
struct EptPdptSuperPageEntry::@42 fields
ULONG32 x2_apic
[21] x2APIC feature
struct Ia32MtrrCapabilitiesMsr::@14 fields
unsigned pause_loop_exiting
[10]
unsigned save_debug_controls
[2]
ULONG32 vme
[1] Virtual 8086 Mode Enhancements
unsigned mode_based_execute_control_for_ept
[22]
unsigned rw2
[24:25] Read / Write 2
unsigned virtualize_apic_accesses
[0]
unsigned reserved9
[44:63]
unsigned save_ia32_pat
[18]
unsigned reserved3
[10:63]
unsigned support_uncacheble_memory_type
[8]
struct VmxVmEntryControls::@25 fields
ULONG32 ssse3
[9] Supplemental Streaming SIMD Extensions 3
ULONG32 pbe
[31] Pending Break Enable
ULONG64 enable_x2apic_mode
[10]
ULONG_PTR of
[11] Overflow flag
ULONG32 cx8
[8] Thermal monitor 2
unsigned reserved5
[16:17]
ULONG32 dca
[18] prefetch from a memory mapped device
unsigned unrestricted_guest
[7]
See: IA32_MTRR_PHYSBASEn and IA32_MTRR_PHYSMASKn Variable-Range Register Pair.
unsigned reserved8
[33:39]
unsigned rw1
[20:21] Read / Write 1
See: Format of an EPT Page-Directory Entry (PDE) that Maps a 2-MByte Page.
Represents a stack layout after a sequence of PUSHFx, PUSHAx.
ULONG32 xtpr
[14] xTPR Update Control
ULONG_PTR reserved1
[1] Always 1
ULONG64 cache_disable
[4] PCD
See: More on Feature Information Returned in the EDX Register.
struct EptViolationQualification::@47 fields
unsigned reserved2
[12] Always 0