x86/msr.rs
1//! MSR value list and function to read and write them.
2
3use core::arch::asm;
4
5/// Write 64 bits to msr register.
6///
7/// # Safety
8/// Needs CPL 0.
9pub unsafe fn wrmsr(msr: u32, value: u64) {
10 let low = value as u32;
11 let high = (value >> 32) as u32;
12 asm!("wrmsr", in("ecx") msr, in("eax") low, in("edx") high);
13}
14
15/// Read 64 bits msr register.
16///
17/// # Safety
18/// Needs CPL 0.
19#[allow(unused_mut)]
20pub unsafe fn rdmsr(msr: u32) -> u64 {
21 let (high, low): (u32, u32);
22 asm!("rdmsr", out("eax") low, out("edx") high, in("ecx") msr);
23 ((high as u64) << 32) | (low as u64)
24}
25
26// What follows is a long list of all MSR register taken from Intel's manual.
27// Some of the register values appear duplicated as they may be
28// called differently for different architectures or they just have
29// different meanings on different platforms. It's a mess.
30
31/// See Section 35.16, MSRs in Pentium Processors, and see Table 35-2.
32pub const P5_MC_ADDR: u32 = 0x0;
33
34/// See Section 35.16, MSRs in Pentium Processors.
35pub const IA32_P5_MC_ADDR: u32 = 0x0;
36
37/// See Section 35.16, MSRs in Pentium Processors, and see Table 35-2.
38pub const P5_MC_TYPE: u32 = 0x1;
39
40/// See Section 35.16, MSRs in Pentium Processors.
41pub const IA32_P5_MC_TYPE: u32 = 0x1;
42
43/// See Section 8.10.5, Monitor/Mwait Address Range Determination, and see Table 35-2.
44pub const IA32_MONITOR_FILTER_SIZE: u32 = 0x6;
45
46/// See Section 8.10.5, Monitor/Mwait Address Range Determination.
47pub const IA32_MONITOR_FILTER_LINE_SIZE: u32 = 0x6;
48
49/// See Section 17.13, Time-Stamp Counter, and see Table 35-2.
50pub const IA32_TIME_STAMP_COUNTER: u32 = 0x10;
51
52/// See Section 17.13, Time-Stamp Counter.
53pub const TSC: u32 = 0x10;
54
55/// Model Specific Platform ID (R)
56pub const MSR_PLATFORM_ID: u32 = 0x17;
57
58/// Platform ID (R) See Table 35-2. The operating system can use this MSR to determine slot information for the processor and the proper microcode update to load.
59pub const IA32_PLATFORM_ID: u32 = 0x17;
60
61/// Section 10.4.4, Local APIC Status and Location.
62pub const APIC_BASE: u32 = 0x1b;
63
64/// APIC Location and Status (R/W) See Table 35-2. See Section 10.4.4, Local APIC Status and Location.
65pub const IA32_APIC_BASE: u32 = 0x1b;
66
67/// Processor Hard Power-On Configuration (R/W) Enables and disables processor features; (R) indicates current processor configuration.
68pub const EBL_CR_POWERON: u32 = 0x2a;
69
70/// Processor Hard Power-On Configuration (R/W) Enables and disables processor features; (R) indicates current processor configuration.
71pub const MSR_EBL_CR_POWERON: u32 = 0x2a;
72
73/// Processor Hard Power-On Configuration (R/W) Enables and disables processor features; (R) indicates current processor configuration.
74pub const MSR_EBC_HARD_POWERON: u32 = 0x2a;
75
76/// Processor Soft Power-On Configuration (R/W) Enables and disables processor features.
77pub const MSR_EBC_SOFT_POWERON: u32 = 0x2b;
78
79/// Processor Frequency Configuration The bit field layout of this MSR varies according to the MODEL value in the CPUID version information. The following bit field layout applies to Pentium 4 and Xeon Processors with MODEL encoding equal or greater than 2. (R) The field Indicates the current processor frequency configuration.
80pub const MSR_EBC_FREQUENCY_ID: u32 = 0x2c;
81
82/// Test Control Register
83pub const TEST_CTL: u32 = 0x33;
84
85/// SMI Counter (R/O)
86pub const MSR_SMI_COUNT: u32 = 0x34;
87
88/// Control Features in IA-32 Processor (R/W) See Table 35-2 (If CPUID.01H:ECX.\[bit 5\])
89pub const IA32_FEATURE_CONTROL: u32 = 0x3a;
90
91/// Per-Logical-Processor TSC ADJUST (R/W) See Table 35-2.
92pub const IA32_TSC_ADJUST: u32 = 0x3b;
93
94/// Last Branch Record 0 From IP (R/W) One of eight pairs of last branch record registers on the last branch record stack. This part of the stack contains pointers to the source instruction for one of the last eight branches, exceptions, or interrupts taken by the processor. See also: Last Branch Record Stack TOS at 1C9H Section 17.11, Last Branch, Interrupt, and Exception Recording (Pentium M Processors).
95pub const MSR_LASTBRANCH_0_FROM_IP: u32 = 0x40;
96
97/// Last Branch Record 1 (R/W) See description of MSR_LASTBRANCH_0.
98pub const MSR_LASTBRANCH_1: u32 = 0x41;
99
100/// Last Branch Record 1 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
101pub const MSR_LASTBRANCH_1_FROM_IP: u32 = 0x41;
102
103/// Last Branch Record 2 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
104pub const MSR_LASTBRANCH_2_FROM_IP: u32 = 0x42;
105
106/// Last Branch Record 3 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
107pub const MSR_LASTBRANCH_3_FROM_IP: u32 = 0x43;
108
109/// Last Branch Record 4 (R/W) See description of MSR_LASTBRANCH_0.
110pub const MSR_LASTBRANCH_4: u32 = 0x44;
111
112/// Last Branch Record 4 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
113pub const MSR_LASTBRANCH_4_FROM_IP: u32 = 0x44;
114
115/// Last Branch Record 5 (R/W) See description of MSR_LASTBRANCH_0.
116pub const MSR_LASTBRANCH_5: u32 = 0x45;
117
118/// Last Branch Record 5 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
119pub const MSR_LASTBRANCH_5_FROM_IP: u32 = 0x45;
120
121/// Last Branch Record 6 (R/W) See description of MSR_LASTBRANCH_0.
122pub const MSR_LASTBRANCH_6: u32 = 0x46;
123
124/// Last Branch Record 6 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
125pub const MSR_LASTBRANCH_6_FROM_IP: u32 = 0x46;
126
127/// Last Branch Record 7 (R/W) See description of MSR_LASTBRANCH_0.
128pub const MSR_LASTBRANCH_7: u32 = 0x47;
129
130/// Last Branch Record 7 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
131pub const MSR_LASTBRANCH_7_FROM_IP: u32 = 0x47;
132
133/// Last Branch Record 0 (R/W) One of 16 pairs of last branch record registers on the last branch record stack (6C0H-6CFH). This part of the stack contains pointers to the destination instruction for one of the last 16 branches, exceptions, or interrupts that the processor took. See Section 17.9, Last Branch, Interrupt, and Exception Recording (Processors based on Intel NetBurst® Microarchitecture).
134pub const MSR_LASTBRANCH_0_TO_IP: u32 = 0x6c0;
135
136/// Last Branch Record 1 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
137pub const MSR_LASTBRANCH_1_TO_IP: u32 = 0x61;
138
139/// Last Branch Record 2 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
140pub const MSR_LASTBRANCH_2_TO_IP: u32 = 0x62;
141
142/// Last Branch Record 3 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
143pub const MSR_LASTBRANCH_3_TO_IP: u32 = 0x63;
144
145/// Last Branch Record 4 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
146pub const MSR_LASTBRANCH_4_TO_IP: u32 = 0x64;
147
148/// Last Branch Record 5 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
149pub const MSR_LASTBRANCH_5_TO_IP: u32 = 0x65;
150
151/// Last Branch Record 6 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
152pub const MSR_LASTBRANCH_6_TO_IP: u32 = 0x66;
153
154/// Last Branch Record 7 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
155pub const MSR_LASTBRANCH_7_TO_IP: u32 = 0x67;
156
157/// BIOS Update Trigger Register (W) See Table 35-2.
158pub const IA32_BIOS_UPDT_TRIG: u32 = 0x79;
159
160/// BIOS Update Trigger Register.
161pub const BIOS_UPDT_TRIG: u32 = 0x79;
162
163/// BIOS Update Signature ID (R/W) See Table 35-2.
164pub const IA32_BIOS_SIGN_ID: u32 = 0x8b;
165
166/// SMM Monitor Configuration (R/W) See Table 35-2.
167pub const IA32_SMM_MONITOR_CTL: u32 = 0x9b;
168
169/// If IA32_VMX_MISC\[bit 15\])
170pub const IA32_SMBASE: u32 = 0x9e;
171
172/// System Management Mode Physical Address Mask register (WO in SMM) Model-specific implementation of SMRR-like interface, read visible and write only in SMM..
173pub const MSR_SMRR_PHYSMASK: u32 = 0xa1;
174
175/// Performance Counter Register See Table 35-2.
176pub const IA32_PMC0: u32 = 0xc1;
177
178/// Performance Counter Register See Table 35-2.
179pub const IA32_PMC1: u32 = 0xc2;
180
181/// Performance Counter Register See Table 35-2.
182pub const IA32_PMC2: u32 = 0xc3;
183
184/// Performance Counter Register See Table 35-2.
185pub const IA32_PMC3: u32 = 0xc4;
186
187/// Performance Counter Register See Table 35-2.
188pub const IA32_PMC4: u32 = 0xc5;
189
190/// Performance Counter Register See Table 35-2.
191pub const IA32_PMC5: u32 = 0xc6;
192
193/// Performance Counter Register See Table 35-2.
194pub const IA32_PMC6: u32 = 0xc7;
195
196/// Performance Counter Register See Table 35-2.
197pub const IA32_PMC7: u32 = 0xc8;
198
199/// Scaleable Bus Speed(RO) This field indicates the intended scaleable bus clock speed for processors based on Intel Atom microarchitecture:
200pub const MSR_FSB_FREQ: u32 = 0xcd;
201
202/// see http://biosbits.org.
203pub const MSR_PLATFORM_INFO: u32 = 0xce;
204
205/// C-State Configuration Control (R/W) Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States. See http://biosbits.org.
206pub const MSR_PKG_CST_CONFIG_CONTROL: u32 = 0xe2;
207
208/// Power Management IO Redirection in C-state (R/W) See http://biosbits.org.
209pub const MSR_PMG_IO_CAPTURE_BASE: u32 = 0xe4;
210
211/// Maximum Performance Frequency Clock Count (RW) See Table 35-2.
212pub const IA32_MPERF: u32 = 0xe7;
213
214/// Actual Performance Frequency Clock Count (RW) See Table 35-2.
215pub const IA32_APERF: u32 = 0xe8;
216
217/// MTRR Information See Section 11.11.1, MTRR Feature Identification. .
218pub const IA32_MTRRCAP: u32 = 0xfe;
219
220pub const MSR_BBL_CR_CTL: u32 = 0x119;
221
222pub const MSR_BBL_CR_CTL3: u32 = 0x11e;
223
224/// TSX Ctrl Register for TSX Async Abot (TAA) Migration. See Volume 3A, Section 2.1, Table 2-2.
225pub const MSR_IA32_TSX_CTRL: u32 = 0x122;
226
227/// CS register target for CPL 0 code (R/W) See Table 35-2. See Section 5.8.7, Performing Fast Calls to System Procedures with the SYSENTER and SYSEXIT Instructions.
228pub const IA32_SYSENTER_CS: u32 = 0x174;
229
230/// CS register target for CPL 0 code
231pub const SYSENTER_CS_MSR: u32 = 0x174;
232
233/// Stack pointer for CPL 0 stack (R/W) See Table 35-2. See Section 5.8.7, Performing Fast Calls to System Procedures with the SYSENTER and SYSEXIT Instructions.
234pub const IA32_SYSENTER_ESP: u32 = 0x175;
235
236/// Stack pointer for CPL 0 stack
237pub const SYSENTER_ESP_MSR: u32 = 0x175;
238
239/// CPL 0 code entry point (R/W) See Table 35-2. See Section 5.8.7, Performing Fast Calls to System Procedures with the SYSENTER and SYSEXIT Instructions.
240pub const IA32_SYSENTER_EIP: u32 = 0x176;
241
242/// CPL 0 code entry point
243pub const SYSENTER_EIP_MSR: u32 = 0x176;
244
245pub const MCG_CAP: u32 = 0x179;
246
247/// Machine Check Capabilities (R) See Table 35-2. See Section 15.3.1.1, IA32_MCG_CAP MSR.
248pub const IA32_MCG_CAP: u32 = 0x179;
249
250/// Machine Check Status. (R) See Table 35-2. See Section 15.3.1.2, IA32_MCG_STATUS MSR.
251pub const IA32_MCG_STATUS: u32 = 0x17a;
252
253pub const MCG_STATUS: u32 = 0x17a;
254
255pub const MCG_CTL: u32 = 0x17b;
256
257/// Machine Check Feature Enable (R/W) See Table 35-2. See Section 15.3.1.3, IA32_MCG_CTL MSR.
258pub const IA32_MCG_CTL: u32 = 0x17b;
259
260/// Enhanced SMM Capabilities (SMM-RO) Reports SMM capability Enhancement. Accessible only while in SMM.
261pub const MSR_SMM_MCA_CAP: u32 = 0x17d;
262
263/// MC Bank Error Configuration (R/W)
264pub const MSR_ERROR_CONTROL: u32 = 0x17f;
265
266/// Machine Check EAX/RAX Save State See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
267pub const MSR_MCG_RAX: u32 = 0x180;
268
269/// Machine Check EBX/RBX Save State See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
270pub const MSR_MCG_RBX: u32 = 0x181;
271
272/// Machine Check ECX/RCX Save State See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
273pub const MSR_MCG_RCX: u32 = 0x182;
274
275/// Machine Check EDX/RDX Save State See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
276pub const MSR_MCG_RDX: u32 = 0x183;
277
278/// Machine Check ESI/RSI Save State See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
279pub const MSR_MCG_RSI: u32 = 0x184;
280
281/// Machine Check EDI/RDI Save State See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
282pub const MSR_MCG_RDI: u32 = 0x185;
283
284/// Machine Check EBP/RBP Save State See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
285pub const MSR_MCG_RBP: u32 = 0x186;
286
287/// Performance Event Select for Counter 0 (R/W) Supports all fields described inTable 35-2 and the fields below.
288pub const IA32_PERFEVTSEL0: u32 = 0x186;
289
290/// Performance Event Select for Counter 1 (R/W) Supports all fields described inTable 35-2 and the fields below.
291pub const IA32_PERFEVTSEL1: u32 = 0x187;
292
293/// Performance Event Select for Counter 2 (R/W) Supports all fields described inTable 35-2 and the fields below.
294pub const IA32_PERFEVTSEL2: u32 = 0x188;
295
296/// Machine Check EFLAGS/RFLAG Save State See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
297pub const MSR_MCG_RFLAGS: u32 = 0x188;
298
299/// Performance Event Select for Counter 3 (R/W) Supports all fields described inTable 35-2 and the fields below.
300pub const IA32_PERFEVTSEL3: u32 = 0x189;
301
302/// Machine Check EIP/RIP Save State See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
303pub const MSR_MCG_RIP: u32 = 0x189;
304
305/// Machine Check Miscellaneous See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
306pub const MSR_MCG_MISC: u32 = 0x18a;
307
308/// See Table 35-2; If CPUID.0AH:EAX\[15:8\] = 8
309pub const IA32_PERFEVTSEL4: u32 = 0x18a;
310
311/// See Table 35-2; If CPUID.0AH:EAX\[15:8\] = 8
312pub const IA32_PERFEVTSEL5: u32 = 0x18b;
313
314/// See Table 35-2; If CPUID.0AH:EAX\[15:8\] = 8
315pub const IA32_PERFEVTSEL6: u32 = 0x18c;
316
317/// See Table 35-2; If CPUID.0AH:EAX\[15:8\] = 8
318pub const IA32_PERFEVTSEL7: u32 = 0x18d;
319
320/// Machine Check R8 See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
321pub const MSR_MCG_R8: u32 = 0x190;
322
323/// Machine Check R9D/R9 See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
324pub const MSR_MCG_R9: u32 = 0x191;
325
326/// Machine Check R10 See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
327pub const MSR_MCG_R10: u32 = 0x192;
328
329/// Machine Check R11 See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
330pub const MSR_MCG_R11: u32 = 0x193;
331
332/// Machine Check R12 See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
333pub const MSR_MCG_R12: u32 = 0x194;
334
335/// Machine Check R13 See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
336pub const MSR_MCG_R13: u32 = 0x195;
337
338/// Machine Check R14 See Section 15.3.2.6, IA32_MCG Extended Machine Check State MSRs.
339pub const MSR_MCG_R14: u32 = 0x196;
340
341pub const MSR_PERF_STATUS: u32 = 0x198;
342
343/// See Table 35-2. See Section 14.1, Enhanced Intel Speedstep® Technology.
344pub const IA32_PERF_STATUS: u32 = 0x198;
345
346/// See Table 35-2. See Section 14.1, Enhanced Intel Speedstep® Technology.
347pub const IA32_PERF_CTL: u32 = 0x199;
348
349/// Clock Modulation (R/W) See Table 35-2. IA32_CLOCK_MODULATION MSR was originally named IA32_THERM_CONTROL MSR.
350pub const IA32_CLOCK_MODULATION: u32 = 0x19a;
351
352/// Thermal Interrupt Control (R/W) See Section 14.5.2, Thermal Monitor, and see Table 35-2.
353pub const IA32_THERM_INTERRUPT: u32 = 0x19b;
354
355/// Thermal Monitor Status (R/W) See Section 14.5.2, Thermal Monitor, and see Table 35-2.
356pub const IA32_THERM_STATUS: u32 = 0x19c;
357
358/// Thermal Monitor 2 Control.
359pub const MSR_THERM2_CTL: u32 = 0x19d;
360
361pub const IA32_MISC_ENABLE: u32 = 0x1a0;
362
363/// Platform Feature Requirements (R)
364pub const MSR_PLATFORM_BRV: u32 = 0x1a1;
365
366pub const MSR_TEMPERATURE_TARGET: u32 = 0x1a2;
367
368/// Offcore Response Event Select Register (R/W)
369pub const MSR_OFFCORE_RSP_0: u32 = 0x1a6;
370
371/// Offcore Response Event Select Register (R/W)
372pub const MSR_OFFCORE_RSP_1: u32 = 0x1a7;
373
374/// See http://biosbits.org.
375pub const MSR_MISC_PWR_MGMT: u32 = 0x1aa;
376
377/// See http://biosbits.org.
378pub const MSR_TURBO_POWER_CURRENT_LIMIT: u32 = 0x1ac;
379
380/// Maximum Ratio Limit of Turbo Mode RO if MSR_PLATFORM_INFO.\[28\] = 0, RW if MSR_PLATFORM_INFO.\[28\] = 1
381pub const MSR_TURBO_RATIO_LIMIT: u32 = 0x1ad;
382
383/// if CPUID.6H:ECX\[3\] = 1
384pub const IA32_ENERGY_PERF_BIAS: u32 = 0x1b0;
385
386/// If CPUID.06H: EAX\[6\] = 1
387pub const IA32_PACKAGE_THERM_STATUS: u32 = 0x1b1;
388
389/// If CPUID.06H: EAX\[6\] = 1
390pub const IA32_PACKAGE_THERM_INTERRUPT: u32 = 0x1b2;
391
392/// Last Branch Record Filtering Select Register (R/W) See Section 17.6.2, Filtering of Last Branch Records.
393pub const MSR_LBR_SELECT: u32 = 0x1c8;
394
395/// Last Branch Record Stack TOS (R/W) Contains an index (0-3 or 0-15) that points to the top of the last branch record stack (that is, that points the index of the MSR containing the most recent branch record). See Section 17.9.2, LBR Stack for Processors Based on Intel NetBurst® Microarchitecture ; and addresses 1DBH-1DEH and 680H-68FH.
396pub const MSR_LASTBRANCH_TOS: u32 = 0x1da;
397
398pub const DEBUGCTLMSR: u32 = 0x1d9;
399
400/// Debug Control (R/W) Controls how several debug features are used. Bit definitions are discussed in the referenced section. See Section 17.9.1, MSR_DEBUGCTLA MSR.
401pub const MSR_DEBUGCTLA: u32 = 0x1d9;
402
403/// Debug Control (R/W) Controls how several debug features are used. Bit definitions are discussed in the referenced section. See Section 17.11, Last Branch, Interrupt, and Exception Recording (Pentium M Processors).
404pub const MSR_DEBUGCTLB: u32 = 0x1d9;
405
406/// Debug Control (R/W) Controls how several debug features are used. Bit definitions are discussed in the referenced section.
407pub const IA32_DEBUGCTL: u32 = 0x1d9;
408
409pub const LASTBRANCHFROMIP: u32 = 0x1db;
410
411/// Last Branch Record 0 (R/W) One of four last branch record registers on the last branch record stack. It contains pointers to the source and destination instruction for one of the last four branches, exceptions, or interrupts that the processor took. MSR_LASTBRANCH_0 through MSR_LASTBRANCH_3 at 1DBH-1DEH are available only on family 0FH, models 0H-02H. They have been replaced by the MSRs at 680H- 68FH and 6C0H-6CFH.
412pub const MSR_LASTBRANCH_0: u32 = 0x1db;
413
414pub const LASTBRANCHTOIP: u32 = 0x1dc;
415
416pub const LASTINTFROMIP: u32 = 0x1dd;
417
418/// Last Branch Record 2 See description of the MSR_LASTBRANCH_0 MSR at 1DBH.
419pub const MSR_LASTBRANCH_2: u32 = 0x1dd;
420
421/// Last Exception Record From Linear IP (R) Contains a pointer to the last branch instruction that the processor executed prior to the last exception that was generated or the last interrupt that was handled. See Section 17.11, Last Branch, Interrupt, and Exception Recording (Pentium M Processors) and Section 17.12.2, Last Branch and Last Exception MSRs.
422pub const MSR_LER_FROM_LIP: u32 = 0x1de;
423
424pub const LASTINTTOIP: u32 = 0x1de;
425
426/// Last Branch Record 3 See description of the MSR_LASTBRANCH_0 MSR at 1DBH.
427pub const MSR_LASTBRANCH_3: u32 = 0x1de;
428
429/// Last Exception Record To Linear IP (R) This area contains a pointer to the target of the last branch instruction that the processor executed prior to the last exception that was generated or the last interrupt that was handled. See Section 17.11, Last Branch, Interrupt, and Exception Recording (Pentium M Processors) and Section 17.12.2, Last Branch and Last Exception MSRs.
430pub const MSR_LER_TO_LIP: u32 = 0x1dd;
431
432pub const ROB_CR_BKUPTMPDR6: u32 = 0x1e0;
433
434/// See Table 35-2.
435pub const IA32_SMRR_PHYSBASE: u32 = 0x1f2;
436
437/// If IA32_MTRR_CAP\[SMRR\] = 1
438pub const IA32_SMRR_PHYSMASK: u32 = 0x1f3;
439
440/// 06_0FH
441pub const IA32_PLATFORM_DCA_CAP: u32 = 0x1f8;
442
443pub const IA32_CPU_DCA_CAP: u32 = 0x1f9;
444
445/// 06_2EH
446pub const IA32_DCA_0_CAP: u32 = 0x1fa;
447
448/// Power Control Register. See http://biosbits.org.
449pub const MSR_POWER_CTL: u32 = 0x1fc;
450
451/// Variable Range Base MTRR See Section 11.11.2.3, Variable Range MTRRs.
452pub const IA32_MTRR_PHYSBASE0: u32 = 0x200;
453
454/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
455pub const IA32_MTRR_PHYSMASK0: u32 = 0x201;
456
457/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
458pub const IA32_MTRR_PHYSBASE1: u32 = 0x202;
459
460/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
461pub const IA32_MTRR_PHYSMASK1: u32 = 0x203;
462
463/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
464pub const IA32_MTRR_PHYSBASE2: u32 = 0x204;
465
466/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs .
467pub const IA32_MTRR_PHYSMASK2: u32 = 0x205;
468
469/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
470pub const IA32_MTRR_PHYSBASE3: u32 = 0x206;
471
472/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
473pub const IA32_MTRR_PHYSMASK3: u32 = 0x207;
474
475/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
476pub const IA32_MTRR_PHYSBASE4: u32 = 0x208;
477
478/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
479pub const IA32_MTRR_PHYSMASK4: u32 = 0x209;
480
481/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
482pub const IA32_MTRR_PHYSBASE5: u32 = 0x20a;
483
484/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
485pub const IA32_MTRR_PHYSMASK5: u32 = 0x20b;
486
487/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
488pub const IA32_MTRR_PHYSBASE6: u32 = 0x20c;
489
490/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
491pub const IA32_MTRR_PHYSMASK6: u32 = 0x20d;
492
493/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
494pub const IA32_MTRR_PHYSBASE7: u32 = 0x20e;
495
496/// Variable Range Mask MTRR See Section 11.11.2.3, Variable Range MTRRs.
497pub const IA32_MTRR_PHYSMASK7: u32 = 0x20f;
498
499/// if IA32_MTRR_CAP\[7:0\] > 8
500pub const IA32_MTRR_PHYSBASE8: u32 = 0x210;
501
502/// if IA32_MTRR_CAP\[7:0\] > 8
503pub const IA32_MTRR_PHYSMASK8: u32 = 0x211;
504
505/// if IA32_MTRR_CAP\[7:0\] > 9
506pub const IA32_MTRR_PHYSBASE9: u32 = 0x212;
507
508/// if IA32_MTRR_CAP\[7:0\] > 9
509pub const IA32_MTRR_PHYSMASK9: u32 = 0x213;
510
511/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs.
512pub const IA32_MTRR_FIX64K_00000: u32 = 0x250;
513
514/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs.
515pub const IA32_MTRR_FIX16K_80000: u32 = 0x258;
516
517/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs.
518pub const IA32_MTRR_FIX16K_A0000: u32 = 0x259;
519
520/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs.
521pub const IA32_MTRR_FIX4K_C0000: u32 = 0x268;
522
523/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs .
524pub const IA32_MTRR_FIX4K_C8000: u32 = 0x269;
525
526/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs .
527pub const IA32_MTRR_FIX4K_D0000: u32 = 0x26a;
528
529/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs.
530pub const IA32_MTRR_FIX4K_D8000: u32 = 0x26b;
531
532/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs.
533pub const IA32_MTRR_FIX4K_E0000: u32 = 0x26c;
534
535/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs.
536pub const IA32_MTRR_FIX4K_E8000: u32 = 0x26d;
537
538/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs.
539pub const IA32_MTRR_FIX4K_F0000: u32 = 0x26e;
540
541/// Fixed Range MTRR See Section 11.11.2.2, Fixed Range MTRRs.
542pub const IA32_MTRR_FIX4K_F8000: u32 = 0x26f;
543
544/// Page Attribute Table See Section 11.11.2.2, Fixed Range MTRRs.
545pub const IA32_PAT: u32 = 0x277;
546
547/// See Table 35-2.
548pub const IA32_MC0_CTL2: u32 = 0x280;
549
550/// See Table 35-2.
551pub const IA32_MC1_CTL2: u32 = 0x281;
552
553/// See Table 35-2.
554pub const IA32_MC2_CTL2: u32 = 0x282;
555
556/// See Table 35-2.
557pub const IA32_MC3_CTL2: u32 = 0x283;
558
559/// See Table 35-2.
560pub const IA32_MC4_CTL2: u32 = 0x284;
561
562/// Always 0 (CMCI not supported).
563pub const MSR_MC4_CTL2: u32 = 0x284;
564
565/// See Table 35-2.
566pub const IA32_MC5_CTL2: u32 = 0x285;
567
568/// See Table 35-2.
569pub const IA32_MC6_CTL2: u32 = 0x286;
570
571/// See Table 35-2.
572pub const IA32_MC7_CTL2: u32 = 0x287;
573
574/// See Table 35-2.
575pub const IA32_MC8_CTL2: u32 = 0x288;
576
577/// See Table 35-2.
578pub const IA32_MC9_CTL2: u32 = 0x289;
579
580/// See Table 35-2.
581pub const IA32_MC10_CTL2: u32 = 0x28a;
582
583/// See Table 35-2.
584pub const IA32_MC11_CTL2: u32 = 0x28b;
585
586/// See Table 35-2.
587pub const IA32_MC12_CTL2: u32 = 0x28c;
588
589/// See Table 35-2.
590pub const IA32_MC13_CTL2: u32 = 0x28d;
591
592/// See Table 35-2.
593pub const IA32_MC14_CTL2: u32 = 0x28e;
594
595/// See Table 35-2.
596pub const IA32_MC15_CTL2: u32 = 0x28f;
597
598/// See Table 35-2.
599pub const IA32_MC16_CTL2: u32 = 0x290;
600
601/// See Table 35-2.
602pub const IA32_MC17_CTL2: u32 = 0x291;
603
604/// See Table 35-2.
605pub const IA32_MC18_CTL2: u32 = 0x292;
606
607/// See Table 35-2.
608pub const IA32_MC19_CTL2: u32 = 0x293;
609
610/// See Table 35-2.
611pub const IA32_MC20_CTL2: u32 = 0x294;
612
613/// See Table 35-2.
614pub const IA32_MC21_CTL2: u32 = 0x295;
615
616/// Default Memory Types (R/W) Sets the memory type for the regions of physical memory that are not mapped by the MTRRs. See Section 11.11.2.1, IA32_MTRR_DEF_TYPE MSR.
617pub const IA32_MTRR_DEF_TYPE: u32 = 0x2ff;
618
619/// See Section 18.12.2, Performance Counters.
620pub const MSR_BPU_COUNTER0: u32 = 0x300;
621
622pub const MSR_GQ_SNOOP_MESF: u32 = 0x301;
623
624/// See Section 18.12.2, Performance Counters.
625pub const MSR_BPU_COUNTER1: u32 = 0x301;
626
627/// See Section 18.12.2, Performance Counters.
628pub const MSR_BPU_COUNTER2: u32 = 0x302;
629
630/// See Section 18.12.2, Performance Counters.
631pub const MSR_BPU_COUNTER3: u32 = 0x303;
632
633/// See Section 18.12.2, Performance Counters.
634pub const MSR_MS_COUNTER0: u32 = 0x304;
635
636/// See Section 18.12.2, Performance Counters.
637pub const MSR_MS_COUNTER1: u32 = 0x305;
638
639/// See Section 18.12.2, Performance Counters.
640pub const MSR_MS_COUNTER2: u32 = 0x306;
641
642/// See Section 18.12.2, Performance Counters.
643pub const MSR_MS_COUNTER3: u32 = 0x307;
644
645/// See Section 18.12.2, Performance Counters.
646pub const MSR_FLAME_COUNTER0: u32 = 0x308;
647
648/// Fixed-Function Performance Counter Register 0 (R/W)
649pub const MSR_PERF_FIXED_CTR0: u32 = 0x309;
650
651/// Fixed-Function Performance Counter Register 0 (R/W) See Table 35-2.
652pub const IA32_FIXED_CTR0: u32 = 0x309;
653
654/// See Section 18.12.2, Performance Counters.
655pub const MSR_FLAME_COUNTER1: u32 = 0x309;
656
657/// Fixed-Function Performance Counter Register 1 (R/W)
658pub const MSR_PERF_FIXED_CTR1: u32 = 0x30a;
659
660/// Fixed-Function Performance Counter Register 1 (R/W) See Table 35-2.
661pub const IA32_FIXED_CTR1: u32 = 0x30a;
662
663/// See Section 18.12.2, Performance Counters.
664pub const MSR_FLAME_COUNTER2: u32 = 0x30a;
665
666/// Fixed-Function Performance Counter Register 2 (R/W)
667pub const MSR_PERF_FIXED_CTR2: u32 = 0x30b;
668
669/// Fixed-Function Performance Counter Register 2 (R/W) See Table 35-2.
670pub const IA32_FIXED_CTR2: u32 = 0x30b;
671
672/// See Section 18.12.2, Performance Counters.
673pub const MSR_FLAME_COUNTER3: u32 = 0x30b;
674
675/// See Section 18.12.2, Performance Counters.
676pub const MSR_IQ_COUNTER4: u32 = 0x310;
677
678/// See Section 18.12.2, Performance Counters.
679pub const MSR_IQ_COUNTER5: u32 = 0x311;
680
681/// See Table 35-2. See Section 17.4.1, IA32_DEBUGCTL MSR.
682pub const IA32_PERF_CAPABILITIES: u32 = 0x345;
683
684/// RO. This applies to processors that do not support architectural perfmon version 2.
685pub const MSR_PERF_CAPABILITIES: u32 = 0x345;
686
687/// See Section 18.12.3, CCCR MSRs.
688pub const MSR_BPU_CCCR0: u32 = 0x360;
689
690/// See Section 18.12.3, CCCR MSRs.
691pub const MSR_BPU_CCCR1: u32 = 0x361;
692
693/// See Section 18.12.3, CCCR MSRs.
694pub const MSR_BPU_CCCR2: u32 = 0x362;
695
696/// See Section 18.12.3, CCCR MSRs.
697pub const MSR_BPU_CCCR3: u32 = 0x363;
698
699/// See Section 18.12.3, CCCR MSRs.
700pub const MSR_MS_CCCR0: u32 = 0x364;
701
702/// See Section 18.12.3, CCCR MSRs.
703pub const MSR_MS_CCCR1: u32 = 0x365;
704
705/// See Section 18.12.3, CCCR MSRs.
706pub const MSR_MS_CCCR2: u32 = 0x366;
707
708/// See Section 18.12.3, CCCR MSRs.
709pub const MSR_MS_CCCR3: u32 = 0x367;
710
711/// See Section 18.12.3, CCCR MSRs.
712pub const MSR_FLAME_CCCR0: u32 = 0x368;
713
714/// See Section 18.12.3, CCCR MSRs.
715pub const MSR_FLAME_CCCR1: u32 = 0x369;
716
717/// See Section 18.12.3, CCCR MSRs.
718pub const MSR_FLAME_CCCR2: u32 = 0x36a;
719
720/// See Section 18.12.3, CCCR MSRs.
721pub const MSR_FLAME_CCCR3: u32 = 0x36b;
722
723/// See Section 18.12.3, CCCR MSRs.
724pub const MSR_IQ_CCCR0: u32 = 0x36c;
725
726/// See Section 18.12.3, CCCR MSRs.
727pub const MSR_IQ_CCCR1: u32 = 0x36d;
728
729/// See Section 18.12.3, CCCR MSRs.
730pub const MSR_IQ_CCCR2: u32 = 0x36e;
731
732/// See Section 18.12.3, CCCR MSRs.
733pub const MSR_IQ_CCCR3: u32 = 0x36f;
734
735/// See Section 18.12.3, CCCR MSRs.
736pub const MSR_IQ_CCCR4: u32 = 0x370;
737
738/// See Section 18.12.3, CCCR MSRs.
739pub const MSR_IQ_CCCR5: u32 = 0x371;
740
741/// Fixed-Function-Counter Control Register (R/W)
742pub const MSR_PERF_FIXED_CTR_CTRL: u32 = 0x38d;
743
744/// Fixed-Function-Counter Control Register (R/W) See Table 35-2.
745pub const IA32_FIXED_CTR_CTRL: u32 = 0x38d;
746
747/// See Section 18.4.2, Global Counter Control Facilities.
748pub const MSR_PERF_GLOBAL_STAUS: u32 = 0x38e;
749
750/// See Table 35-2. See Section 18.4.2, Global Counter Control Facilities.
751pub const IA32_PERF_GLOBAL_STAUS: u32 = 0x38e;
752
753/// See Section 18.4.2, Global Counter Control Facilities.
754pub const MSR_PERF_GLOBAL_CTRL: u32 = 0x38f;
755
756/// See Table 35-2. See Section 18.4.2, Global Counter Control Facilities.
757pub const IA32_PERF_GLOBAL_CTRL: u32 = 0x38f;
758
759/// See Section 18.4.2, Global Counter Control Facilities.
760pub const MSR_PERF_GLOBAL_OVF_CTRL: u32 = 0x390;
761
762/// See Table 35-2. See Section 18.4.2, Global Counter Control Facilities.
763pub const IA32_PERF_GLOBAL_OVF_CTRL: u32 = 0x390;
764
765/// See Section 18.7.2.1, Uncore Performance Monitoring Management Facility.
766pub const MSR_UNCORE_PERF_GLOBAL_CTRL: u32 = 0x391;
767
768/// Uncore PMU global control
769pub const MSR_UNC_PERF_GLOBAL_CTRL: u32 = 0x391;
770
771/// See Section 18.7.2.1, Uncore Performance Monitoring Management Facility.
772pub const MSR_UNCORE_PERF_GLOBAL_STATUS: u32 = 0x392;
773
774/// Uncore PMU main status
775pub const MSR_UNC_PERF_GLOBAL_STATUS: u32 = 0x392;
776
777/// See Section 18.7.2.1, Uncore Performance Monitoring Management Facility.
778pub const MSR_UNCORE_PERF_GLOBAL_OVF_CTRL: u32 = 0x393;
779
780/// See Section 18.7.2.1, Uncore Performance Monitoring Management Facility.
781pub const MSR_UNCORE_FIXED_CTR0: u32 = 0x394;
782
783/// Uncore W-box perfmon fixed counter
784pub const MSR_W_PMON_FIXED_CTR: u32 = 0x394;
785
786/// Uncore fixed counter control (R/W)
787pub const MSR_UNC_PERF_FIXED_CTRL: u32 = 0x394;
788
789/// See Section 18.7.2.1, Uncore Performance Monitoring Management Facility.
790pub const MSR_UNCORE_FIXED_CTR_CTRL: u32 = 0x395;
791
792/// Uncore U-box perfmon fixed counter control MSR
793pub const MSR_W_PMON_FIXED_CTR_CTL: u32 = 0x395;
794
795/// Uncore fixed counter
796pub const MSR_UNC_PERF_FIXED_CTR: u32 = 0x395;
797
798/// See Section 18.7.2.3, Uncore Address/Opcode Match MSR.
799pub const MSR_UNCORE_ADDR_OPCODE_MATCH: u32 = 0x396;
800
801/// Uncore C-Box configuration information (R/O)
802pub const MSR_UNC_CBO_CONFIG: u32 = 0x396;
803
804pub const MSR_PEBS_NUM_ALT: u32 = 0x39c;
805
806/// See Section 18.12.1, ESCR MSRs.
807pub const MSR_BSU_ESCR0: u32 = 0x3a0;
808
809/// See Section 18.12.1, ESCR MSRs.
810pub const MSR_BSU_ESCR1: u32 = 0x3a1;
811
812/// See Section 18.12.1, ESCR MSRs.
813pub const MSR_FSB_ESCR0: u32 = 0x3a2;
814
815/// See Section 18.12.1, ESCR MSRs.
816pub const MSR_FSB_ESCR1: u32 = 0x3a3;
817
818/// See Section 18.12.1, ESCR MSRs.
819pub const MSR_FIRM_ESCR0: u32 = 0x3a4;
820
821/// See Section 18.12.1, ESCR MSRs.
822pub const MSR_FIRM_ESCR1: u32 = 0x3a5;
823
824/// See Section 18.12.1, ESCR MSRs.
825pub const MSR_FLAME_ESCR0: u32 = 0x3a6;
826
827/// See Section 18.12.1, ESCR MSRs.
828pub const MSR_FLAME_ESCR1: u32 = 0x3a7;
829
830/// See Section 18.12.1, ESCR MSRs.
831pub const MSR_DAC_ESCR0: u32 = 0x3a8;
832
833/// See Section 18.12.1, ESCR MSRs.
834pub const MSR_DAC_ESCR1: u32 = 0x3a9;
835
836/// See Section 18.12.1, ESCR MSRs.
837pub const MSR_MOB_ESCR0: u32 = 0x3aa;
838
839/// See Section 18.12.1, ESCR MSRs.
840pub const MSR_MOB_ESCR1: u32 = 0x3ab;
841
842/// See Section 18.12.1, ESCR MSRs.
843pub const MSR_PMH_ESCR0: u32 = 0x3ac;
844
845/// See Section 18.12.1, ESCR MSRs.
846pub const MSR_PMH_ESCR1: u32 = 0x3ad;
847
848/// See Section 18.12.1, ESCR MSRs.
849pub const MSR_SAAT_ESCR0: u32 = 0x3ae;
850
851/// See Section 18.12.1, ESCR MSRs.
852pub const MSR_SAAT_ESCR1: u32 = 0x3af;
853
854/// See Section 18.12.1, ESCR MSRs.
855pub const MSR_U2L_ESCR0: u32 = 0x3b0;
856
857/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
858pub const MSR_UNCORE_PMC0: u32 = 0x3b0;
859
860/// Uncore Arb unit, performance counter 0
861pub const MSR_UNC_ARB_PER_CTR0: u32 = 0x3b0;
862
863/// See Section 18.12.1, ESCR MSRs.
864pub const MSR_U2L_ESCR1: u32 = 0x3b1;
865
866/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
867pub const MSR_UNCORE_PMC1: u32 = 0x3b1;
868
869/// Uncore Arb unit, performance counter 1
870pub const MSR_UNC_ARB_PER_CTR1: u32 = 0x3b1;
871
872/// See Section 18.12.1, ESCR MSRs.
873pub const MSR_BPU_ESCR0: u32 = 0x3b2;
874
875/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
876pub const MSR_UNCORE_PMC2: u32 = 0x3b2;
877
878/// Uncore Arb unit, counter 0 event select MSR
879pub const MSR_UNC_ARB_PERFEVTSEL0: u32 = 0x3b2;
880
881/// See Section 18.12.1, ESCR MSRs.
882pub const MSR_BPU_ESCR1: u32 = 0x3b3;
883
884/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
885pub const MSR_UNCORE_PMC3: u32 = 0x3b3;
886
887/// Uncore Arb unit, counter 1 event select MSR
888pub const MSR_UNC_ARB_PERFEVTSEL1: u32 = 0x3b3;
889
890/// See Section 18.12.1, ESCR MSRs.
891pub const MSR_IS_ESCR0: u32 = 0x3b4;
892
893/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
894pub const MSR_UNCORE_PMC4: u32 = 0x3b4;
895
896/// See Section 18.12.1, ESCR MSRs.
897pub const MSR_IS_ESCR1: u32 = 0x3b5;
898
899/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
900pub const MSR_UNCORE_PMC5: u32 = 0x3b5;
901
902/// See Section 18.12.1, ESCR MSRs.
903pub const MSR_ITLB_ESCR0: u32 = 0x3b6;
904
905/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
906pub const MSR_UNCORE_PMC6: u32 = 0x3b6;
907
908/// See Section 18.12.1, ESCR MSRs.
909pub const MSR_ITLB_ESCR1: u32 = 0x3b7;
910
911/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
912pub const MSR_UNCORE_PMC7: u32 = 0x3b7;
913
914/// See Section 18.12.1, ESCR MSRs.
915pub const MSR_CRU_ESCR0: u32 = 0x3b8;
916
917/// See Section 18.12.1, ESCR MSRs.
918pub const MSR_CRU_ESCR1: u32 = 0x3b9;
919
920/// See Section 18.12.1, ESCR MSRs. This MSR is not available on later processors. It is only available on processor family 0FH, models 01H-02H.
921pub const MSR_IQ_ESCR0: u32 = 0x3ba;
922
923/// See Section 18.12.1, ESCR MSRs. This MSR is not available on later processors. It is only available on processor family 0FH, models 01H-02H.
924pub const MSR_IQ_ESCR1: u32 = 0x3bb;
925
926/// See Section 18.12.1, ESCR MSRs.
927pub const MSR_RAT_ESCR0: u32 = 0x3bc;
928
929/// See Section 18.12.1, ESCR MSRs.
930pub const MSR_RAT_ESCR1: u32 = 0x3bd;
931
932/// See Section 18.12.1, ESCR MSRs.
933pub const MSR_SSU_ESCR0: u32 = 0x3be;
934
935/// See Section 18.12.1, ESCR MSRs.
936pub const MSR_MS_ESCR0: u32 = 0x3c0;
937
938/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
939pub const MSR_UNCORE_PERFEVTSEL0: u32 = 0x3c0;
940
941/// See Section 18.12.1, ESCR MSRs.
942pub const MSR_MS_ESCR1: u32 = 0x3c1;
943
944/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
945pub const MSR_UNCORE_PERFEVTSEL1: u32 = 0x3c1;
946
947/// See Section 18.12.1, ESCR MSRs.
948pub const MSR_TBPU_ESCR0: u32 = 0x3c2;
949
950/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
951pub const MSR_UNCORE_PERFEVTSEL2: u32 = 0x3c2;
952
953/// See Section 18.12.1, ESCR MSRs.
954pub const MSR_TBPU_ESCR1: u32 = 0x3c3;
955
956/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
957pub const MSR_UNCORE_PERFEVTSEL3: u32 = 0x3c3;
958
959/// See Section 18.12.1, ESCR MSRs.
960pub const MSR_TC_ESCR0: u32 = 0x3c4;
961
962/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
963pub const MSR_UNCORE_PERFEVTSEL4: u32 = 0x3c4;
964
965/// See Section 18.12.1, ESCR MSRs.
966pub const MSR_TC_ESCR1: u32 = 0x3c5;
967
968/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
969pub const MSR_UNCORE_PERFEVTSEL5: u32 = 0x3c5;
970
971/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
972pub const MSR_UNCORE_PERFEVTSEL6: u32 = 0x3c6;
973
974/// See Section 18.7.2.2, Uncore Performance Event Configuration Facility.
975pub const MSR_UNCORE_PERFEVTSEL7: u32 = 0x3c7;
976
977/// See Section 18.12.1, ESCR MSRs.
978pub const MSR_IX_ESCR0: u32 = 0x3c8;
979
980/// See Section 18.12.1, ESCR MSRs.
981pub const MSR_ALF_ESCR0: u32 = 0x3ca;
982
983/// See Section 18.12.1, ESCR MSRs.
984pub const MSR_ALF_ESCR1: u32 = 0x3cb;
985
986/// See Section 18.12.1, ESCR MSRs.
987pub const MSR_CRU_ESCR2: u32 = 0x3cc;
988
989/// See Section 18.12.1, ESCR MSRs.
990pub const MSR_CRU_ESCR3: u32 = 0x3cd;
991
992/// See Section 18.12.1, ESCR MSRs.
993pub const MSR_CRU_ESCR4: u32 = 0x3e0;
994
995/// See Section 18.12.1, ESCR MSRs.
996pub const MSR_CRU_ESCR5: u32 = 0x3e1;
997
998pub const IA32_PEBS_ENABLE: u32 = 0x3f1;
999
1000/// Precise Event-Based Sampling (PEBS) (R/W) Controls the enabling of precise event sampling and replay tagging.
1001pub const MSR_PEBS_ENABLE: u32 = 0x3f1;
1002
1003/// See Table 19-26.
1004pub const MSR_PEBS_MATRIX_VERT: u32 = 0x3f2;
1005
1006/// see See Section 18.7.1.2, Load Latency Performance Monitoring Facility.
1007pub const MSR_PEBS_LD_LAT: u32 = 0x3f6;
1008
1009/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1010pub const MSR_PKG_C3_RESIDENCY: u32 = 0x3f8;
1011
1012/// Package C2 Residency Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C-States
1013pub const MSR_PKG_C2_RESIDENCY: u32 = 0x3f8;
1014
1015/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1016pub const MSR_PKG_C6C_RESIDENCY: u32 = 0x3f9;
1017
1018/// Package C4 Residency Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C-States
1019pub const MSR_PKG_C4_RESIDENCY: u32 = 0x3f9;
1020
1021/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1022pub const MSR_PKG_C7_RESIDENCY: u32 = 0x3fa;
1023
1024/// Package C6 Residency Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C-States
1025pub const MSR_PKG_C6_RESIDENCY: u32 = 0x3fa;
1026
1027/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1028pub const MSR_CORE_C3_RESIDENCY: u32 = 0x3fc;
1029
1030/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1031pub const MSR_CORE_C4_RESIDENCY: u32 = 0x3fc;
1032
1033/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1034pub const MSR_CORE_C6_RESIDENCY: u32 = 0x3fd;
1035
1036/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1037pub const MSR_CORE_C7_RESIDENCY: u32 = 0x3fe;
1038
1039pub const MC0_CTL: u32 = 0x400;
1040
1041/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1042pub const IA32_MC0_CTL: u32 = 0x400;
1043
1044pub const MC0_STATUS: u32 = 0x401;
1045
1046/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1047pub const IA32_MC0_STATUS: u32 = 0x401;
1048
1049pub const MC0_ADDR: u32 = 0x402;
1050
1051/// P6 Family Processors
1052pub const IA32_MC0_ADDR1: u32 = 0x402;
1053
1054/// See Section 14.3.2.3., IA32_MCi_ADDR MSRs . The IA32_MC0_ADDR register is either not implemented or contains no address if the ADDRV flag in the IA32_MC0_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general-protection exception.
1055pub const IA32_MC0_ADDR: u32 = 0x402;
1056
1057/// Defined in MCA architecture but not implemented in the P6 family processors.
1058pub const MC0_MISC: u32 = 0x403;
1059
1060/// See Section 15.3.2.4, IA32_MCi_MISC MSRs. The IA32_MC0_MISC MSR is either not implemented or does not contain additional information if the MISCV flag in the IA32_MC0_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general- protection exception.
1061pub const IA32_MC0_MISC: u32 = 0x403;
1062
1063/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1064pub const MSR_MC0_MISC: u32 = 0x403;
1065
1066pub const MC1_CTL: u32 = 0x404;
1067
1068/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1069pub const IA32_MC1_CTL: u32 = 0x404;
1070
1071/// Bit definitions same as MC0_STATUS.
1072pub const MC1_STATUS: u32 = 0x405;
1073
1074/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1075pub const IA32_MC1_STATUS: u32 = 0x405;
1076
1077pub const MC1_ADDR: u32 = 0x406;
1078
1079/// P6 Family Processors
1080pub const IA32_MC1_ADDR2: u32 = 0x406;
1081
1082/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs. The IA32_MC1_ADDR register is either not implemented or contains no address if the ADDRV flag in the IA32_MC1_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general-protection exception.
1083pub const IA32_MC1_ADDR: u32 = 0x406;
1084
1085/// Defined in MCA architecture but not implemented in the P6 family processors.
1086pub const MC1_MISC: u32 = 0x407;
1087
1088/// See Section 15.3.2.4, IA32_MCi_MISC MSRs. The IA32_MC1_MISC MSR is either not implemented or does not contain additional information if the MISCV flag in the IA32_MC1_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general- protection exception.
1089pub const IA32_MC1_MISC: u32 = 0x407;
1090
1091/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1092pub const MSR_MC1_MISC: u32 = 0x407;
1093
1094pub const MC2_CTL: u32 = 0x408;
1095
1096/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1097pub const IA32_MC2_CTL: u32 = 0x408;
1098
1099/// Bit definitions same as MC0_STATUS.
1100pub const MC2_STATUS: u32 = 0x409;
1101
1102/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1103pub const IA32_MC2_STATUS: u32 = 0x409;
1104
1105pub const MC2_ADDR: u32 = 0x40a;
1106
1107/// P6 Family Processors
1108pub const IA32_MC2_ADDR1: u32 = 0x40a;
1109
1110/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs. The IA32_MC2_ADDR register is either not implemented or contains no address if the ADDRV flag in the IA32_MC2_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general- protection exception.
1111pub const IA32_MC2_ADDR: u32 = 0x40a;
1112
1113/// Defined in MCA architecture but not implemented in the P6 family processors.
1114pub const MC2_MISC: u32 = 0x40b;
1115
1116/// See Section 15.3.2.4, IA32_MCi_MISC MSRs. The IA32_MC2_MISC MSR is either not implemented or does not contain additional information if the MISCV flag in the IA32_MC2_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general- protection exception.
1117pub const IA32_MC2_MISC: u32 = 0x40b;
1118
1119/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1120pub const MSR_MC2_MISC: u32 = 0x40b;
1121
1122pub const MC4_CTL: u32 = 0x40c;
1123
1124/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1125pub const IA32_MC3_CTL: u32 = 0x40c;
1126
1127/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1128pub const MSR_MC4_CTL: u32 = 0x40c;
1129
1130/// Bit definitions same as MC0_STATUS, except bits 0, 4, 57, and 61 are hardcoded to 1.
1131pub const MC4_STATUS: u32 = 0x40d;
1132
1133/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1134pub const IA32_MC3_STATUS: u32 = 0x40d;
1135
1136/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS.
1137pub const MSR_MC4_STATUS: u32 = 0x40d;
1138
1139/// Defined in MCA architecture but not implemented in P6 Family processors.
1140pub const MC4_ADDR: u32 = 0x40e;
1141
1142/// P6 Family Processors
1143pub const IA32_MC3_ADDR1: u32 = 0x40e;
1144
1145/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs. The IA32_MC3_ADDR register is either not implemented or contains no address if the ADDRV flag in the IA32_MC3_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general- protection exception.
1146pub const IA32_MC3_ADDR: u32 = 0x40e;
1147
1148/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs. The MSR_MC4_ADDR register is either not implemented or contains no address if the ADDRV flag in the MSR_MC4_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general-protection exception.
1149pub const MSR_MC4_ADDR: u32 = 0x412;
1150
1151/// Defined in MCA architecture but not implemented in the P6 family processors.
1152pub const MC4_MISC: u32 = 0x40f;
1153
1154/// See Section 15.3.2.4, IA32_MCi_MISC MSRs. The IA32_MC3_MISC MSR is either not implemented or does not contain additional information if the MISCV flag in the IA32_MC3_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general- protection exception.
1155pub const IA32_MC3_MISC: u32 = 0x40f;
1156
1157pub const MC3_CTL: u32 = 0x410;
1158
1159/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1160pub const IA32_MC4_CTL: u32 = 0x410;
1161
1162/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1163pub const MSR_MC3_CTL: u32 = 0x410;
1164
1165/// Bit definitions same as MC0_STATUS.
1166pub const MC3_STATUS: u32 = 0x411;
1167
1168/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1169pub const IA32_MC4_STATUS: u32 = 0x411;
1170
1171/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS.
1172pub const MSR_MC3_STATUS: u32 = 0x411;
1173
1174pub const MC3_ADDR: u32 = 0x412;
1175
1176/// P6 Family Processors
1177pub const IA32_MC4_ADDR1: u32 = 0x412;
1178
1179/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs. The IA32_MC2_ADDR register is either not implemented or contains no address if the ADDRV flag in the IA32_MC4_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general- protection exception.
1180pub const IA32_MC4_ADDR: u32 = 0x412;
1181
1182/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs. The MSR_MC3_ADDR register is either not implemented or contains no address if the ADDRV flag in the MSR_MC3_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general-protection exception.
1183pub const MSR_MC3_ADDR: u32 = 0x412;
1184
1185/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1186pub const MSR_MC3_MISC: u32 = 0x40f;
1187
1188/// Defined in MCA architecture but not implemented in the P6 family processors.
1189pub const MC3_MISC: u32 = 0x413;
1190
1191/// See Section 15.3.2.4, IA32_MCi_MISC MSRs. The IA32_MC2_MISC MSR is either not implemented or does not contain additional information if the MISCV flag in the IA32_MC4_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general- protection exception.
1192pub const IA32_MC4_MISC: u32 = 0x413;
1193
1194/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1195pub const MSR_MC4_MISC: u32 = 0x413;
1196
1197/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1198pub const MSR_MC5_CTL: u32 = 0x414;
1199
1200/// 06_0FH
1201pub const IA32_MC5_CTL: u32 = 0x414;
1202
1203/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1204pub const MSR_MC5_STATUS: u32 = 0x415;
1205
1206/// 06_0FH
1207pub const IA32_MC5_STATUS: u32 = 0x415;
1208
1209/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs. The MSR_MC4_ADDR register is either not implemented or contains no address if the ADDRV flag in the MSR_MC4_STATUS register is clear. When not implemented in the processor, all reads and writes to this MSR will cause a general-protection exception.
1210pub const MSR_MC5_ADDR: u32 = 0x416;
1211
1212/// 06_0FH
1213pub const IA32_MC5_ADDR1: u32 = 0x416;
1214
1215/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1216pub const MSR_MC5_MISC: u32 = 0x417;
1217
1218/// 06_0FH
1219pub const IA32_MC5_MISC: u32 = 0x417;
1220
1221/// 06_1DH
1222pub const IA32_MC6_CTL: u32 = 0x418;
1223
1224/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1225pub const MSR_MC6_CTL: u32 = 0x418;
1226
1227/// 06_1DH
1228pub const IA32_MC6_STATUS: u32 = 0x419;
1229
1230/// Apply to Intel Xeon processor 7400 series (processor signature 06_1D) only. See Section 15.3.2.2, IA32_MCi_STATUS MSRS. and Chapter 23.
1231pub const MSR_MC6_STATUS: u32 = 0x419;
1232
1233/// 06_1DH
1234pub const IA32_MC6_ADDR1: u32 = 0x41a;
1235
1236/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1237pub const MSR_MC6_ADDR: u32 = 0x41a;
1238
1239/// Misc MAC information of Integrated I/O. (R/O) see Section 15.3.2.4
1240pub const IA32_MC6_MISC: u32 = 0x41b;
1241
1242/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1243pub const MSR_MC6_MISC: u32 = 0x41b;
1244
1245/// 06_1AH
1246pub const IA32_MC7_CTL: u32 = 0x41c;
1247
1248/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1249pub const MSR_MC7_CTL: u32 = 0x41c;
1250
1251/// 06_1AH
1252pub const IA32_MC7_STATUS: u32 = 0x41d;
1253
1254/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1255pub const MSR_MC7_STATUS: u32 = 0x41d;
1256
1257/// 06_1AH
1258pub const IA32_MC7_ADDR1: u32 = 0x41e;
1259
1260/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1261pub const MSR_MC7_ADDR: u32 = 0x41e;
1262
1263/// 06_1AH
1264pub const IA32_MC7_MISC: u32 = 0x41f;
1265
1266/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1267pub const MSR_MC7_MISC: u32 = 0x41f;
1268
1269/// 06_1AH
1270pub const IA32_MC8_CTL: u32 = 0x420;
1271
1272/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1273pub const MSR_MC8_CTL: u32 = 0x420;
1274
1275/// 06_1AH
1276pub const IA32_MC8_STATUS: u32 = 0x421;
1277
1278/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1279pub const MSR_MC8_STATUS: u32 = 0x421;
1280
1281/// 06_1AH
1282pub const IA32_MC8_ADDR1: u32 = 0x422;
1283
1284/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1285pub const MSR_MC8_ADDR: u32 = 0x422;
1286
1287/// 06_1AH
1288pub const IA32_MC8_MISC: u32 = 0x423;
1289
1290/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1291pub const MSR_MC8_MISC: u32 = 0x423;
1292
1293/// 06_2EH
1294pub const IA32_MC9_CTL: u32 = 0x424;
1295
1296/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1297pub const MSR_MC9_CTL: u32 = 0x424;
1298
1299/// 06_2EH
1300pub const IA32_MC9_STATUS: u32 = 0x425;
1301
1302/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1303pub const MSR_MC9_STATUS: u32 = 0x425;
1304
1305/// 06_2EH
1306pub const IA32_MC9_ADDR1: u32 = 0x426;
1307
1308/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1309pub const MSR_MC9_ADDR: u32 = 0x426;
1310
1311/// 06_2EH
1312pub const IA32_MC9_MISC: u32 = 0x427;
1313
1314/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1315pub const MSR_MC9_MISC: u32 = 0x427;
1316
1317/// 06_2EH
1318pub const IA32_MC10_CTL: u32 = 0x428;
1319
1320/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1321pub const MSR_MC10_CTL: u32 = 0x428;
1322
1323/// 06_2EH
1324pub const IA32_MC10_STATUS: u32 = 0x429;
1325
1326/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1327pub const MSR_MC10_STATUS: u32 = 0x429;
1328
1329/// 06_2EH
1330pub const IA32_MC10_ADDR1: u32 = 0x42a;
1331
1332/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1333pub const MSR_MC10_ADDR: u32 = 0x42a;
1334
1335/// 06_2EH
1336pub const IA32_MC10_MISC: u32 = 0x42b;
1337
1338/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1339pub const MSR_MC10_MISC: u32 = 0x42b;
1340
1341/// 06_2EH
1342pub const IA32_MC11_CTL: u32 = 0x42c;
1343
1344/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1345pub const MSR_MC11_CTL: u32 = 0x42c;
1346
1347/// 06_2EH
1348pub const IA32_MC11_STATUS: u32 = 0x42d;
1349
1350/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1351pub const MSR_MC11_STATUS: u32 = 0x42d;
1352
1353/// 06_2EH
1354pub const IA32_MC11_ADDR1: u32 = 0x42e;
1355
1356/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1357pub const MSR_MC11_ADDR: u32 = 0x42e;
1358
1359/// 06_2EH
1360pub const IA32_MC11_MISC: u32 = 0x42f;
1361
1362/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1363pub const MSR_MC11_MISC: u32 = 0x42f;
1364
1365/// 06_2EH
1366pub const IA32_MC12_CTL: u32 = 0x430;
1367
1368/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1369pub const MSR_MC12_CTL: u32 = 0x430;
1370
1371/// 06_2EH
1372pub const IA32_MC12_STATUS: u32 = 0x431;
1373
1374/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1375pub const MSR_MC12_STATUS: u32 = 0x431;
1376
1377/// 06_2EH
1378pub const IA32_MC12_ADDR1: u32 = 0x432;
1379
1380/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1381pub const MSR_MC12_ADDR: u32 = 0x432;
1382
1383/// 06_2EH
1384pub const IA32_MC12_MISC: u32 = 0x433;
1385
1386/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1387pub const MSR_MC12_MISC: u32 = 0x433;
1388
1389/// 06_2EH
1390pub const IA32_MC13_CTL: u32 = 0x434;
1391
1392/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1393pub const MSR_MC13_CTL: u32 = 0x434;
1394
1395/// 06_2EH
1396pub const IA32_MC13_STATUS: u32 = 0x435;
1397
1398/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1399pub const MSR_MC13_STATUS: u32 = 0x435;
1400
1401/// 06_2EH
1402pub const IA32_MC13_ADDR1: u32 = 0x436;
1403
1404/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1405pub const MSR_MC13_ADDR: u32 = 0x436;
1406
1407/// 06_2EH
1408pub const IA32_MC13_MISC: u32 = 0x437;
1409
1410/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1411pub const MSR_MC13_MISC: u32 = 0x437;
1412
1413/// 06_2EH
1414pub const IA32_MC14_CTL: u32 = 0x438;
1415
1416/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1417pub const MSR_MC14_CTL: u32 = 0x438;
1418
1419/// 06_2EH
1420pub const IA32_MC14_STATUS: u32 = 0x439;
1421
1422/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1423pub const MSR_MC14_STATUS: u32 = 0x439;
1424
1425/// 06_2EH
1426pub const IA32_MC14_ADDR1: u32 = 0x43a;
1427
1428/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1429pub const MSR_MC14_ADDR: u32 = 0x43a;
1430
1431/// 06_2EH
1432pub const IA32_MC14_MISC: u32 = 0x43b;
1433
1434/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1435pub const MSR_MC14_MISC: u32 = 0x43b;
1436
1437/// 06_2EH
1438pub const IA32_MC15_CTL: u32 = 0x43c;
1439
1440/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1441pub const MSR_MC15_CTL: u32 = 0x43c;
1442
1443/// 06_2EH
1444pub const IA32_MC15_STATUS: u32 = 0x43d;
1445
1446/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1447pub const MSR_MC15_STATUS: u32 = 0x43d;
1448
1449/// 06_2EH
1450pub const IA32_MC15_ADDR1: u32 = 0x43e;
1451
1452/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1453pub const MSR_MC15_ADDR: u32 = 0x43e;
1454
1455/// 06_2EH
1456pub const IA32_MC15_MISC: u32 = 0x43f;
1457
1458/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1459pub const MSR_MC15_MISC: u32 = 0x43f;
1460
1461/// 06_2EH
1462pub const IA32_MC16_CTL: u32 = 0x440;
1463
1464/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1465pub const MSR_MC16_CTL: u32 = 0x440;
1466
1467/// 06_2EH
1468pub const IA32_MC16_STATUS: u32 = 0x441;
1469
1470/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1471pub const MSR_MC16_STATUS: u32 = 0x441;
1472
1473/// 06_2EH
1474pub const IA32_MC16_ADDR1: u32 = 0x442;
1475
1476/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1477pub const MSR_MC16_ADDR: u32 = 0x442;
1478
1479/// 06_2EH
1480pub const IA32_MC16_MISC: u32 = 0x443;
1481
1482/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1483pub const MSR_MC16_MISC: u32 = 0x443;
1484
1485/// 06_2EH
1486pub const IA32_MC17_CTL: u32 = 0x444;
1487
1488/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1489pub const MSR_MC17_CTL: u32 = 0x444;
1490
1491/// 06_2EH
1492pub const IA32_MC17_STATUS: u32 = 0x445;
1493
1494/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1495pub const MSR_MC17_STATUS: u32 = 0x445;
1496
1497/// 06_2EH
1498pub const IA32_MC17_ADDR1: u32 = 0x446;
1499
1500/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1501pub const MSR_MC17_ADDR: u32 = 0x446;
1502
1503/// 06_2EH
1504pub const IA32_MC17_MISC: u32 = 0x447;
1505
1506/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1507pub const MSR_MC17_MISC: u32 = 0x447;
1508
1509/// 06_2EH
1510pub const IA32_MC18_CTL: u32 = 0x448;
1511
1512/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1513pub const MSR_MC18_CTL: u32 = 0x448;
1514
1515/// 06_2EH
1516pub const IA32_MC18_STATUS: u32 = 0x449;
1517
1518/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1519pub const MSR_MC18_STATUS: u32 = 0x449;
1520
1521/// 06_2EH
1522pub const IA32_MC18_ADDR1: u32 = 0x44a;
1523
1524/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1525pub const MSR_MC18_ADDR: u32 = 0x44a;
1526
1527/// 06_2EH
1528pub const IA32_MC18_MISC: u32 = 0x44b;
1529
1530/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1531pub const MSR_MC18_MISC: u32 = 0x44b;
1532
1533/// 06_2EH
1534pub const IA32_MC19_CTL: u32 = 0x44c;
1535
1536/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1537pub const MSR_MC19_CTL: u32 = 0x44c;
1538
1539/// 06_2EH
1540pub const IA32_MC19_STATUS: u32 = 0x44d;
1541
1542/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1543pub const MSR_MC19_STATUS: u32 = 0x44d;
1544
1545/// 06_2EH
1546pub const IA32_MC19_ADDR1: u32 = 0x44e;
1547
1548/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1549pub const MSR_MC19_ADDR: u32 = 0x44e;
1550
1551/// 06_2EH
1552pub const IA32_MC19_MISC: u32 = 0x44f;
1553
1554/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1555pub const MSR_MC19_MISC: u32 = 0x44f;
1556
1557/// 06_2EH
1558pub const IA32_MC20_CTL: u32 = 0x450;
1559
1560/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1561pub const MSR_MC20_CTL: u32 = 0x450;
1562
1563/// 06_2EH
1564pub const IA32_MC20_STATUS: u32 = 0x451;
1565
1566/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1567pub const MSR_MC20_STATUS: u32 = 0x451;
1568
1569/// 06_2EH
1570pub const IA32_MC20_ADDR1: u32 = 0x452;
1571
1572/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1573pub const MSR_MC20_ADDR: u32 = 0x452;
1574
1575/// 06_2EH
1576pub const IA32_MC20_MISC: u32 = 0x453;
1577
1578/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1579pub const MSR_MC20_MISC: u32 = 0x453;
1580
1581/// 06_2EH
1582pub const IA32_MC21_CTL: u32 = 0x454;
1583
1584/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1585pub const MSR_MC21_CTL: u32 = 0x454;
1586
1587/// 06_2EH
1588pub const IA32_MC21_STATUS: u32 = 0x455;
1589
1590/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1591pub const MSR_MC21_STATUS: u32 = 0x455;
1592
1593/// 06_2EH
1594pub const IA32_MC21_ADDR1: u32 = 0x456;
1595
1596/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1597pub const MSR_MC21_ADDR: u32 = 0x456;
1598
1599/// 06_2EH
1600pub const IA32_MC21_MISC: u32 = 0x457;
1601
1602/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1603pub const MSR_MC21_MISC: u32 = 0x457;
1604
1605/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1606pub const MSR_MC22_CTL: u32 = 0x458;
1607
1608/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1609pub const MSR_MC22_STATUS: u32 = 0x459;
1610
1611/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1612pub const MSR_MC22_ADDR: u32 = 0x45a;
1613
1614/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1615pub const MSR_MC22_MISC: u32 = 0x45b;
1616
1617/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1618pub const MSR_MC23_CTL: u32 = 0x45c;
1619
1620/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1621pub const MSR_MC23_STATUS: u32 = 0x45d;
1622
1623/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1624pub const MSR_MC23_ADDR: u32 = 0x45e;
1625
1626/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1627pub const MSR_MC23_MISC: u32 = 0x45f;
1628
1629/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1630pub const MSR_MC24_CTL: u32 = 0x460;
1631
1632/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1633pub const MSR_MC24_STATUS: u32 = 0x461;
1634
1635/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1636pub const MSR_MC24_ADDR: u32 = 0x462;
1637
1638/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1639pub const MSR_MC24_MISC: u32 = 0x463;
1640
1641/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1642pub const MSR_MC25_CTL: u32 = 0x464;
1643
1644/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1645pub const MSR_MC25_STATUS: u32 = 0x465;
1646
1647/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1648pub const MSR_MC25_ADDR: u32 = 0x466;
1649
1650/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1651pub const MSR_MC25_MISC: u32 = 0x467;
1652
1653/// See Section 15.3.2.1, IA32_MCi_CTL MSRs.
1654pub const MSR_MC26_CTL: u32 = 0x468;
1655
1656/// See Section 15.3.2.2, IA32_MCi_STATUS MSRS, and Chapter 16.
1657pub const MSR_MC26_STATUS: u32 = 0x469;
1658
1659/// See Section 15.3.2.3, IA32_MCi_ADDR MSRs.
1660pub const MSR_MC26_ADDR: u32 = 0x46a;
1661
1662/// See Section 15.3.2.4, IA32_MCi_MISC MSRs.
1663pub const MSR_MC26_MISC: u32 = 0x46b;
1664
1665/// Reporting Register of Basic VMX Capabilities (R/O) See Table 35-2. See Appendix A.1, Basic VMX Information (If CPUID.01H:ECX.\[bit 9\])
1666pub const IA32_VMX_BASIC: u32 = 0x480;
1667
1668/// Capability Reporting Register of Pin-based VM-execution Controls (R/O) See Appendix A.3, VM-Execution Controls (If CPUID.01H:ECX.\[bit 9\])
1669pub const IA32_VMX_PINBASED_CTLS: u32 = 0x481;
1670
1671/// Capability Reporting Register of Primary Processor-based VM-execution Controls (R/O) See Appendix A.3, VM-Execution Controls (If CPUID.01H:ECX.\[bit 9\])
1672pub const IA32_VMX_PROCBASED_CTLS: u32 = 0x482;
1673
1674/// Capability Reporting Register of VM-exit Controls (R/O) See Appendix A.4, VM-Exit Controls (If CPUID.01H:ECX.\[bit 9\])
1675pub const IA32_VMX_EXIT_CTLS: u32 = 0x483;
1676
1677/// Capability Reporting Register of VM-entry Controls (R/O) See Appendix A.5, VM-Entry Controls (If CPUID.01H:ECX.\[bit 9\])
1678pub const IA32_VMX_ENTRY_CTLS: u32 = 0x484;
1679
1680/// Reporting Register of Miscellaneous VMX Capabilities (R/O) See Appendix A.6, Miscellaneous Data (If CPUID.01H:ECX.\[bit 9\])
1681pub const IA32_VMX_MISC: u32 = 0x485;
1682
1683/// Capability Reporting Register of CR0 Bits Fixed to 0 (R/O) See Appendix A.7, VMX-Fixed Bits in CR0 (If CPUID.01H:ECX.\[bit 9\])
1684pub const IA32_VMX_CR0_FIXED0: u32 = 0x486;
1685
1686/// If CPUID.01H:ECX.\[bit 5\] = 1
1687pub const IA32_VMX_CRO_FIXED0: u32 = 0x486;
1688
1689/// Capability Reporting Register of CR0 Bits Fixed to 1 (R/O) See Appendix A.7, VMX-Fixed Bits in CR0 (If CPUID.01H:ECX.\[bit 9\])
1690pub const IA32_VMX_CR0_FIXED1: u32 = 0x487;
1691
1692/// If CPUID.01H:ECX.\[bit 5\] = 1
1693pub const IA32_VMX_CRO_FIXED1: u32 = 0x487;
1694
1695/// Capability Reporting Register of CR4 Bits Fixed to 0 (R/O) See Appendix A.8, VMX-Fixed Bits in CR4 (If CPUID.01H:ECX.\[bit 9\])
1696pub const IA32_VMX_CR4_FIXED0: u32 = 0x488;
1697
1698/// Capability Reporting Register of CR4 Bits Fixed to 1 (R/O) See Appendix A.8, VMX-Fixed Bits in CR4 (If CPUID.01H:ECX.\[bit 9\])
1699pub const IA32_VMX_CR4_FIXED1: u32 = 0x489;
1700
1701/// Capability Reporting Register of VMCS Field Enumeration (R/O) See Appendix A.9, VMCS Enumeration (If CPUID.01H:ECX.\[bit 9\])
1702pub const IA32_VMX_VMCS_ENUM: u32 = 0x48a;
1703
1704/// Capability Reporting Register of Secondary Processor-based VM-execution Controls (R/O) See Appendix A.3, VM-Execution Controls (If CPUID.01H:ECX.\[bit 9\] and IA32_VMX_PROCBASED_CTLS\[bit 63\])
1705pub const IA32_VMX_PROCBASED_CTLS2: u32 = 0x48b;
1706
1707/// Capability Reporting Register of EPT and VPID (R/O) See Table 35-2
1708pub const IA32_VMX_EPT_VPID_ENUM: u32 = 0x48c;
1709
1710/// If ( CPUID.01H:ECX.\[bit 5\], IA32_VMX_PROCBASED_C TLS\[bit 63\], and either IA32_VMX_PROCBASED_C TLS2\[bit 33\] or IA32_VMX_PROCBASED_C TLS2\[bit 37\])
1711pub const IA32_VMX_EPT_VPID_CAP: u32 = 0x48c;
1712
1713/// Capability Reporting Register of Pin-based VM-execution Flex Controls (R/O) See Table 35-2
1714pub const IA32_VMX_TRUE_PINBASED_CTLS: u32 = 0x48d;
1715
1716/// Capability Reporting Register of Primary Processor-based VM-execution Flex Controls (R/O) See Table 35-2
1717pub const IA32_VMX_TRUE_PROCBASED_CTLS: u32 = 0x48e;
1718
1719/// Capability Reporting Register of VM-exit Flex Controls (R/O) See Table 35-2
1720pub const IA32_VMX_TRUE_EXIT_CTLS: u32 = 0x48f;
1721
1722/// Capability Reporting Register of VM-entry Flex Controls (R/O) See Table 35-2
1723pub const IA32_VMX_TRUE_ENTRY_CTLS: u32 = 0x490;
1724
1725/// Capability Reporting Register of VM-function Controls (R/O) See Table 35-2
1726pub const IA32_VMX_FMFUNC: u32 = 0x491;
1727
1728/// If( CPUID.01H:ECX.\[bit 5\] = 1 and IA32_VMX_BASIC\[bit 55\] )
1729pub const IA32_VMX_VMFUNC: u32 = 0x491;
1730
1731/// (If CPUID.0AH: EAX\[15:8\] > 0) & IA32_PERF_CAPABILITIES\[ 13\] = 1
1732pub const IA32_A_PMC0: u32 = 0x4c1;
1733
1734/// (If CPUID.0AH: EAX\[15:8\] > 1) & IA32_PERF_CAPABILITIES\[ 13\] = 1
1735pub const IA32_A_PMC1: u32 = 0x4c2;
1736
1737/// (If CPUID.0AH: EAX\[15:8\] > 2) & IA32_PERF_CAPABILITIES\[ 13\] = 1
1738pub const IA32_A_PMC2: u32 = 0x4c3;
1739
1740/// (If CPUID.0AH: EAX\[15:8\] > 3) & IA32_PERF_CAPABILITIES\[ 13\] = 1
1741pub const IA32_A_PMC3: u32 = 0x4c4;
1742
1743/// (If CPUID.0AH: EAX\[15:8\] > 4) & IA32_PERF_CAPABILITIES\[ 13\] = 1
1744pub const IA32_A_PMC4: u32 = 0x4c5;
1745
1746/// (If CPUID.0AH: EAX\[15:8\] > 5) & IA32_PERF_CAPABILITIES\[ 13\] = 1
1747pub const IA32_A_PMC5: u32 = 0x4c6;
1748
1749/// (If CPUID.0AH: EAX\[15:8\] > 6) & IA32_PERF_CAPABILITIES\[ 13\] = 1
1750pub const IA32_A_PMC6: u32 = 0x4c7;
1751
1752/// (If CPUID.0AH: EAX\[15:8\] > 7) & IA32_PERF_CAPABILITIES\[ 13\] = 1
1753pub const IA32_A_PMC7: u32 = 0x4c8;
1754
1755/// Enhanced SMM Feature Control (SMM-RW) Reports SMM capability Enhancement. Accessible only while in SMM.
1756pub const MSR_SMM_FEATURE_CONTROL: u32 = 0x4e0;
1757
1758/// SMM Delayed (SMM-RO) Reports the interruptible state of all logical processors in the package . Available only while in SMM and MSR_SMM_MCA_CAP\[LONG_FLOW_INDICATION\] == 1.
1759pub const MSR_SMM_DELAYED: u32 = 0x4e2;
1760
1761/// SMM Blocked (SMM-RO) Reports the blocked state of all logical processors in the package . Available only while in SMM.
1762pub const MSR_SMM_BLOCKED: u32 = 0x4e3;
1763
1764/// Trace Output Base Register (R/W)
1765pub const MSR_IA32_RTIT_OUTPUT_BASE: u32 = 0x560;
1766
1767/// Trace Output Mask Pointers Register (R/W)
1768pub const MSR_IA32_RTIT_OUTPUT_MASK_PTRS: u32 = 0x561;
1769
1770/// Trace Control Register (R/W)
1771pub const MSR_IA32_RTIT_CTL: u32 = 0x570;
1772
1773/// Tracing Status Register (R/W)
1774pub const MSR_IA32_RTIT_STATUS: u32 = 0x571;
1775
1776/// Trace Filter CR3 Match Register (R/W)
1777pub const MSR_IA32_CR3_MATCH: u32 = 0x572;
1778
1779/// Trace Start Address 0
1780pub const MSR_IA32_ADDR0_START: u32 = 0x580;
1781
1782/// Trace End Address 0
1783pub const MSR_IA32_ADDR0_END: u32 = 0x581;
1784
1785/// Trace Start Address 1
1786pub const MSR_IA32_ADDR1_START: u32 = 0x582;
1787
1788/// Trace End Address 1
1789pub const MSR_IA32_ADDR1_END: u32 = 0x583;
1790
1791/// Trace Start Address 3
1792pub const MSR_IA32_ADDR2_START: u32 = 0x584;
1793
1794/// Trace End Address 3
1795pub const MSR_IA32_ADDR2_END: u32 = 0x585;
1796
1797/// Trace Start Address 4
1798pub const MSR_IA32_ADDR3_START: u32 = 0x586;
1799
1800/// Trace End Address 4
1801pub const MSR_IA32_ADDR3_END: u32 = 0x587;
1802
1803/// DS Save Area (R/W) See Table 35-2. Points to the DS buffer management area, which is used to manage the BTS and PEBS buffers. See Section 18.12.4, Debug Store (DS) Mechanism.
1804pub const IA32_DS_AREA: u32 = 0x600;
1805
1806/// Unit Multipliers used in RAPL Interfaces (R/O) See Section 14.7.1, RAPL Interfaces.
1807pub const MSR_RAPL_POWER_UNIT: u32 = 0x606;
1808
1809/// Package C3 Interrupt Response Limit (R/W) Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1810pub const MSR_PKGC3_IRTL: u32 = 0x60a;
1811
1812/// Package C6 Interrupt Response Limit (R/W) This MSR defines the budget allocated for the package to exit from C6 to a C0 state, where interrupt request can be delivered to the core and serviced. Additional core-exit latency amy be applicable depending on the actual C-state the core is in. Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1813pub const MSR_PKGC6_IRTL: u32 = 0x60b;
1814
1815/// Package C7 Interrupt Response Limit (R/W) This MSR defines the budget allocated for the package to exit from C7 to a C0 state, where interrupt request can be delivered to the core and serviced. Additional core-exit latency amy be applicable depending on the actual C-state the core is in. Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C-States.
1816pub const MSR_PKGC7_IRTL: u32 = 0x60c;
1817
1818/// PKG RAPL Power Limit Control (R/W) See Section 14.7.3, Package RAPL Domain.
1819pub const MSR_PKG_POWER_LIMIT: u32 = 0x610;
1820
1821/// PKG Energy Status (R/O) See Section 14.7.3, Package RAPL Domain.
1822pub const MSR_PKG_ENERGY_STATUS: u32 = 0x611;
1823
1824/// Package RAPL Perf Status (R/O)
1825pub const MSR_PKG_PERF_STATUS: u32 = 0x613;
1826
1827/// PKG RAPL Parameters (R/W) See Section 14.7.3, Package RAPL Domain.
1828pub const MSR_PKG_POWER_INFO: u32 = 0x614;
1829
1830/// DRAM RAPL Power Limit Control (R/W) See Section 14.7.5, DRAM RAPL Domain.
1831pub const MSR_DRAM_POWER_LIMIT: u32 = 0x618;
1832
1833/// DRAM Energy Status (R/O) See Section 14.7.5, DRAM RAPL Domain.
1834pub const MSR_DRAM_ENERGY_STATUS: u32 = 0x619;
1835
1836/// DRAM Performance Throttling Status (R/O) See Section 14.7.5, DRAM RAPL Domain.
1837pub const MSR_DRAM_PERF_STATUS: u32 = 0x61b;
1838
1839/// DRAM RAPL Parameters (R/W) See Section 14.7.5, DRAM RAPL Domain.
1840pub const MSR_DRAM_POWER_INFO: u32 = 0x61c;
1841
1842/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C-States.
1843pub const MSR_PKG_C9_RESIDENCY: u32 = 0x631;
1844
1845/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C-States.
1846pub const MSR_PKG_C10_RESIDENCY: u32 = 0x632;
1847
1848/// PP0 RAPL Power Limit Control (R/W) See Section 14.7.4, PP0/PP1 RAPL Domains.
1849pub const MSR_PP0_POWER_LIMIT: u32 = 0x638;
1850
1851/// PP0 Energy Status (R/O) See Section 14.7.4, PP0/PP1 RAPL Domains.
1852pub const MSR_PP0_ENERGY_STATUS: u32 = 0x639;
1853
1854/// PP0 Balance Policy (R/W) See Section 14.7.4, PP0/PP1 RAPL Domains.
1855pub const MSR_PP0_POLICY: u32 = 0x63a;
1856
1857/// PP0 Performance Throttling Status (R/O) See Section 14.7.4, PP0/PP1 RAPL Domains.
1858pub const MSR_PP0_PERF_STATUS: u32 = 0x63b;
1859
1860/// PP1 RAPL Power Limit Control (R/W) See Section 14.7.4, PP0/PP1 RAPL Domains.
1861pub const MSR_PP1_POWER_LIMIT: u32 = 0x640;
1862
1863/// PP1 Energy Status (R/O) See Section 14.7.4, PP0/PP1 RAPL Domains.
1864pub const MSR_PP1_ENERGY_STATUS: u32 = 0x641;
1865
1866/// PP1 Balance Policy (R/W) See Section 14.7.4, PP0/PP1 RAPL Domains.
1867pub const MSR_PP1_POLICY: u32 = 0x642;
1868
1869/// Nominal TDP Ratio (R/O)
1870pub const MSR_CONFIG_TDP_NOMINAL: u32 = 0x648;
1871
1872/// ConfigTDP Level 1 ratio and power level (R/O)
1873pub const MSR_CONFIG_TDP_LEVEL1: u32 = 0x649;
1874
1875/// ConfigTDP Level 2 ratio and power level (R/O)
1876pub const MSR_CONFIG_TDP_LEVEL2: u32 = 0x64a;
1877
1878/// ConfigTDP Control (R/W)
1879pub const MSR_CONFIG_TDP_CONTROL: u32 = 0x64b;
1880
1881/// ConfigTDP Control (R/W)
1882pub const MSR_TURBO_ACTIVATION_RATIO: u32 = 0x64c;
1883
1884/// Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C- States.
1885pub const MSR_CORE_C1_RESIDENCY: u32 = 0x660;
1886
1887/// Last Branch Record 8 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
1888pub const MSR_LASTBRANCH_8_FROM_IP: u32 = 0x688;
1889
1890/// Last Branch Record 9 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
1891pub const MSR_LASTBRANCH_9_FROM_IP: u32 = 0x689;
1892
1893/// Last Branch Record 10 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
1894pub const MSR_LASTBRANCH_10_FROM_IP: u32 = 0x68a;
1895
1896/// Last Branch Record 11 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
1897pub const MSR_LASTBRANCH_11_FROM_IP: u32 = 0x68b;
1898
1899/// Last Branch Record 12 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
1900pub const MSR_LASTBRANCH_12_FROM_IP: u32 = 0x68c;
1901
1902/// Last Branch Record 13 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
1903pub const MSR_LASTBRANCH_13_FROM_IP: u32 = 0x68d;
1904
1905/// Last Branch Record 14 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
1906pub const MSR_LASTBRANCH_14_FROM_IP: u32 = 0x68e;
1907
1908/// Last Branch Record 15 From IP (R/W) See description of MSR_LASTBRANCH_0_FROM_IP.
1909pub const MSR_LASTBRANCH_15_FROM_IP: u32 = 0x68f;
1910
1911/// Last Branch Record 8 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
1912pub const MSR_LASTBRANCH_8_TO_IP: u32 = 0x6c8;
1913
1914/// Last Branch Record 9 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
1915pub const MSR_LASTBRANCH_9_TO_IP: u32 = 0x6c9;
1916
1917/// Last Branch Record 10 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
1918pub const MSR_LASTBRANCH_10_TO_IP: u32 = 0x6ca;
1919
1920/// Last Branch Record 11 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
1921pub const MSR_LASTBRANCH_11_TO_IP: u32 = 0x6cb;
1922
1923/// Last Branch Record 12 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
1924pub const MSR_LASTBRANCH_12_TO_IP: u32 = 0x6cc;
1925
1926/// Last Branch Record 13 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
1927pub const MSR_LASTBRANCH_13_TO_IP: u32 = 0x6cd;
1928
1929/// Last Branch Record 14 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
1930pub const MSR_LASTBRANCH_14_TO_IP: u32 = 0x6ce;
1931
1932/// Last Branch Record 15 To IP (R/W) See description of MSR_LASTBRANCH_0_TO_IP.
1933pub const MSR_LASTBRANCH_15_TO_IP: u32 = 0x6cf;
1934
1935/// TSC Target of Local APIC s TSC Deadline Mode (R/W) See Table 35-2
1936pub const IA32_TSC_DEADLINE: u32 = 0x6e0;
1937
1938/// Uncore C-Box 0, counter 0 event select MSR
1939pub const MSR_UNC_CBO_0_PERFEVTSEL0: u32 = 0x700;
1940
1941/// Uncore C-Box 0, counter 1 event select MSR
1942pub const MSR_UNC_CBO_0_PERFEVTSEL1: u32 = 0x701;
1943
1944/// Uncore C-Box 0, performance counter 0
1945pub const MSR_UNC_CBO_0_PER_CTR0: u32 = 0x706;
1946
1947/// Uncore C-Box 0, performance counter 1
1948pub const MSR_UNC_CBO_0_PER_CTR1: u32 = 0x707;
1949
1950/// Uncore C-Box 1, counter 0 event select MSR
1951pub const MSR_UNC_CBO_1_PERFEVTSEL0: u32 = 0x710;
1952
1953/// Uncore C-Box 1, counter 1 event select MSR
1954pub const MSR_UNC_CBO_1_PERFEVTSEL1: u32 = 0x711;
1955
1956/// Uncore C-Box 1, performance counter 0
1957pub const MSR_UNC_CBO_1_PER_CTR0: u32 = 0x716;
1958
1959/// Uncore C-Box 1, performance counter 1
1960pub const MSR_UNC_CBO_1_PER_CTR1: u32 = 0x717;
1961
1962/// Uncore C-Box 2, counter 0 event select MSR
1963pub const MSR_UNC_CBO_2_PERFEVTSEL0: u32 = 0x720;
1964
1965/// Uncore C-Box 2, counter 1 event select MSR
1966pub const MSR_UNC_CBO_2_PERFEVTSEL1: u32 = 0x721;
1967
1968/// Uncore C-Box 2, performance counter 0
1969pub const MSR_UNC_CBO_2_PER_CTR0: u32 = 0x726;
1970
1971/// Uncore C-Box 2, performance counter 1
1972pub const MSR_UNC_CBO_2_PER_CTR1: u32 = 0x727;
1973
1974/// Uncore C-Box 3, counter 0 event select MSR
1975pub const MSR_UNC_CBO_3_PERFEVTSEL0: u32 = 0x730;
1976
1977/// Uncore C-Box 3, counter 1 event select MSR.
1978pub const MSR_UNC_CBO_3_PERFEVTSEL1: u32 = 0x731;
1979
1980/// Uncore C-Box 3, performance counter 0.
1981pub const MSR_UNC_CBO_3_PER_CTR0: u32 = 0x736;
1982
1983/// Uncore C-Box 3, performance counter 1.
1984pub const MSR_UNC_CBO_3_PER_CTR1: u32 = 0x737;
1985
1986/// x2APIC ID register (R/O) See x2APIC Specification.
1987pub const IA32_X2APIC_APICID: u32 = 0x802;
1988
1989/// x2APIC Version. If ( CPUID.01H:ECX.\[bit 21\] = 1 )
1990pub const IA32_X2APIC_VERSION: u32 = 0x803;
1991
1992/// x2APIC Task Priority register (R/W)
1993pub const IA32_X2APIC_TPR: u32 = 0x808;
1994
1995/// x2APIC Processor Priority register (R/O)
1996pub const IA32_X2APIC_PPR: u32 = 0x80a;
1997
1998/// x2APIC End of Interrupt. If ( CPUID.01H:ECX.\[bit 21\] = 1 )
1999pub const IA32_X2APIC_EOI: u32 = 0x80b;
2000
2001/// x2APIC Logical Destination register (R/O)
2002pub const IA32_X2APIC_LDR: u32 = 0x80d;
2003
2004/// x2APIC Spurious Interrupt Vector register (R/W)
2005pub const IA32_X2APIC_SIVR: u32 = 0x80f;
2006
2007/// x2APIC In-Service register bits \[31:0\] (R/O)
2008pub const IA32_X2APIC_ISR0: u32 = 0x810;
2009
2010/// x2APIC In-Service register bits \[63:32\] (R/O)
2011pub const IA32_X2APIC_ISR1: u32 = 0x811;
2012
2013/// x2APIC In-Service register bits \[95:64\] (R/O)
2014pub const IA32_X2APIC_ISR2: u32 = 0x812;
2015
2016/// x2APIC In-Service register bits \[127:96\] (R/O)
2017pub const IA32_X2APIC_ISR3: u32 = 0x813;
2018
2019/// x2APIC In-Service register bits \[159:128\] (R/O)
2020pub const IA32_X2APIC_ISR4: u32 = 0x814;
2021
2022/// x2APIC In-Service register bits \[191:160\] (R/O)
2023pub const IA32_X2APIC_ISR5: u32 = 0x815;
2024
2025/// x2APIC In-Service register bits \[223:192\] (R/O)
2026pub const IA32_X2APIC_ISR6: u32 = 0x816;
2027
2028/// x2APIC In-Service register bits \[255:224\] (R/O)
2029pub const IA32_X2APIC_ISR7: u32 = 0x817;
2030
2031/// x2APIC Trigger Mode register bits \[31:0\] (R/O)
2032pub const IA32_X2APIC_TMR0: u32 = 0x818;
2033
2034/// x2APIC Trigger Mode register bits \[63:32\] (R/O)
2035pub const IA32_X2APIC_TMR1: u32 = 0x819;
2036
2037/// x2APIC Trigger Mode register bits \[95:64\] (R/O)
2038pub const IA32_X2APIC_TMR2: u32 = 0x81a;
2039
2040/// x2APIC Trigger Mode register bits \[127:96\] (R/O)
2041pub const IA32_X2APIC_TMR3: u32 = 0x81b;
2042
2043/// x2APIC Trigger Mode register bits \[159:128\] (R/O)
2044pub const IA32_X2APIC_TMR4: u32 = 0x81c;
2045
2046/// x2APIC Trigger Mode register bits \[191:160\] (R/O)
2047pub const IA32_X2APIC_TMR5: u32 = 0x81d;
2048
2049/// x2APIC Trigger Mode register bits \[223:192\] (R/O)
2050pub const IA32_X2APIC_TMR6: u32 = 0x81e;
2051
2052/// x2APIC Trigger Mode register bits \[255:224\] (R/O)
2053pub const IA32_X2APIC_TMR7: u32 = 0x81f;
2054
2055/// x2APIC Interrupt Request register bits \[31:0\] (R/O)
2056pub const IA32_X2APIC_IRR0: u32 = 0x820;
2057
2058/// x2APIC Interrupt Request register bits \[63:32\] (R/O)
2059pub const IA32_X2APIC_IRR1: u32 = 0x821;
2060
2061/// x2APIC Interrupt Request register bits \[95:64\] (R/O)
2062pub const IA32_X2APIC_IRR2: u32 = 0x822;
2063
2064/// x2APIC Interrupt Request register bits \[127:96\] (R/O)
2065pub const IA32_X2APIC_IRR3: u32 = 0x823;
2066
2067/// x2APIC Interrupt Request register bits \[159:128\] (R/O)
2068pub const IA32_X2APIC_IRR4: u32 = 0x824;
2069
2070/// x2APIC Interrupt Request register bits \[191:160\] (R/O)
2071pub const IA32_X2APIC_IRR5: u32 = 0x825;
2072
2073/// x2APIC Interrupt Request register bits \[223:192\] (R/O)
2074pub const IA32_X2APIC_IRR6: u32 = 0x826;
2075
2076/// x2APIC Interrupt Request register bits \[255:224\] (R/O)
2077pub const IA32_X2APIC_IRR7: u32 = 0x827;
2078
2079/// Error Status Register. If ( CPUID.01H:ECX.\[bit 21\] = 1 )
2080pub const IA32_X2APIC_ESR: u32 = 0x828;
2081
2082/// x2APIC LVT Corrected Machine Check Interrupt register (R/W)
2083pub const IA32_X2APIC_LVT_CMCI: u32 = 0x82f;
2084
2085/// x2APIC Interrupt Command register (R/W)
2086pub const IA32_X2APIC_ICR: u32 = 0x830;
2087
2088/// x2APIC LVT Timer Interrupt register (R/W)
2089pub const IA32_X2APIC_LVT_TIMER: u32 = 0x832;
2090
2091/// x2APIC LVT Thermal Sensor Interrupt register (R/W)
2092pub const IA32_X2APIC_LVT_THERMAL: u32 = 0x833;
2093
2094/// x2APIC LVT Performance Monitor register (R/W)
2095pub const IA32_X2APIC_LVT_PMI: u32 = 0x834;
2096
2097/// If ( CPUID.01H:ECX.\[bit 21\] = 1 )
2098pub const IA32_X2APIC_LVT_LINT0: u32 = 0x835;
2099
2100/// If ( CPUID.01H:ECX.\[bit 21\] = 1 )
2101pub const IA32_X2APIC_LVT_LINT1: u32 = 0x836;
2102
2103/// If ( CPUID.01H:ECX.\[bit 21\] = 1 )
2104pub const IA32_X2APIC_LVT_ERROR: u32 = 0x837;
2105
2106/// x2APIC Initial Count register (R/W)
2107pub const IA32_X2APIC_INIT_COUNT: u32 = 0x838;
2108
2109/// x2APIC Current Count register (R/O)
2110pub const IA32_X2APIC_CUR_COUNT: u32 = 0x839;
2111
2112/// x2APIC Divide Configuration register (R/W)
2113pub const IA32_X2APIC_DIV_CONF: u32 = 0x83e;
2114
2115/// If ( CPUID.01H:ECX.\[bit 21\] = 1 )
2116pub const IA32_X2APIC_SELF_IPI: u32 = 0x83f;
2117
2118/// Uncore U-box perfmon global control MSR.
2119pub const MSR_U_PMON_GLOBAL_CTRL: u32 = 0xc00;
2120
2121/// Uncore U-box perfmon global status MSR.
2122pub const MSR_U_PMON_GLOBAL_STATUS: u32 = 0xc01;
2123
2124/// Uncore U-box perfmon global overflow control MSR.
2125pub const MSR_U_PMON_GLOBAL_OVF_CTRL: u32 = 0xc02;
2126
2127/// Uncore U-box perfmon event select MSR.
2128pub const MSR_U_PMON_EVNT_SEL: u32 = 0xc10;
2129
2130/// Uncore U-box perfmon counter MSR.
2131pub const MSR_U_PMON_CTR: u32 = 0xc11;
2132
2133/// Uncore B-box 0 perfmon local box control MSR.
2134pub const MSR_B0_PMON_BOX_CTRL: u32 = 0xc20;
2135
2136/// Uncore B-box 0 perfmon local box status MSR.
2137pub const MSR_B0_PMON_BOX_STATUS: u32 = 0xc21;
2138
2139/// Uncore B-box 0 perfmon local box overflow control MSR.
2140pub const MSR_B0_PMON_BOX_OVF_CTRL: u32 = 0xc22;
2141
2142/// Uncore B-box 0 perfmon event select MSR.
2143pub const MSR_B0_PMON_EVNT_SEL0: u32 = 0xc30;
2144
2145/// Uncore B-box 0 perfmon counter MSR.
2146pub const MSR_B0_PMON_CTR0: u32 = 0xc31;
2147
2148/// Uncore B-box 0 perfmon event select MSR.
2149pub const MSR_B0_PMON_EVNT_SEL1: u32 = 0xc32;
2150
2151/// Uncore B-box 0 perfmon counter MSR.
2152pub const MSR_B0_PMON_CTR1: u32 = 0xc33;
2153
2154/// Uncore B-box 0 perfmon event select MSR.
2155pub const MSR_B0_PMON_EVNT_SEL2: u32 = 0xc34;
2156
2157/// Uncore B-box 0 perfmon counter MSR.
2158pub const MSR_B0_PMON_CTR2: u32 = 0xc35;
2159
2160/// Uncore B-box 0 perfmon event select MSR.
2161pub const MSR_B0_PMON_EVNT_SEL3: u32 = 0xc36;
2162
2163/// Uncore B-box 0 perfmon counter MSR.
2164pub const MSR_B0_PMON_CTR3: u32 = 0xc37;
2165
2166/// Uncore S-box 0 perfmon local box control MSR.
2167pub const MSR_S0_PMON_BOX_CTRL: u32 = 0xc40;
2168
2169/// Uncore S-box 0 perfmon local box status MSR.
2170pub const MSR_S0_PMON_BOX_STATUS: u32 = 0xc41;
2171
2172/// Uncore S-box 0 perfmon local box overflow control MSR.
2173pub const MSR_S0_PMON_BOX_OVF_CTRL: u32 = 0xc42;
2174
2175/// Uncore S-box 0 perfmon event select MSR.
2176pub const MSR_S0_PMON_EVNT_SEL0: u32 = 0xc50;
2177
2178/// Uncore S-box 0 perfmon counter MSR.
2179pub const MSR_S0_PMON_CTR0: u32 = 0xc51;
2180
2181/// Uncore S-box 0 perfmon event select MSR.
2182pub const MSR_S0_PMON_EVNT_SEL1: u32 = 0xc52;
2183
2184/// Uncore S-box 0 perfmon counter MSR.
2185pub const MSR_S0_PMON_CTR1: u32 = 0xc53;
2186
2187/// Uncore S-box 0 perfmon event select MSR.
2188pub const MSR_S0_PMON_EVNT_SEL2: u32 = 0xc54;
2189
2190/// Uncore S-box 0 perfmon counter MSR.
2191pub const MSR_S0_PMON_CTR2: u32 = 0xc55;
2192
2193/// Uncore S-box 0 perfmon event select MSR.
2194pub const MSR_S0_PMON_EVNT_SEL3: u32 = 0xc56;
2195
2196/// Uncore S-box 0 perfmon counter MSR.
2197pub const MSR_S0_PMON_CTR3: u32 = 0xc57;
2198
2199/// Uncore B-box 1 perfmon local box control MSR.
2200pub const MSR_B1_PMON_BOX_CTRL: u32 = 0xc60;
2201
2202/// Uncore B-box 1 perfmon local box status MSR.
2203pub const MSR_B1_PMON_BOX_STATUS: u32 = 0xc61;
2204
2205/// Uncore B-box 1 perfmon local box overflow control MSR.
2206pub const MSR_B1_PMON_BOX_OVF_CTRL: u32 = 0xc62;
2207
2208/// Uncore B-box 1 perfmon event select MSR.
2209pub const MSR_B1_PMON_EVNT_SEL0: u32 = 0xc70;
2210
2211/// Uncore B-box 1 perfmon counter MSR.
2212pub const MSR_B1_PMON_CTR0: u32 = 0xc71;
2213
2214/// Uncore B-box 1 perfmon event select MSR.
2215pub const MSR_B1_PMON_EVNT_SEL1: u32 = 0xc72;
2216
2217/// Uncore B-box 1 perfmon counter MSR.
2218pub const MSR_B1_PMON_CTR1: u32 = 0xc73;
2219
2220/// Uncore B-box 1 perfmon event select MSR.
2221pub const MSR_B1_PMON_EVNT_SEL2: u32 = 0xc74;
2222
2223/// Uncore B-box 1 perfmon counter MSR.
2224pub const MSR_B1_PMON_CTR2: u32 = 0xc75;
2225
2226/// Uncore B-box 1vperfmon event select MSR.
2227pub const MSR_B1_PMON_EVNT_SEL3: u32 = 0xc76;
2228
2229/// Uncore B-box 1 perfmon counter MSR.
2230pub const MSR_B1_PMON_CTR3: u32 = 0xc77;
2231
2232/// Uncore W-box perfmon local box control MSR.
2233pub const MSR_W_PMON_BOX_CTRL: u32 = 0xc80;
2234
2235/// Uncore W-box perfmon local box status MSR.
2236pub const MSR_W_PMON_BOX_STATUS: u32 = 0xc81;
2237
2238/// Uncore W-box perfmon local box overflow control MSR.
2239pub const MSR_W_PMON_BOX_OVF_CTRL: u32 = 0xc82;
2240
2241/// If ( CPUID.(EAX=07H, ECX=0):EBX.\[bit 12\] = 1 )
2242pub const IA32_QM_EVTSEL: u32 = 0xc8d;
2243
2244/// If ( CPUID.(EAX=07H, ECX=0):EBX.\[bit 12\] = 1 )
2245pub const IA32_QM_CTR: u32 = 0xc8e;
2246
2247/// If ( CPUID.(EAX=07H, ECX=0):EBX.\[bit 12\] = 1 )
2248pub const IA32_PQR_ASSOC: u32 = 0xc8f;
2249
2250/// Uncore W-box perfmon event select MSR.
2251pub const MSR_W_PMON_EVNT_SEL0: u32 = 0xc90;
2252
2253/// Uncore W-box perfmon counter MSR.
2254pub const MSR_W_PMON_CTR0: u32 = 0xc91;
2255
2256/// Uncore W-box perfmon event select MSR.
2257pub const MSR_W_PMON_EVNT_SEL1: u32 = 0xc92;
2258
2259/// Uncore W-box perfmon counter MSR.
2260pub const MSR_W_PMON_CTR1: u32 = 0xc93;
2261
2262/// Uncore W-box perfmon event select MSR.
2263pub const MSR_W_PMON_EVNT_SEL2: u32 = 0xc94;
2264
2265/// Uncore W-box perfmon counter MSR.
2266pub const MSR_W_PMON_CTR2: u32 = 0xc95;
2267
2268/// Uncore W-box perfmon event select MSR.
2269pub const MSR_W_PMON_EVNT_SEL3: u32 = 0xc96;
2270
2271/// Uncore W-box perfmon counter MSR.
2272pub const MSR_W_PMON_CTR3: u32 = 0xc97;
2273
2274/// Uncore M-box 0 perfmon local box control MSR.
2275pub const MSR_M0_PMON_BOX_CTRL: u32 = 0xca0;
2276
2277/// Uncore M-box 0 perfmon local box status MSR.
2278pub const MSR_M0_PMON_BOX_STATUS: u32 = 0xca1;
2279
2280/// Uncore M-box 0 perfmon local box overflow control MSR.
2281pub const MSR_M0_PMON_BOX_OVF_CTRL: u32 = 0xca2;
2282
2283/// Uncore M-box 0 perfmon time stamp unit select MSR.
2284pub const MSR_M0_PMON_TIMESTAMP: u32 = 0xca4;
2285
2286/// Uncore M-box 0 perfmon DSP unit select MSR.
2287pub const MSR_M0_PMON_DSP: u32 = 0xca5;
2288
2289/// Uncore M-box 0 perfmon ISS unit select MSR.
2290pub const MSR_M0_PMON_ISS: u32 = 0xca6;
2291
2292/// Uncore M-box 0 perfmon MAP unit select MSR.
2293pub const MSR_M0_PMON_MAP: u32 = 0xca7;
2294
2295/// Uncore M-box 0 perfmon MIC THR select MSR.
2296pub const MSR_M0_PMON_MSC_THR: u32 = 0xca8;
2297
2298/// Uncore M-box 0 perfmon PGT unit select MSR.
2299pub const MSR_M0_PMON_PGT: u32 = 0xca9;
2300
2301/// Uncore M-box 0 perfmon PLD unit select MSR.
2302pub const MSR_M0_PMON_PLD: u32 = 0xcaa;
2303
2304/// Uncore M-box 0 perfmon ZDP unit select MSR.
2305pub const MSR_M0_PMON_ZDP: u32 = 0xcab;
2306
2307/// Uncore M-box 0 perfmon event select MSR.
2308pub const MSR_M0_PMON_EVNT_SEL0: u32 = 0xcb0;
2309
2310/// Uncore M-box 0 perfmon counter MSR.
2311pub const MSR_M0_PMON_CTR0: u32 = 0xcb1;
2312
2313/// Uncore M-box 0 perfmon event select MSR.
2314pub const MSR_M0_PMON_EVNT_SEL1: u32 = 0xcb2;
2315
2316/// Uncore M-box 0 perfmon counter MSR.
2317pub const MSR_M0_PMON_CTR1: u32 = 0xcb3;
2318
2319/// Uncore M-box 0 perfmon event select MSR.
2320pub const MSR_M0_PMON_EVNT_SEL2: u32 = 0xcb4;
2321
2322/// Uncore M-box 0 perfmon counter MSR.
2323pub const MSR_M0_PMON_CTR2: u32 = 0xcb5;
2324
2325/// Uncore M-box 0 perfmon event select MSR.
2326pub const MSR_M0_PMON_EVNT_SEL3: u32 = 0xcb6;
2327
2328/// Uncore M-box 0 perfmon counter MSR.
2329pub const MSR_M0_PMON_CTR3: u32 = 0xcb7;
2330
2331/// Uncore M-box 0 perfmon event select MSR.
2332pub const MSR_M0_PMON_EVNT_SEL4: u32 = 0xcb8;
2333
2334/// Uncore M-box 0 perfmon counter MSR.
2335pub const MSR_M0_PMON_CTR4: u32 = 0xcb9;
2336
2337/// Uncore M-box 0 perfmon event select MSR.
2338pub const MSR_M0_PMON_EVNT_SEL5: u32 = 0xcba;
2339
2340/// Uncore M-box 0 perfmon counter MSR.
2341pub const MSR_M0_PMON_CTR5: u32 = 0xcbb;
2342
2343/// Uncore S-box 1 perfmon local box control MSR.
2344pub const MSR_S1_PMON_BOX_CTRL: u32 = 0xcc0;
2345
2346/// Uncore S-box 1 perfmon local box status MSR.
2347pub const MSR_S1_PMON_BOX_STATUS: u32 = 0xcc1;
2348
2349/// Uncore S-box 1 perfmon local box overflow control MSR.
2350pub const MSR_S1_PMON_BOX_OVF_CTRL: u32 = 0xcc2;
2351
2352/// Uncore S-box 1 perfmon event select MSR.
2353pub const MSR_S1_PMON_EVNT_SEL0: u32 = 0xcd0;
2354
2355/// Uncore S-box 1 perfmon counter MSR.
2356pub const MSR_S1_PMON_CTR0: u32 = 0xcd1;
2357
2358/// Uncore S-box 1 perfmon event select MSR.
2359pub const MSR_S1_PMON_EVNT_SEL1: u32 = 0xcd2;
2360
2361/// Uncore S-box 1 perfmon counter MSR.
2362pub const MSR_S1_PMON_CTR1: u32 = 0xcd3;
2363
2364/// Uncore S-box 1 perfmon event select MSR.
2365pub const MSR_S1_PMON_EVNT_SEL2: u32 = 0xcd4;
2366
2367/// Uncore S-box 1 perfmon counter MSR.
2368pub const MSR_S1_PMON_CTR2: u32 = 0xcd5;
2369
2370/// Uncore S-box 1 perfmon event select MSR.
2371pub const MSR_S1_PMON_EVNT_SEL3: u32 = 0xcd6;
2372
2373/// Uncore S-box 1 perfmon counter MSR.
2374pub const MSR_S1_PMON_CTR3: u32 = 0xcd7;
2375
2376/// Uncore M-box 1 perfmon local box control MSR.
2377pub const MSR_M1_PMON_BOX_CTRL: u32 = 0xce0;
2378
2379/// Uncore M-box 1 perfmon local box status MSR.
2380pub const MSR_M1_PMON_BOX_STATUS: u32 = 0xce1;
2381
2382/// Uncore M-box 1 perfmon local box overflow control MSR.
2383pub const MSR_M1_PMON_BOX_OVF_CTRL: u32 = 0xce2;
2384
2385/// Uncore M-box 1 perfmon time stamp unit select MSR.
2386pub const MSR_M1_PMON_TIMESTAMP: u32 = 0xce4;
2387
2388/// Uncore M-box 1 perfmon DSP unit select MSR.
2389pub const MSR_M1_PMON_DSP: u32 = 0xce5;
2390
2391/// Uncore M-box 1 perfmon ISS unit select MSR.
2392pub const MSR_M1_PMON_ISS: u32 = 0xce6;
2393
2394/// Uncore M-box 1 perfmon MAP unit select MSR.
2395pub const MSR_M1_PMON_MAP: u32 = 0xce7;
2396
2397/// Uncore M-box 1 perfmon MIC THR select MSR.
2398pub const MSR_M1_PMON_MSC_THR: u32 = 0xce8;
2399
2400/// Uncore M-box 1 perfmon PGT unit select MSR.
2401pub const MSR_M1_PMON_PGT: u32 = 0xce9;
2402
2403/// Uncore M-box 1 perfmon PLD unit select MSR.
2404pub const MSR_M1_PMON_PLD: u32 = 0xcea;
2405
2406/// Uncore M-box 1 perfmon ZDP unit select MSR.
2407pub const MSR_M1_PMON_ZDP: u32 = 0xceb;
2408
2409/// Uncore M-box 1 perfmon event select MSR.
2410pub const MSR_M1_PMON_EVNT_SEL0: u32 = 0xcf0;
2411
2412/// Uncore M-box 1 perfmon counter MSR.
2413pub const MSR_M1_PMON_CTR0: u32 = 0xcf1;
2414
2415/// Uncore M-box 1 perfmon event select MSR.
2416pub const MSR_M1_PMON_EVNT_SEL1: u32 = 0xcf2;
2417
2418/// Uncore M-box 1 perfmon counter MSR.
2419pub const MSR_M1_PMON_CTR1: u32 = 0xcf3;
2420
2421/// Uncore M-box 1 perfmon event select MSR.
2422pub const MSR_M1_PMON_EVNT_SEL2: u32 = 0xcf4;
2423
2424/// Uncore M-box 1 perfmon counter MSR.
2425pub const MSR_M1_PMON_CTR2: u32 = 0xcf5;
2426
2427/// Uncore M-box 1 perfmon event select MSR.
2428pub const MSR_M1_PMON_EVNT_SEL3: u32 = 0xcf6;
2429
2430/// Uncore M-box 1 perfmon counter MSR.
2431pub const MSR_M1_PMON_CTR3: u32 = 0xcf7;
2432
2433/// Uncore M-box 1 perfmon event select MSR.
2434pub const MSR_M1_PMON_EVNT_SEL4: u32 = 0xcf8;
2435
2436/// Uncore M-box 1 perfmon counter MSR.
2437pub const MSR_M1_PMON_CTR4: u32 = 0xcf9;
2438
2439/// Uncore M-box 1 perfmon event select MSR.
2440pub const MSR_M1_PMON_EVNT_SEL5: u32 = 0xcfa;
2441
2442/// Uncore M-box 1 perfmon counter MSR.
2443pub const MSR_M1_PMON_CTR5: u32 = 0xcfb;
2444
2445/// Uncore C-box 0 perfmon local box control MSR.
2446pub const MSR_C0_PMON_BOX_CTRL: u32 = 0xd00;
2447
2448/// Uncore C-box 0 perfmon local box status MSR.
2449pub const MSR_C0_PMON_BOX_STATUS: u32 = 0xd01;
2450
2451/// Uncore C-box 0 perfmon local box overflow control MSR.
2452pub const MSR_C0_PMON_BOX_OVF_CTRL: u32 = 0xd02;
2453
2454/// Uncore C-box 0 perfmon event select MSR.
2455pub const MSR_C0_PMON_EVNT_SEL0: u32 = 0xd10;
2456
2457/// Uncore C-box 0 perfmon counter MSR.
2458pub const MSR_C0_PMON_CTR0: u32 = 0xd11;
2459
2460/// Uncore C-box 0 perfmon event select MSR.
2461pub const MSR_C0_PMON_EVNT_SEL1: u32 = 0xd12;
2462
2463/// Uncore C-box 0 perfmon counter MSR.
2464pub const MSR_C0_PMON_CTR1: u32 = 0xd13;
2465
2466/// Uncore C-box 0 perfmon event select MSR.
2467pub const MSR_C0_PMON_EVNT_SEL2: u32 = 0xd14;
2468
2469/// Uncore C-box 0 perfmon counter MSR.
2470pub const MSR_C0_PMON_CTR2: u32 = 0xd15;
2471
2472/// Uncore C-box 0 perfmon event select MSR.
2473pub const MSR_C0_PMON_EVNT_SEL3: u32 = 0xd16;
2474
2475/// Uncore C-box 0 perfmon counter MSR.
2476pub const MSR_C0_PMON_CTR3: u32 = 0xd17;
2477
2478/// Uncore C-box 0 perfmon event select MSR.
2479pub const MSR_C0_PMON_EVNT_SEL4: u32 = 0xd18;
2480
2481/// Uncore C-box 0 perfmon counter MSR.
2482pub const MSR_C0_PMON_CTR4: u32 = 0xd19;
2483
2484/// Uncore C-box 0 perfmon event select MSR.
2485pub const MSR_C0_PMON_EVNT_SEL5: u32 = 0xd1a;
2486
2487/// Uncore C-box 0 perfmon counter MSR.
2488pub const MSR_C0_PMON_CTR5: u32 = 0xd1b;
2489
2490/// Uncore C-box 4 perfmon local box control MSR.
2491pub const MSR_C4_PMON_BOX_CTRL: u32 = 0xd20;
2492
2493/// Uncore C-box 4 perfmon local box status MSR.
2494pub const MSR_C4_PMON_BOX_STATUS: u32 = 0xd21;
2495
2496/// Uncore C-box 4 perfmon local box overflow control MSR.
2497pub const MSR_C4_PMON_BOX_OVF_CTRL: u32 = 0xd22;
2498
2499/// Uncore C-box 4 perfmon event select MSR.
2500pub const MSR_C4_PMON_EVNT_SEL0: u32 = 0xd30;
2501
2502/// Uncore C-box 4 perfmon counter MSR.
2503pub const MSR_C4_PMON_CTR0: u32 = 0xd31;
2504
2505/// Uncore C-box 4 perfmon event select MSR.
2506pub const MSR_C4_PMON_EVNT_SEL1: u32 = 0xd32;
2507
2508/// Uncore C-box 4 perfmon counter MSR.
2509pub const MSR_C4_PMON_CTR1: u32 = 0xd33;
2510
2511/// Uncore C-box 4 perfmon event select MSR.
2512pub const MSR_C4_PMON_EVNT_SEL2: u32 = 0xd34;
2513
2514/// Uncore C-box 4 perfmon counter MSR.
2515pub const MSR_C4_PMON_CTR2: u32 = 0xd35;
2516
2517/// Uncore C-box 4 perfmon event select MSR.
2518pub const MSR_C4_PMON_EVNT_SEL3: u32 = 0xd36;
2519
2520/// Uncore C-box 4 perfmon counter MSR.
2521pub const MSR_C4_PMON_CTR3: u32 = 0xd37;
2522
2523/// Uncore C-box 4 perfmon event select MSR.
2524pub const MSR_C4_PMON_EVNT_SEL4: u32 = 0xd38;
2525
2526/// Uncore C-box 4 perfmon counter MSR.
2527pub const MSR_C4_PMON_CTR4: u32 = 0xd39;
2528
2529/// Uncore C-box 4 perfmon event select MSR.
2530pub const MSR_C4_PMON_EVNT_SEL5: u32 = 0xd3a;
2531
2532/// Uncore C-box 4 perfmon counter MSR.
2533pub const MSR_C4_PMON_CTR5: u32 = 0xd3b;
2534
2535/// Uncore C-box 2 perfmon local box control MSR.
2536pub const MSR_C2_PMON_BOX_CTRL: u32 = 0xd40;
2537
2538/// Uncore C-box 2 perfmon local box status MSR.
2539pub const MSR_C2_PMON_BOX_STATUS: u32 = 0xd41;
2540
2541/// Uncore C-box 2 perfmon local box overflow control MSR.
2542pub const MSR_C2_PMON_BOX_OVF_CTRL: u32 = 0xd42;
2543
2544/// Uncore C-box 2 perfmon event select MSR.
2545pub const MSR_C2_PMON_EVNT_SEL0: u32 = 0xd50;
2546
2547/// Uncore C-box 2 perfmon counter MSR.
2548pub const MSR_C2_PMON_CTR0: u32 = 0xd51;
2549
2550/// Uncore C-box 2 perfmon event select MSR.
2551pub const MSR_C2_PMON_EVNT_SEL1: u32 = 0xd52;
2552
2553/// Uncore C-box 2 perfmon counter MSR.
2554pub const MSR_C2_PMON_CTR1: u32 = 0xd53;
2555
2556/// Uncore C-box 2 perfmon event select MSR.
2557pub const MSR_C2_PMON_EVNT_SEL2: u32 = 0xd54;
2558
2559/// Uncore C-box 2 perfmon counter MSR.
2560pub const MSR_C2_PMON_CTR2: u32 = 0xd55;
2561
2562/// Uncore C-box 2 perfmon event select MSR.
2563pub const MSR_C2_PMON_EVNT_SEL3: u32 = 0xd56;
2564
2565/// Uncore C-box 2 perfmon counter MSR.
2566pub const MSR_C2_PMON_CTR3: u32 = 0xd57;
2567
2568/// Uncore C-box 2 perfmon event select MSR.
2569pub const MSR_C2_PMON_EVNT_SEL4: u32 = 0xd58;
2570
2571/// Uncore C-box 2 perfmon counter MSR.
2572pub const MSR_C2_PMON_CTR4: u32 = 0xd59;
2573
2574/// Uncore C-box 2 perfmon event select MSR.
2575pub const MSR_C2_PMON_EVNT_SEL5: u32 = 0xd5a;
2576
2577/// Uncore C-box 2 perfmon counter MSR.
2578pub const MSR_C2_PMON_CTR5: u32 = 0xd5b;
2579
2580/// Uncore C-box 6 perfmon local box control MSR.
2581pub const MSR_C6_PMON_BOX_CTRL: u32 = 0xd60;
2582
2583/// Uncore C-box 6 perfmon local box status MSR.
2584pub const MSR_C6_PMON_BOX_STATUS: u32 = 0xd61;
2585
2586/// Uncore C-box 6 perfmon local box overflow control MSR.
2587pub const MSR_C6_PMON_BOX_OVF_CTRL: u32 = 0xd62;
2588
2589/// Uncore C-box 6 perfmon event select MSR.
2590pub const MSR_C6_PMON_EVNT_SEL0: u32 = 0xd70;
2591
2592/// Uncore C-box 6 perfmon counter MSR.
2593pub const MSR_C6_PMON_CTR0: u32 = 0xd71;
2594
2595/// Uncore C-box 6 perfmon event select MSR.
2596pub const MSR_C6_PMON_EVNT_SEL1: u32 = 0xd72;
2597
2598/// Uncore C-box 6 perfmon counter MSR.
2599pub const MSR_C6_PMON_CTR1: u32 = 0xd73;
2600
2601/// Uncore C-box 6 perfmon event select MSR.
2602pub const MSR_C6_PMON_EVNT_SEL2: u32 = 0xd74;
2603
2604/// Uncore C-box 6 perfmon counter MSR.
2605pub const MSR_C6_PMON_CTR2: u32 = 0xd75;
2606
2607/// Uncore C-box 6 perfmon event select MSR.
2608pub const MSR_C6_PMON_EVNT_SEL3: u32 = 0xd76;
2609
2610/// Uncore C-box 6 perfmon counter MSR.
2611pub const MSR_C6_PMON_CTR3: u32 = 0xd77;
2612
2613/// Uncore C-box 6 perfmon event select MSR.
2614pub const MSR_C6_PMON_EVNT_SEL4: u32 = 0xd78;
2615
2616/// Uncore C-box 6 perfmon counter MSR.
2617pub const MSR_C6_PMON_CTR4: u32 = 0xd79;
2618
2619/// Uncore C-box 6 perfmon event select MSR.
2620pub const MSR_C6_PMON_EVNT_SEL5: u32 = 0xd7a;
2621
2622/// Uncore C-box 6 perfmon counter MSR.
2623pub const MSR_C6_PMON_CTR5: u32 = 0xd7b;
2624
2625/// Uncore C-box 1 perfmon local box control MSR.
2626pub const MSR_C1_PMON_BOX_CTRL: u32 = 0xd80;
2627
2628/// Uncore C-box 1 perfmon local box status MSR.
2629pub const MSR_C1_PMON_BOX_STATUS: u32 = 0xd81;
2630
2631/// Uncore C-box 1 perfmon local box overflow control MSR.
2632pub const MSR_C1_PMON_BOX_OVF_CTRL: u32 = 0xd82;
2633
2634/// Uncore C-box 1 perfmon event select MSR.
2635pub const MSR_C1_PMON_EVNT_SEL0: u32 = 0xd90;
2636
2637/// Uncore C-box 1 perfmon counter MSR.
2638pub const MSR_C1_PMON_CTR0: u32 = 0xd91;
2639
2640/// Uncore C-box 1 perfmon event select MSR.
2641pub const MSR_C1_PMON_EVNT_SEL1: u32 = 0xd92;
2642
2643/// Uncore C-box 1 perfmon counter MSR.
2644pub const MSR_C1_PMON_CTR1: u32 = 0xd93;
2645
2646/// Uncore C-box 1 perfmon event select MSR.
2647pub const MSR_C1_PMON_EVNT_SEL2: u32 = 0xd94;
2648
2649/// Uncore C-box 1 perfmon counter MSR.
2650pub const MSR_C1_PMON_CTR2: u32 = 0xd95;
2651
2652/// Uncore C-box 1 perfmon event select MSR.
2653pub const MSR_C1_PMON_EVNT_SEL3: u32 = 0xd96;
2654
2655/// Uncore C-box 1 perfmon counter MSR.
2656pub const MSR_C1_PMON_CTR3: u32 = 0xd97;
2657
2658/// Uncore C-box 1 perfmon event select MSR.
2659pub const MSR_C1_PMON_EVNT_SEL4: u32 = 0xd98;
2660
2661/// Uncore C-box 1 perfmon counter MSR.
2662pub const MSR_C1_PMON_CTR4: u32 = 0xd99;
2663
2664/// Uncore C-box 1 perfmon event select MSR.
2665pub const MSR_C1_PMON_EVNT_SEL5: u32 = 0xd9a;
2666
2667/// Uncore C-box 1 perfmon counter MSR.
2668pub const MSR_C1_PMON_CTR5: u32 = 0xd9b;
2669
2670/// Uncore C-box 5 perfmon local box control MSR.
2671pub const MSR_C5_PMON_BOX_CTRL: u32 = 0xda0;
2672
2673/// Uncore C-box 5 perfmon local box status MSR.
2674pub const MSR_C5_PMON_BOX_STATUS: u32 = 0xda1;
2675
2676/// Uncore C-box 5 perfmon local box overflow control MSR.
2677pub const MSR_C5_PMON_BOX_OVF_CTRL: u32 = 0xda2;
2678
2679/// Uncore C-box 5 perfmon event select MSR.
2680pub const MSR_C5_PMON_EVNT_SEL0: u32 = 0xdb0;
2681
2682/// Uncore C-box 5 perfmon counter MSR.
2683pub const MSR_C5_PMON_CTR0: u32 = 0xdb1;
2684
2685/// Uncore C-box 5 perfmon event select MSR.
2686pub const MSR_C5_PMON_EVNT_SEL1: u32 = 0xdb2;
2687
2688/// Uncore C-box 5 perfmon counter MSR.
2689pub const MSR_C5_PMON_CTR1: u32 = 0xdb3;
2690
2691/// Uncore C-box 5 perfmon event select MSR.
2692pub const MSR_C5_PMON_EVNT_SEL2: u32 = 0xdb4;
2693
2694/// Uncore C-box 5 perfmon counter MSR.
2695pub const MSR_C5_PMON_CTR2: u32 = 0xdb5;
2696
2697/// Uncore C-box 5 perfmon event select MSR.
2698pub const MSR_C5_PMON_EVNT_SEL3: u32 = 0xdb6;
2699
2700/// Uncore C-box 5 perfmon counter MSR.
2701pub const MSR_C5_PMON_CTR3: u32 = 0xdb7;
2702
2703/// Uncore C-box 5 perfmon event select MSR.
2704pub const MSR_C5_PMON_EVNT_SEL4: u32 = 0xdb8;
2705
2706/// Uncore C-box 5 perfmon counter MSR.
2707pub const MSR_C5_PMON_CTR4: u32 = 0xdb9;
2708
2709/// Uncore C-box 5 perfmon event select MSR.
2710pub const MSR_C5_PMON_EVNT_SEL5: u32 = 0xdba;
2711
2712/// Uncore C-box 5 perfmon counter MSR.
2713pub const MSR_C5_PMON_CTR5: u32 = 0xdbb;
2714
2715/// Uncore C-box 3 perfmon local box control MSR.
2716pub const MSR_C3_PMON_BOX_CTRL: u32 = 0xdc0;
2717
2718/// Uncore C-box 3 perfmon local box status MSR.
2719pub const MSR_C3_PMON_BOX_STATUS: u32 = 0xdc1;
2720
2721/// Uncore C-box 3 perfmon local box overflow control MSR.
2722pub const MSR_C3_PMON_BOX_OVF_CTRL: u32 = 0xdc2;
2723
2724/// Uncore C-box 3 perfmon event select MSR.
2725pub const MSR_C3_PMON_EVNT_SEL0: u32 = 0xdd0;
2726
2727/// Uncore C-box 3 perfmon counter MSR.
2728pub const MSR_C3_PMON_CTR0: u32 = 0xdd1;
2729
2730/// Uncore C-box 3 perfmon event select MSR.
2731pub const MSR_C3_PMON_EVNT_SEL1: u32 = 0xdd2;
2732
2733/// Uncore C-box 3 perfmon counter MSR.
2734pub const MSR_C3_PMON_CTR1: u32 = 0xdd3;
2735
2736/// Uncore C-box 3 perfmon event select MSR.
2737pub const MSR_C3_PMON_EVNT_SEL2: u32 = 0xdd4;
2738
2739/// Uncore C-box 3 perfmon counter MSR.
2740pub const MSR_C3_PMON_CTR2: u32 = 0xdd5;
2741
2742/// Uncore C-box 3 perfmon event select MSR.
2743pub const MSR_C3_PMON_EVNT_SEL3: u32 = 0xdd6;
2744
2745/// Uncore C-box 3 perfmon counter MSR.
2746pub const MSR_C3_PMON_CTR3: u32 = 0xdd7;
2747
2748/// Uncore C-box 3 perfmon event select MSR.
2749pub const MSR_C3_PMON_EVNT_SEL4: u32 = 0xdd8;
2750
2751/// Uncore C-box 3 perfmon counter MSR.
2752pub const MSR_C3_PMON_CTR4: u32 = 0xdd9;
2753
2754/// Uncore C-box 3 perfmon event select MSR.
2755pub const MSR_C3_PMON_EVNT_SEL5: u32 = 0xdda;
2756
2757/// Uncore C-box 3 perfmon counter MSR.
2758pub const MSR_C3_PMON_CTR5: u32 = 0xddb;
2759
2760/// Uncore C-box 7 perfmon local box control MSR.
2761pub const MSR_C7_PMON_BOX_CTRL: u32 = 0xde0;
2762
2763/// Uncore C-box 7 perfmon local box status MSR.
2764pub const MSR_C7_PMON_BOX_STATUS: u32 = 0xde1;
2765
2766/// Uncore C-box 7 perfmon local box overflow control MSR.
2767pub const MSR_C7_PMON_BOX_OVF_CTRL: u32 = 0xde2;
2768
2769/// Uncore C-box 7 perfmon event select MSR.
2770pub const MSR_C7_PMON_EVNT_SEL0: u32 = 0xdf0;
2771
2772/// Uncore C-box 7 perfmon counter MSR.
2773pub const MSR_C7_PMON_CTR0: u32 = 0xdf1;
2774
2775/// Uncore C-box 7 perfmon event select MSR.
2776pub const MSR_C7_PMON_EVNT_SEL1: u32 = 0xdf2;
2777
2778/// Uncore C-box 7 perfmon counter MSR.
2779pub const MSR_C7_PMON_CTR1: u32 = 0xdf3;
2780
2781/// Uncore C-box 7 perfmon event select MSR.
2782pub const MSR_C7_PMON_EVNT_SEL2: u32 = 0xdf4;
2783
2784/// Uncore C-box 7 perfmon counter MSR.
2785pub const MSR_C7_PMON_CTR2: u32 = 0xdf5;
2786
2787/// Uncore C-box 7 perfmon event select MSR.
2788pub const MSR_C7_PMON_EVNT_SEL3: u32 = 0xdf6;
2789
2790/// Uncore C-box 7 perfmon counter MSR.
2791pub const MSR_C7_PMON_CTR3: u32 = 0xdf7;
2792
2793/// Uncore C-box 7 perfmon event select MSR.
2794pub const MSR_C7_PMON_EVNT_SEL4: u32 = 0xdf8;
2795
2796/// Uncore C-box 7 perfmon counter MSR.
2797pub const MSR_C7_PMON_CTR4: u32 = 0xdf9;
2798
2799/// Uncore C-box 7 perfmon event select MSR.
2800pub const MSR_C7_PMON_EVNT_SEL5: u32 = 0xdfa;
2801
2802/// Uncore C-box 7 perfmon counter MSR.
2803pub const MSR_C7_PMON_CTR5: u32 = 0xdfb;
2804
2805/// Uncore R-box 0 perfmon local box control MSR.
2806pub const MSR_R0_PMON_BOX_CTRL: u32 = 0xe00;
2807
2808/// Uncore R-box 0 perfmon local box status MSR.
2809pub const MSR_R0_PMON_BOX_STATUS: u32 = 0xe01;
2810
2811/// Uncore R-box 0 perfmon local box overflow control MSR.
2812pub const MSR_R0_PMON_BOX_OVF_CTRL: u32 = 0xe02;
2813
2814/// Uncore R-box 0 perfmon IPERF0 unit Port 0 select MSR.
2815pub const MSR_R0_PMON_IPERF0_P0: u32 = 0xe04;
2816
2817/// Uncore R-box 0 perfmon IPERF0 unit Port 1 select MSR.
2818pub const MSR_R0_PMON_IPERF0_P1: u32 = 0xe05;
2819
2820/// Uncore R-box 0 perfmon IPERF0 unit Port 2 select MSR.
2821pub const MSR_R0_PMON_IPERF0_P2: u32 = 0xe06;
2822
2823/// Uncore R-box 0 perfmon IPERF0 unit Port 3 select MSR.
2824pub const MSR_R0_PMON_IPERF0_P3: u32 = 0xe07;
2825
2826/// Uncore R-box 0 perfmon IPERF0 unit Port 4 select MSR.
2827pub const MSR_R0_PMON_IPERF0_P4: u32 = 0xe08;
2828
2829/// Uncore R-box 0 perfmon IPERF0 unit Port 5 select MSR.
2830pub const MSR_R0_PMON_IPERF0_P5: u32 = 0xe09;
2831
2832/// Uncore R-box 0 perfmon IPERF0 unit Port 6 select MSR.
2833pub const MSR_R0_PMON_IPERF0_P6: u32 = 0xe0a;
2834
2835/// Uncore R-box 0 perfmon IPERF0 unit Port 7 select MSR.
2836pub const MSR_R0_PMON_IPERF0_P7: u32 = 0xe0b;
2837
2838/// Uncore R-box 0 perfmon QLX unit Port 0 select MSR.
2839pub const MSR_R0_PMON_QLX_P0: u32 = 0xe0c;
2840
2841/// Uncore R-box 0 perfmon QLX unit Port 1 select MSR.
2842pub const MSR_R0_PMON_QLX_P1: u32 = 0xe0d;
2843
2844/// Uncore R-box 0 perfmon QLX unit Port 2 select MSR.
2845pub const MSR_R0_PMON_QLX_P2: u32 = 0xe0e;
2846
2847/// Uncore R-box 0 perfmon QLX unit Port 3 select MSR.
2848pub const MSR_R0_PMON_QLX_P3: u32 = 0xe0f;
2849
2850/// Uncore R-box 0 perfmon event select MSR.
2851pub const MSR_R0_PMON_EVNT_SEL0: u32 = 0xe10;
2852
2853/// Uncore R-box 0 perfmon counter MSR.
2854pub const MSR_R0_PMON_CTR0: u32 = 0xe11;
2855
2856/// Uncore R-box 0 perfmon event select MSR.
2857pub const MSR_R0_PMON_EVNT_SEL1: u32 = 0xe12;
2858
2859/// Uncore R-box 0 perfmon counter MSR.
2860pub const MSR_R0_PMON_CTR1: u32 = 0xe13;
2861
2862/// Uncore R-box 0 perfmon event select MSR.
2863pub const MSR_R0_PMON_EVNT_SEL2: u32 = 0xe14;
2864
2865/// Uncore R-box 0 perfmon counter MSR.
2866pub const MSR_R0_PMON_CTR2: u32 = 0xe15;
2867
2868/// Uncore R-box 0 perfmon event select MSR.
2869pub const MSR_R0_PMON_EVNT_SEL3: u32 = 0xe16;
2870
2871/// Uncore R-box 0 perfmon counter MSR.
2872pub const MSR_R0_PMON_CTR3: u32 = 0xe17;
2873
2874/// Uncore R-box 0 perfmon event select MSR.
2875pub const MSR_R0_PMON_EVNT_SEL4: u32 = 0xe18;
2876
2877/// Uncore R-box 0 perfmon counter MSR.
2878pub const MSR_R0_PMON_CTR4: u32 = 0xe19;
2879
2880/// Uncore R-box 0 perfmon event select MSR.
2881pub const MSR_R0_PMON_EVNT_SEL5: u32 = 0xe1a;
2882
2883/// Uncore R-box 0 perfmon counter MSR.
2884pub const MSR_R0_PMON_CTR5: u32 = 0xe1b;
2885
2886/// Uncore R-box 0 perfmon event select MSR.
2887pub const MSR_R0_PMON_EVNT_SEL6: u32 = 0xe1c;
2888
2889/// Uncore R-box 0 perfmon counter MSR.
2890pub const MSR_R0_PMON_CTR6: u32 = 0xe1d;
2891
2892/// Uncore R-box 0 perfmon event select MSR.
2893pub const MSR_R0_PMON_EVNT_SEL7: u32 = 0xe1e;
2894
2895/// Uncore R-box 0 perfmon counter MSR.
2896pub const MSR_R0_PMON_CTR7: u32 = 0xe1f;
2897
2898/// Uncore R-box 1 perfmon local box control MSR.
2899pub const MSR_R1_PMON_BOX_CTRL: u32 = 0xe20;
2900
2901/// Uncore R-box 1 perfmon local box status MSR.
2902pub const MSR_R1_PMON_BOX_STATUS: u32 = 0xe21;
2903
2904/// Uncore R-box 1 perfmon local box overflow control MSR.
2905pub const MSR_R1_PMON_BOX_OVF_CTRL: u32 = 0xe22;
2906
2907/// Uncore R-box 1 perfmon IPERF1 unit Port 8 select MSR.
2908pub const MSR_R1_PMON_IPERF1_P8: u32 = 0xe24;
2909
2910/// Uncore R-box 1 perfmon IPERF1 unit Port 9 select MSR.
2911pub const MSR_R1_PMON_IPERF1_P9: u32 = 0xe25;
2912
2913/// Uncore R-box 1 perfmon IPERF1 unit Port 10 select MSR.
2914pub const MSR_R1_PMON_IPERF1_P10: u32 = 0xe26;
2915
2916/// Uncore R-box 1 perfmon IPERF1 unit Port 11 select MSR.
2917pub const MSR_R1_PMON_IPERF1_P11: u32 = 0xe27;
2918
2919/// Uncore R-box 1 perfmon IPERF1 unit Port 12 select MSR.
2920pub const MSR_R1_PMON_IPERF1_P12: u32 = 0xe28;
2921
2922/// Uncore R-box 1 perfmon IPERF1 unit Port 13 select MSR.
2923pub const MSR_R1_PMON_IPERF1_P13: u32 = 0xe29;
2924
2925/// Uncore R-box 1 perfmon IPERF1 unit Port 14 select MSR.
2926pub const MSR_R1_PMON_IPERF1_P14: u32 = 0xe2a;
2927
2928/// Uncore R-box 1 perfmon IPERF1 unit Port 15 select MSR.
2929pub const MSR_R1_PMON_IPERF1_P15: u32 = 0xe2b;
2930
2931/// Uncore R-box 1 perfmon QLX unit Port 4 select MSR.
2932pub const MSR_R1_PMON_QLX_P4: u32 = 0xe2c;
2933
2934/// Uncore R-box 1 perfmon QLX unit Port 5 select MSR.
2935pub const MSR_R1_PMON_QLX_P5: u32 = 0xe2d;
2936
2937/// Uncore R-box 1 perfmon QLX unit Port 6 select MSR.
2938pub const MSR_R1_PMON_QLX_P6: u32 = 0xe2e;
2939
2940/// Uncore R-box 1 perfmon QLX unit Port 7 select MSR.
2941pub const MSR_R1_PMON_QLX_P7: u32 = 0xe2f;
2942
2943/// Uncore R-box 1 perfmon event select MSR.
2944pub const MSR_R1_PMON_EVNT_SEL8: u32 = 0xe30;
2945
2946/// Uncore R-box 1 perfmon counter MSR.
2947pub const MSR_R1_PMON_CTR8: u32 = 0xe31;
2948
2949/// Uncore R-box 1 perfmon event select MSR.
2950pub const MSR_R1_PMON_EVNT_SEL9: u32 = 0xe32;
2951
2952/// Uncore R-box 1 perfmon counter MSR.
2953pub const MSR_R1_PMON_CTR9: u32 = 0xe33;
2954
2955/// Uncore R-box 1 perfmon event select MSR.
2956pub const MSR_R1_PMON_EVNT_SEL10: u32 = 0xe34;
2957
2958/// Uncore R-box 1 perfmon counter MSR.
2959pub const MSR_R1_PMON_CTR10: u32 = 0xe35;
2960
2961/// Uncore R-box 1 perfmon event select MSR.
2962pub const MSR_R1_PMON_EVNT_SEL11: u32 = 0xe36;
2963
2964/// Uncore R-box 1 perfmon counter MSR.
2965pub const MSR_R1_PMON_CTR11: u32 = 0xe37;
2966
2967/// Uncore R-box 1 perfmon event select MSR.
2968pub const MSR_R1_PMON_EVNT_SEL12: u32 = 0xe38;
2969
2970/// Uncore R-box 1 perfmon counter MSR.
2971pub const MSR_R1_PMON_CTR12: u32 = 0xe39;
2972
2973/// Uncore R-box 1 perfmon event select MSR.
2974pub const MSR_R1_PMON_EVNT_SEL13: u32 = 0xe3a;
2975
2976/// Uncore R-box 1perfmon counter MSR.
2977pub const MSR_R1_PMON_CTR13: u32 = 0xe3b;
2978
2979/// Uncore R-box 1 perfmon event select MSR.
2980pub const MSR_R1_PMON_EVNT_SEL14: u32 = 0xe3c;
2981
2982/// Uncore R-box 1 perfmon counter MSR.
2983pub const MSR_R1_PMON_CTR14: u32 = 0xe3d;
2984
2985/// Uncore R-box 1 perfmon event select MSR.
2986pub const MSR_R1_PMON_EVNT_SEL15: u32 = 0xe3e;
2987
2988/// Uncore R-box 1 perfmon counter MSR.
2989pub const MSR_R1_PMON_CTR15: u32 = 0xe3f;
2990
2991/// Uncore B-box 0 perfmon local box match MSR.
2992pub const MSR_B0_PMON_MATCH: u32 = 0xe45;
2993
2994/// Uncore B-box 0 perfmon local box mask MSR.
2995pub const MSR_B0_PMON_MASK: u32 = 0xe46;
2996
2997/// Uncore S-box 0 perfmon local box match MSR.
2998pub const MSR_S0_PMON_MATCH: u32 = 0xe49;
2999
3000/// Uncore S-box 0 perfmon local box mask MSR.
3001pub const MSR_S0_PMON_MASK: u32 = 0xe4a;
3002
3003/// Uncore B-box 1 perfmon local box match MSR.
3004pub const MSR_B1_PMON_MATCH: u32 = 0xe4d;
3005
3006/// Uncore B-box 1 perfmon local box mask MSR.
3007pub const MSR_B1_PMON_MASK: u32 = 0xe4e;
3008
3009/// Uncore M-box 0 perfmon local box address match/mask config MSR.
3010pub const MSR_M0_PMON_MM_CONFIG: u32 = 0xe54;
3011
3012/// Uncore M-box 0 perfmon local box address match MSR.
3013pub const MSR_M0_PMON_ADDR_MATCH: u32 = 0xe55;
3014
3015/// Uncore M-box 0 perfmon local box address mask MSR.
3016pub const MSR_M0_PMON_ADDR_MASK: u32 = 0xe56;
3017
3018/// Uncore S-box 1 perfmon local box match MSR.
3019pub const MSR_S1_PMON_MATCH: u32 = 0xe59;
3020
3021/// Uncore S-box 1 perfmon local box mask MSR.
3022pub const MSR_S1_PMON_MASK: u32 = 0xe5a;
3023
3024/// Uncore M-box 1 perfmon local box address match/mask config MSR.
3025pub const MSR_M1_PMON_MM_CONFIG: u32 = 0xe5c;
3026
3027/// Uncore M-box 1 perfmon local box address match MSR.
3028pub const MSR_M1_PMON_ADDR_MATCH: u32 = 0xe5d;
3029
3030/// Uncore M-box 1 perfmon local box address mask MSR.
3031pub const MSR_M1_PMON_ADDR_MASK: u32 = 0xe5e;
3032
3033/// Uncore C-box 8 perfmon local box control MSR.
3034pub const MSR_C8_PMON_BOX_CTRL: u32 = 0xf40;
3035
3036/// Uncore C-box 8 perfmon local box status MSR.
3037pub const MSR_C8_PMON_BOX_STATUS: u32 = 0xf41;
3038
3039/// Uncore C-box 8 perfmon local box overflow control MSR.
3040pub const MSR_C8_PMON_BOX_OVF_CTRL: u32 = 0xf42;
3041
3042/// Uncore C-box 8 perfmon event select MSR.
3043pub const MSR_C8_PMON_EVNT_SEL0: u32 = 0xf50;
3044
3045/// Uncore C-box 8 perfmon counter MSR.
3046pub const MSR_C8_PMON_CTR0: u32 = 0xf51;
3047
3048/// Uncore C-box 8 perfmon event select MSR.
3049pub const MSR_C8_PMON_EVNT_SEL1: u32 = 0xf52;
3050
3051/// Uncore C-box 8 perfmon counter MSR.
3052pub const MSR_C8_PMON_CTR1: u32 = 0xf53;
3053
3054/// Uncore C-box 8 perfmon event select MSR.
3055pub const MSR_C8_PMON_EVNT_SEL2: u32 = 0xf54;
3056
3057/// Uncore C-box 8 perfmon counter MSR.
3058pub const MSR_C8_PMON_CTR2: u32 = 0xf55;
3059
3060/// Uncore C-box 8 perfmon event select MSR.
3061pub const MSR_C8_PMON_EVNT_SEL3: u32 = 0xf56;
3062
3063/// Uncore C-box 8 perfmon counter MSR.
3064pub const MSR_C8_PMON_CTR3: u32 = 0xf57;
3065
3066/// Uncore C-box 8 perfmon event select MSR.
3067pub const MSR_C8_PMON_EVNT_SEL4: u32 = 0xf58;
3068
3069/// Uncore C-box 8 perfmon counter MSR.
3070pub const MSR_C8_PMON_CTR4: u32 = 0xf59;
3071
3072/// Uncore C-box 8 perfmon event select MSR.
3073pub const MSR_C8_PMON_EVNT_SEL5: u32 = 0xf5a;
3074
3075/// Uncore C-box 8 perfmon counter MSR.
3076pub const MSR_C8_PMON_CTR5: u32 = 0xf5b;
3077
3078/// Uncore C-box 9 perfmon local box control MSR.
3079pub const MSR_C9_PMON_BOX_CTRL: u32 = 0xfc0;
3080
3081/// Uncore C-box 9 perfmon local box status MSR.
3082pub const MSR_C9_PMON_BOX_STATUS: u32 = 0xfc1;
3083
3084/// Uncore C-box 9 perfmon local box overflow control MSR.
3085pub const MSR_C9_PMON_BOX_OVF_CTRL: u32 = 0xfc2;
3086
3087/// Uncore C-box 9 perfmon event select MSR.
3088pub const MSR_C9_PMON_EVNT_SEL0: u32 = 0xfd0;
3089
3090/// Uncore C-box 9 perfmon counter MSR.
3091pub const MSR_C9_PMON_CTR0: u32 = 0xfd1;
3092
3093/// Uncore C-box 9 perfmon event select MSR.
3094pub const MSR_C9_PMON_EVNT_SEL1: u32 = 0xfd2;
3095
3096/// Uncore C-box 9 perfmon counter MSR.
3097pub const MSR_C9_PMON_CTR1: u32 = 0xfd3;
3098
3099/// Uncore C-box 9 perfmon event select MSR.
3100pub const MSR_C9_PMON_EVNT_SEL2: u32 = 0xfd4;
3101
3102/// Uncore C-box 9 perfmon counter MSR.
3103pub const MSR_C9_PMON_CTR2: u32 = 0xfd5;
3104
3105/// Uncore C-box 9 perfmon event select MSR.
3106pub const MSR_C9_PMON_EVNT_SEL3: u32 = 0xfd6;
3107
3108/// Uncore C-box 9 perfmon counter MSR.
3109pub const MSR_C9_PMON_CTR3: u32 = 0xfd7;
3110
3111/// Uncore C-box 9 perfmon event select MSR.
3112pub const MSR_C9_PMON_EVNT_SEL4: u32 = 0xfd8;
3113
3114/// Uncore C-box 9 perfmon counter MSR.
3115pub const MSR_C9_PMON_CTR4: u32 = 0xfd9;
3116
3117/// Uncore C-box 9 perfmon event select MSR.
3118pub const MSR_C9_PMON_EVNT_SEL5: u32 = 0xfda;
3119
3120/// Uncore C-box 9 perfmon counter MSR.
3121pub const MSR_C9_PMON_CTR5: u32 = 0xfdb;
3122
3123/// GBUSQ Event Control and Counter Register (R/W) See Section 18.17, Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte L3 Cache.
3124pub const MSR_EMON_L3_CTR_CTL0: u32 = 0x107cc;
3125
3126/// IFSB BUSQ Event Control and Counter Register (R/W) See Section 18.17, Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte L3 Cache.
3127pub const MSR_IFSB_BUSQ0: u32 = 0x107cc;
3128
3129/// GBUSQ Event Control/Counter Register (R/W) Apply to Intel Xeon processor 7400 series (processor signature 06_1D) only. See Section 17.2.2
3130pub const MSR_EMON_L3_CTR_CTL1: u32 = 0x107cd;
3131
3132/// IFSB BUSQ Event Control and Counter Register (R/W)
3133pub const MSR_IFSB_BUSQ1: u32 = 0x107cd;
3134
3135/// GSNPQ Event Control and Counter Register (R/W) See Section 18.17, Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte L3 Cache.
3136pub const MSR_EMON_L3_CTR_CTL2: u32 = 0x107ce;
3137
3138/// IFSB SNPQ Event Control and Counter Register (R/W) See Section 18.17, Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte L3 Cache.
3139pub const MSR_IFSB_SNPQ0: u32 = 0x107ce;
3140
3141/// GSNPQ Event Control/Counter Register (R/W) Apply to Intel Xeon processor 7400 series (processor signature 06_1D) only. See Section 17.2.2
3142pub const MSR_EMON_L3_CTR_CTL3: u32 = 0x107cf;
3143
3144/// IFSB SNPQ Event Control and Counter Register (R/W)
3145pub const MSR_IFSB_SNPQ1: u32 = 0x107cf;
3146
3147/// EFSB DRDY Event Control and Counter Register (R/W) See Section 18.17, Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte L3 Cache for details.
3148pub const MSR_EFSB_DRDY0: u32 = 0x107d0;
3149
3150/// FSB Event Control and Counter Register (R/W) See Section 18.17, Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte L3 Cache for details.
3151pub const MSR_EMON_L3_CTR_CTL4: u32 = 0x107d0;
3152
3153/// EFSB DRDY Event Control and Counter Register (R/W)
3154pub const MSR_EFSB_DRDY1: u32 = 0x107d1;
3155
3156/// FSB Event Control/Counter Register (R/W) Apply to Intel Xeon processor 7400 series (processor signature 06_1D) only. See Section 17.2.2
3157pub const MSR_EMON_L3_CTR_CTL5: u32 = 0x107d1;
3158
3159/// FSB Event Control/Counter Register (R/W) Apply to Intel Xeon processor 7400 series (processor signature 06_1D) only. See Section 17.2.2
3160pub const MSR_EMON_L3_CTR_CTL6: u32 = 0x107d2;
3161
3162/// IFSB Latency Event Control Register (R/W) See Section 18.17, Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte L3 Cache for details.
3163pub const MSR_IFSB_CTL6: u32 = 0x107d2;
3164
3165/// FSB Event Control/Counter Register (R/W) Apply to Intel Xeon processor 7400 series (processor signature 06_1D) only. See Section 17.2.2
3166pub const MSR_EMON_L3_CTR_CTL7: u32 = 0x107d3;
3167
3168/// IFSB Latency Event Counter Register (R/W) See Section 18.17, Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte L3 Cache.
3169pub const MSR_IFSB_CNTR7: u32 = 0x107d3;
3170
3171/// L3/FSB Common Control Register (R/W) Apply to Intel Xeon processor 7400 series (processor signature 06_1D) only. See Section 17.2.2
3172pub const MSR_EMON_L3_GL_CTL: u32 = 0x107d8;
3173
3174/// If ( CPUID.80000001.EDX.\[bit 20\] or CPUID.80000001.EDX.\[bit 29\])
3175pub const IA32_EFER: u32 = 0xc0000080;
3176
3177/// System Call Target Address (R/W) See Table 35-2.
3178pub const IA32_STAR: u32 = 0xc0000081;
3179
3180/// IA-32e Mode System Call Target Address (R/W) See Table 35-2.
3181pub const IA32_LSTAR: u32 = 0xc0000082;
3182
3183/// System Call Target Address the compatibility mode.
3184pub const IA32_CSTAR: u32 = 0xc0000083;
3185
3186/// System Call Flag Mask (R/W) See Table 35-2.
3187pub const IA32_FMASK: u32 = 0xc0000084;
3188
3189/// Map of BASE Address of FS (R/W) See Table 35-2.
3190pub const IA32_FS_BASE: u32 = 0xc0000100;
3191
3192/// Map of BASE Address of GS (R/W) See Table 35-2.
3193pub const IA32_GS_BASE: u32 = 0xc0000101;
3194
3195/// Swap Target of BASE Address of GS (R/W) See Table 35-2.
3196pub const IA32_KERNEL_GSBASE: u32 = 0xc0000102;
3197
3198/// AUXILIARY TSC Signature. (R/W) See Table 35-2 and Section 17.13.2, IA32_TSC_AUX Register and RDTSCP Support.
3199pub const IA32_TSC_AUX: u32 = 0xc0000103;