ReactOS 0.4.16-dev-329-g9223134
Msr.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS SDK
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: Provides CPUID structure definitions
5 * COPYRIGHT: Copyright 2023 Timo Kreuzer <timo.kreuzer@reactos.org>
6 */
7
8#define SIZE_2KB 2048
9
11
12typedef struct
13{
14 UINT32 Reserved0 : 2; // [1:0] Reserved
15 UINT32 InterruptWindowExiting : 1; // [2] Interrupt window exiting
16 UINT32 UseTSCOffsetting : 1; // [3] Use TSC offsetting
17 UINT32 Reserved4 : 3; // [6..4] Reserved
18 UINT32 HLTExiting : 1; // [7] HLT exiting
19 UINT32 Reserved8 : 1; // [8] Reserved
20 UINT32 INVLPG_Exiting : 1; // [9] INVLPG exiting
21 UINT32 MWAIT_Exiting : 1; // [10] MWAIT exiting
22 UINT32 RDPMC_Exiting : 1; // [11] RDPMC exiting
23 UINT32 RDTSC_Exiting : 1; // [12] RDTSC exiting
24 UINT32 CR3_Load_Exiting : 1; // [15] CR3 load exiting
25 UINT32 CR3_Store_Exiting : 1; // [16] CR3 store exiting
26 UINT32 ActivateTertiaryControls : 1; // [17] Activate tertiary controls
27 UINT32 CR8_Load_Exiting : 1; // [19] CR8 load exiting
28 UINT32 CR8_Store_Exiting : 1; // [20] CR8 store exiting
29 UINT32 Use_TPR_Shadow : 1; // [21] Use TPR shadow
30 UINT32 NMI_Window_Exiting : 1; // [22] NMI window exiting
31 UINT32 MOV_DR_Exiting : 1; // [23] MOV DR exiting
32 UINT32 Unconditional_IO_Exiting : 1; // [24] Unconditional I/O exiting
33 UINT32 Use_IO_Bitmaps : 1; // [25] Use I/O bitmaps
34 UINT32 Monitor_Trap_Flag : 1; // [27] Monitor trap flag
35 UINT32 Use_MSR_Bitmap : 1; // [28] Use MSR bitmap
36 UINT32 MONITOR_Exiting : 1; // [29] MONITOR exiting
37 UINT32 PAUSE_Exiting : 1; // [30] PAUSE exiting
38 UINT32 ActivateSecondaryControls : 1; // [31] Activate secondary controls
40
41typedef struct
42{
43 UINT32 VirtualizeApicAccesses : 1; // [0] Virtualize APIC accesses
44 UINT32 EPT : 1; // [1] Enable EPT
45 UINT32 DescriptorTable_Exiting : 1; // [2] Descriptor-table exiting
46 UINT32 RDTSCP : 1; // [3] Enable RDTSCP
47 UINT32 Virtualize_x2APIC : 1; // [4] Virtualize x2APIC mode
48 UINT32 VPID : 1; // [5] Enable VPID
49 UINT32 WBINVD_Exiting : 1; // [6] WBINVD exiting
50 UINT32 UnrestrictedGuest : 1; // [7] Unrestricted guest
51 UINT32 APIC_Virtualization : 1; // [8] APIC-register virtualization
52 UINT32 VirtualInterruptDelivery : 1; // [9] Virtual-interrupt delivery
53 UINT32 PAUSE_Loop_Exiting : 1; // [10] PAUSE-loop exiting
54 UINT32 RDRAND_Exiting : 1; // [11] RDRAND exiting
55 UINT32 INVPCID : 1; // [12] Enable INVPCID
56 UINT32 VM_Functions : 1; // [13] Enable VM functions
57 UINT32 VMCS_Shadowing : 1; // [14] VMCS shadowing
58 UINT32 ENCLS_Exiting : 1; // [15] Enable ENCLS exiting
59 UINT32 RDSEED_Exiting : 1; // [16] RDSEED exiting
60 UINT32 PML : 1; // [17] Enable PML
61 UINT32 EPT_Violation : 1; // [18] EPT-violation #VE
62 UINT32 Conceal_VMX_from_PT : 1; // [19] Conceal VMX from PT
63 UINT32 XSAVES : 1; // [20] Enable XSAVES / XRSTORS
64 UINT32 PASID_Translation : 1; // [21] PASID translation
65 UINT32 ModeBasedExecutionControl : 1; // [22] Mode-based execute control for EPT
66 UINT32 SubPageWritePerm : 1; // [23] Sub-page write permissions for EPT
67 UINT32 GuestPhysicalAddr : 1; // [24] Intel PT uses guest physical addresses
68 UINT32 TSC_Scaling : 1; // [25] Use TSC scaling
69 UINT32 User_Wait : 1; // [26] Enable user wait and pause
70 UINT32 PCONFIG : 1; // [27] Enable PCONFIG
71 UINT32 ENCLV_Exiting : 1; // [28] Enable ENCLV exiting
72 UINT32 VMM_Bus_Lock_Detection : 1; // [30] VMM bus-lock detection
73 UINT32 InstructionTimeout : 1; // [31] Instruction timeout
75
76typedef union
77{
78 struct
79 {
82 } Bits;
83
86
87
88typedef union
89{
90 struct
91 {
94 } Bits;
95
unsigned long long UINT64
unsigned int UINT32
UINT32 VirtualizeApicAccesses
Definition: Msr.h:43
UINT32 VMCS_Shadowing
Definition: Msr.h:57
UINT32 XSAVES
Definition: Msr.h:63
UINT32 VM_Functions
Definition: Msr.h:56
UINT32 VPID
Definition: Msr.h:48
UINT32 SubPageWritePerm
Definition: Msr.h:66
UINT32 EPT
Definition: Msr.h:44
UINT32 WBINVD_Exiting
Definition: Msr.h:49
UINT32 UnrestrictedGuest
Definition: Msr.h:50
UINT32 VirtualInterruptDelivery
Definition: Msr.h:52
UINT32 TSC_Scaling
Definition: Msr.h:68
UINT32 INVPCID
Definition: Msr.h:55
UINT32 PML
Definition: Msr.h:60
UINT32 PASID_Translation
Definition: Msr.h:64
UINT32 PAUSE_Loop_Exiting
Definition: Msr.h:53
UINT32 RDSEED_Exiting
Definition: Msr.h:59
UINT32 DescriptorTable_Exiting
Definition: Msr.h:45
UINT32 RDTSCP
Definition: Msr.h:46
UINT32 EPT_Violation
Definition: Msr.h:61
UINT32 PCONFIG
Definition: Msr.h:70
UINT32 VMM_Bus_Lock_Detection
Definition: Msr.h:72
UINT32 GuestPhysicalAddr
Definition: Msr.h:67
UINT32 InstructionTimeout
Definition: Msr.h:73
UINT32 ENCLV_Exiting
Definition: Msr.h:71
UINT32 Conceal_VMX_from_PT
Definition: Msr.h:62
UINT32 RDRAND_Exiting
Definition: Msr.h:54
UINT32 Virtualize_x2APIC
Definition: Msr.h:47
UINT32 ENCLS_Exiting
Definition: Msr.h:58
UINT32 User_Wait
Definition: Msr.h:69
UINT32 APIC_Virtualization
Definition: Msr.h:51
UINT32 ModeBasedExecutionControl
Definition: Msr.h:65
UINT32 MOV_DR_Exiting
Definition: Msr.h:31
UINT32 INVLPG_Exiting
Definition: Msr.h:20
UINT32 PAUSE_Exiting
Definition: Msr.h:37
UINT32 ActivateTertiaryControls
Definition: Msr.h:26
UINT32 Monitor_Trap_Flag
Definition: Msr.h:34
UINT32 Reserved8
Definition: Msr.h:19
UINT32 Use_TPR_Shadow
Definition: Msr.h:29
UINT32 CR3_Load_Exiting
Definition: Msr.h:24
UINT32 CR8_Store_Exiting
Definition: Msr.h:28
UINT32 HLTExiting
Definition: Msr.h:18
UINT32 CR3_Store_Exiting
Definition: Msr.h:25
UINT32 MONITOR_Exiting
Definition: Msr.h:36
UINT32 RDPMC_Exiting
Definition: Msr.h:22
UINT32 NMI_Window_Exiting
Definition: Msr.h:30
UINT32 Reserved4
Definition: Msr.h:17
UINT32 Use_IO_Bitmaps
Definition: Msr.h:33
UINT32 Reserved0
Definition: Msr.h:14
UINT32 RDTSC_Exiting
Definition: Msr.h:23
UINT32 Unconditional_IO_Exiting
Definition: Msr.h:32
UINT32 ActivateSecondaryControls
Definition: Msr.h:38
UINT32 InterruptWindowExiting
Definition: Msr.h:15
UINT32 CR8_Load_Exiting
Definition: Msr.h:27
UINT32 MWAIT_Exiting
Definition: Msr.h:21
UINT32 Use_MSR_Bitmap
Definition: Msr.h:35
UINT32 UseTSCOffsetting
Definition: Msr.h:16
VMX_PROCBASED_CTLS2 Allowed0
Definition: Msr.h:92
VMX_PROCBASED_CTLS2 Allowed1
Definition: Msr.h:93
VMX_PROCBASED_CTRLS Allowed0
Definition: Msr.h:80
VMX_PROCBASED_CTRLS Allowed1
Definition: Msr.h:81