Coverage Report

Created: 2017-10-25 09:10

/root/src/xen/xen/include/asm/msr-index.h
Line
Count
Source (jump to first uncovered line)
1
#ifndef __ASM_MSR_INDEX_H
2
#define __ASM_MSR_INDEX_H
3
4
/* CPU model specific register (MSR) numbers */
5
6
/* x86-64 specific MSRs */
7
132
#define MSR_EFER    0xc0000080 /* extended feature register */
8
74.0k
#define MSR_STAR    0xc0000081 /* legacy mode SYSCALL target */
9
74.0k
#define MSR_LSTAR   0xc0000082 /* long mode SYSCALL target */
10
25
#define MSR_CSTAR   0xc0000083 /* compat mode SYSCALL target */
11
74.0k
#define MSR_SYSCALL_MASK  0xc0000084 /* EFLAGS mask for syscall */
12
12
#define MSR_FS_BASE   0xc0000100 /* 64bit FS base */
13
12
#define MSR_GS_BASE   0xc0000101 /* 64bit GS base */
14
37.0k
#define MSR_SHADOW_GS_BASE  0xc0000102 /* SwapGS GS shadow */
15
37.0k
#define MSR_TSC_AUX   0xc0000103 /* Auxiliary TSC */
16
17
/* EFER bits: */
18
37.1k
#define _EFER_SCE   0  /* SYSCALL/SYSRET */
19
158
#define _EFER_LME   8  /* Long mode enable */
20
11.0M
#define _EFER_LMA   10 /* Long mode active (read-only) */
21
37
#define _EFER_NX    11 /* No execute enable */
22
37
#define _EFER_SVME    12 /* AMD: SVM enable */
23
37
#define _EFER_LMSLE   13 /* AMD: Long-mode segment limit enable */
24
37
#define _EFER_FFXSE   14 /* AMD: Fast FXSAVE/FXRSTOR enable */
25
26
37.1k
#define EFER_SCE    (1<<_EFER_SCE)
27
158
#define EFER_LME    (1<<_EFER_LME)
28
11.0M
#define EFER_LMA    (1<<_EFER_LMA)
29
37
#define EFER_NX     (1<<_EFER_NX)
30
37
#define EFER_SVME   (1<<_EFER_SVME)
31
37
#define EFER_LMSLE    (1<<_EFER_LMSLE)
32
37
#define EFER_FFXSE    (1<<_EFER_FFXSE)
33
34
/* Intel MSRs. Some also available on other CPUs */
35
100
#define MSR_IA32_PERFCTR0   0x000000c1
36
0
#define MSR_IA32_A_PERFCTR0   0x000004c1
37
#define MSR_FSB_FREQ      0x000000cd
38
39
0
#define MSR_NHM_SNB_PKG_CST_CFG_CTL 0x000000e2
40
#define NHM_C3_AUTO_DEMOTE    (1UL << 25)
41
#define NHM_C1_AUTO_DEMOTE    (1UL << 26)
42
#define ATM_LNC_C6_AUTO_DEMOTE    (1UL << 25)
43
44
1
#define MSR_MTRRcap     0x000000fe
45
#define MSR_IA32_BBL_CR_CTL   0x00000119
46
47
12
#define MSR_IA32_SYSENTER_CS    0x00000174
48
25
#define MSR_IA32_SYSENTER_ESP   0x00000175
49
25
#define MSR_IA32_SYSENTER_EIP   0x00000176
50
51
12
#define MSR_IA32_MCG_CAP    0x00000179
52
73
#define MSR_IA32_MCG_STATUS   0x0000017a
53
0
#define MSR_IA32_MCG_CTL    0x0000017b
54
0
#define MSR_IA32_MCG_EXT_CTL  0x000004d0
55
56
12
#define MSR_IA32_PEBS_ENABLE    0x000003f1
57
12
#define MSR_IA32_DS_AREA    0x00000600
58
0
#define MSR_IA32_PERF_CAPABILITIES  0x00000345
59
/* Lower 6 bits define the format of the address in the LBR stack */
60
1
#define MSR_IA32_PERF_CAP_LBR_FORMAT  0x3f
61
62
0
#define MSR_IA32_BNDCFGS    0x00000d90
63
0
#define IA32_BNDCFGS_ENABLE   0x00000001
64
0
#define IA32_BNDCFGS_PRESERVE   0x00000002
65
0
#define IA32_BNDCFGS_RESERVED   0x00000ffc
66
67
0
#define MSR_IA32_XSS      0x00000da0
68
69
0
#define MSR_MTRRfix64K_00000    0x00000250
70
0
#define MSR_MTRRfix16K_80000    0x00000258
71
0
#define MSR_MTRRfix16K_A0000    0x00000259
72
0
#define MSR_MTRRfix4K_C0000   0x00000268
73
#define MSR_MTRRfix4K_C8000   0x00000269
74
#define MSR_MTRRfix4K_D0000   0x0000026a
75
#define MSR_MTRRfix4K_D8000   0x0000026b
76
#define MSR_MTRRfix4K_E0000   0x0000026c
77
#define MSR_MTRRfix4K_E8000   0x0000026d
78
#define MSR_MTRRfix4K_F0000   0x0000026e
79
0
#define MSR_MTRRfix4K_F8000   0x0000026f
80
73
#define MSR_MTRRdefType     0x000002ff
81
82
0
#define MSR_IA32_DEBUGCTLMSR    0x000001d9
83
0
#define IA32_DEBUGCTLMSR_LBR    (1<<0) /* Last Branch Record */
84
0
#define IA32_DEBUGCTLMSR_BTF    (1<<1) /* Single Step on Branches */
85
0
#define IA32_DEBUGCTLMSR_TR   (1<<6) /* Trace Message Enable */
86
0
#define IA32_DEBUGCTLMSR_BTS    (1<<7) /* Branch Trace Store */
87
0
#define IA32_DEBUGCTLMSR_BTINT    (1<<8) /* Branch Trace Interrupt */
88
0
#define IA32_DEBUGCTLMSR_BTS_OFF_OS (1<<9)  /* BTS off if CPL 0 */
89
0
#define IA32_DEBUGCTLMSR_BTS_OFF_USR  (1<<10) /* BTS off if CPL > 0 */
90
0
#define IA32_DEBUGCTLMSR_RTM    (1<<15) /* RTM debugging enable */
91
92
0
#define MSR_IA32_LASTBRANCHFROMIP 0x000001db
93
0
#define MSR_IA32_LASTBRANCHTOIP   0x000001dc
94
0
#define MSR_IA32_LASTINTFROMIP    0x000001dd
95
0
#define MSR_IA32_LASTINTTOIP    0x000001de
96
97
12
#define MSR_IA32_POWER_CTL    0x000001fc
98
99
560
#define MSR_IA32_MTRR_PHYSBASE(n)   (0x00000200 + 2 * (n))
100
280
#define MSR_IA32_MTRR_PHYSMASK(n)   (0x00000201 + 2 * (n))
101
102
78
#define MSR_IA32_CR_PAT             0x00000277
103
12
#define MSR_IA32_CR_PAT_RESET       0x0007040600070406ULL
104
105
806
#define MSR_IA32_MC0_CTL    0x00000400
106
623
#define MSR_IA32_MC0_STATUS   0x00000401
107
0
#define MSR_IA32_MC0_ADDR   0x00000402
108
0
#define MSR_IA32_MC0_MISC   0x00000403
109
815
#define MSR_IA32_MC0_CTL2   0x00000280
110
537
#define CMCI_EN       (1UL<<30)
111
230
#define CMCI_THRESHOLD_MASK   0x7FFF
112
113
0
#define MSR_AMD64_MC0_MASK    0xc0010044
114
115
156
#define MSR_IA32_MCx_CTL(x)   (MSR_IA32_MC0_CTL + 4*(x))
116
599
#define MSR_IA32_MCx_STATUS(x)    (MSR_IA32_MC0_STATUS + 4*(x))
117
0
#define MSR_IA32_MCx_ADDR(x)    (MSR_IA32_MC0_ADDR + 4*(x))
118
0
#define MSR_IA32_MCx_MISC(x)    (MSR_IA32_MC0_MISC + 4*(x)) 
119
468
#define MSR_IA32_MCx_CTL2(x)    (MSR_IA32_MC0_CTL2 + (x))
120
121
0
#define MSR_AMD64_MCx_MASK(x)   (MSR_AMD64_MC0_MASK + (x))
122
123
/* MSRs & bits used for VMX enabling */
124
0
#define MSR_IA32_VMX_BASIC                      0x480
125
12
#define MSR_IA32_VMX_PINBASED_CTLS              0x481
126
24
#define MSR_IA32_VMX_PROCBASED_CTLS             0x482
127
12
#define MSR_IA32_VMX_EXIT_CTLS                  0x483
128
12
#define MSR_IA32_VMX_ENTRY_CTLS                 0x484
129
0
#define MSR_IA32_VMX_MISC                       0x485
130
0
#define MSR_IA32_VMX_CR0_FIXED0                 0x486
131
0
#define MSR_IA32_VMX_CR0_FIXED1                 0x487
132
0
#define MSR_IA32_VMX_CR4_FIXED0                 0x488
133
0
#define MSR_IA32_VMX_CR4_FIXED1                 0x489
134
0
#define MSR_IA32_VMX_VMCS_ENUM                  0x48a
135
12
#define MSR_IA32_VMX_PROCBASED_CTLS2            0x48b
136
0
#define MSR_IA32_VMX_EPT_VPID_CAP               0x48c
137
0
#define MSR_IA32_VMX_TRUE_PINBASED_CTLS         0x48d
138
12
#define MSR_IA32_VMX_TRUE_PROCBASED_CTLS        0x48e
139
0
#define MSR_IA32_VMX_TRUE_EXIT_CTLS             0x48f
140
0
#define MSR_IA32_VMX_TRUE_ENTRY_CTLS            0x490
141
0
#define MSR_IA32_VMX_VMFUNC                     0x491
142
143
/* K7/K8 MSRs. Not complete. See the architecture manual for a more
144
   complete list. */
145
0
#define MSR_K7_EVNTSEL0     0xc0010000
146
0
#define MSR_K7_PERFCTR0     0xc0010004
147
0
#define MSR_K7_EVNTSEL1     0xc0010001
148
0
#define MSR_K7_PERFCTR1     0xc0010005
149
0
#define MSR_K7_EVNTSEL2     0xc0010002
150
0
#define MSR_K7_PERFCTR2     0xc0010006
151
0
#define MSR_K7_EVNTSEL3     0xc0010003
152
0
#define MSR_K7_PERFCTR3     0xc0010007
153
#define MSR_K8_TOP_MEM1     0xc001001a
154
#define MSR_K7_CLK_CTL      0xc001001b
155
0
#define MSR_K8_TOP_MEM2     0xc001001d
156
0
#define MSR_K8_SYSCFG     0xc0010010
157
158
#define K8_MTRRFIXRANGE_DRAM_ENABLE 0x00040000 /* MtrrFixDramEn bit    */
159
0
#define K8_MTRRFIXRANGE_DRAM_MODIFY 0x00080000 /* MtrrFixDramModEn bit */
160
#define K8_MTRR_RDMEM_WRMEM_MASK  0x18181818 /* Mask: RdMem|WrMem    */
161
162
0
#define MSR_K7_HWCR     0xc0010015
163
0
#define MSR_K8_HWCR     0xc0010015
164
0
#define MSR_K7_FID_VID_CTL    0xc0010041
165
0
#define MSR_K7_FID_VID_STATUS   0xc0010042
166
0
#define MSR_K8_PSTATE_LIMIT   0xc0010061
167
0
#define MSR_K8_PSTATE_CTRL    0xc0010062
168
0
#define MSR_K8_PSTATE_STATUS    0xc0010063
169
0
#define MSR_K8_PSTATE0      0xc0010064
170
0
#define MSR_K8_PSTATE1      0xc0010065
171
0
#define MSR_K8_PSTATE2      0xc0010066
172
0
#define MSR_K8_PSTATE3      0xc0010067
173
0
#define MSR_K8_PSTATE4      0xc0010068
174
0
#define MSR_K8_PSTATE5      0xc0010069
175
0
#define MSR_K8_PSTATE6      0xc001006A
176
0
#define MSR_K8_PSTATE7      0xc001006B
177
0
#define MSR_K8_ENABLE_C1E   0xc0010055
178
0
#define MSR_K8_VM_CR      0xc0010114
179
0
#define MSR_K8_VM_HSAVE_PA    0xc0010117
180
181
0
#define MSR_AMD_FAM15H_EVNTSEL0   0xc0010200
182
0
#define MSR_AMD_FAM15H_PERFCTR0   0xc0010201
183
0
#define MSR_AMD_FAM15H_EVNTSEL1   0xc0010202
184
0
#define MSR_AMD_FAM15H_PERFCTR1   0xc0010203
185
0
#define MSR_AMD_FAM15H_EVNTSEL2   0xc0010204
186
0
#define MSR_AMD_FAM15H_PERFCTR2   0xc0010205
187
0
#define MSR_AMD_FAM15H_EVNTSEL3   0xc0010206
188
0
#define MSR_AMD_FAM15H_PERFCTR3   0xc0010207
189
0
#define MSR_AMD_FAM15H_EVNTSEL4   0xc0010208
190
0
#define MSR_AMD_FAM15H_PERFCTR4   0xc0010209
191
0
#define MSR_AMD_FAM15H_EVNTSEL5   0xc001020a
192
0
#define MSR_AMD_FAM15H_PERFCTR5   0xc001020b
193
194
0
#define MSR_AMD_L7S0_FEATURE_MASK 0xc0011002
195
0
#define MSR_AMD_THRM_FEATURE_MASK 0xc0011003
196
0
#define MSR_K8_FEATURE_MASK   0xc0011004
197
0
#define MSR_K8_EXT_FEATURE_MASK   0xc0011005
198
199
/* MSR_K8_VM_CR bits: */
200
0
#define _K8_VMCR_SVME_DISABLE   4
201
0
#define K8_VMCR_SVME_DISABLE    (1 << _K8_VMCR_SVME_DISABLE)
202
203
/* AMD64 MSRs */
204
0
#define MSR_AMD64_NB_CFG    0xc001001f
205
0
#define AMD64_NB_CFG_CF8_EXT_ENABLE_BIT 46
206
0
#define MSR_AMD64_LS_CFG    0xc0011020
207
0
#define MSR_AMD64_IC_CFG    0xc0011021
208
0
#define MSR_AMD64_DC_CFG    0xc0011022
209
0
#define MSR_AMD64_DE_CFG    0xc0011029
210
211
0
#define MSR_AMD64_DR0_ADDRESS_MASK  0xc0011027
212
0
#define MSR_AMD64_DR1_ADDRESS_MASK  0xc0011019
213
0
#define MSR_AMD64_DR2_ADDRESS_MASK  0xc001101a
214
0
#define MSR_AMD64_DR3_ADDRESS_MASK  0xc001101b
215
216
/* AMD Family10h machine check MSRs */
217
0
#define MSR_F10_MC4_MISC1   0xc0000408
218
0
#define MSR_F10_MC4_MISC2   0xc0000409
219
0
#define MSR_F10_MC4_MISC3   0xc000040A
220
221
/* AMD Family10h Bus Unit MSRs */
222
0
#define MSR_F10_BU_CFG    0xc0011023
223
0
#define MSR_F10_BU_CFG2   0xc001102a
224
225
/* Other AMD Fam10h MSRs */
226
0
#define MSR_FAM10H_MMIO_CONF_BASE 0xc0010058
227
0
#define FAM10H_MMIO_CONF_ENABLE         (1<<0)
228
0
#define FAM10H_MMIO_CONF_BUSRANGE_MASK  0xf
229
0
#define FAM10H_MMIO_CONF_BUSRANGE_SHIFT 2
230
0
#define FAM10H_MMIO_CONF_BASE_MASK  0xfffffffULL
231
0
#define FAM10H_MMIO_CONF_BASE_SHIFT 20
232
233
/* AMD Microcode MSRs */
234
#define MSR_AMD_PATCHLEVEL    0x0000008b
235
0
#define MSR_AMD_PATCHLOADER   0xc0010020
236
237
/* AMD TSC RATE MSR */
238
0
#define MSR_AMD64_TSC_RATIO   0xc0000104
239
240
/* AMD Lightweight Profiling MSRs */
241
0
#define MSR_AMD64_LWP_CFG   0xc0000105
242
0
#define MSR_AMD64_LWP_CBADDR    0xc0000106
243
244
/* AMD OS Visible Workaround MSRs */
245
0
#define MSR_AMD_OSVW_ID_LENGTH          0xc0010140
246
0
#define MSR_AMD_OSVW_STATUS             0xc0010141
247
248
/* K6 MSRs */
249
#define MSR_K6_EFER     0xc0000080
250
#define MSR_K6_STAR     0xc0000081
251
#define MSR_K6_WHCR     0xc0000082
252
#define MSR_K6_UWCCR      0xc0000085
253
#define MSR_K6_EPMR     0xc0000086
254
#define MSR_K6_PSOR     0xc0000087
255
#define MSR_K6_PFIR     0xc0000088
256
257
/* Centaur-Hauls/IDT defined MSRs. */
258
#define MSR_IDT_FCR1      0x00000107
259
#define MSR_IDT_FCR2      0x00000108
260
#define MSR_IDT_FCR3      0x00000109
261
#define MSR_IDT_FCR4      0x0000010a
262
263
#define MSR_IDT_MCR0      0x00000110
264
#define MSR_IDT_MCR1      0x00000111
265
#define MSR_IDT_MCR2      0x00000112
266
#define MSR_IDT_MCR3      0x00000113
267
#define MSR_IDT_MCR4      0x00000114
268
#define MSR_IDT_MCR5      0x00000115
269
#define MSR_IDT_MCR6      0x00000116
270
#define MSR_IDT_MCR7      0x00000117
271
#define MSR_IDT_MCR_CTRL    0x00000120
272
273
/* VIA Cyrix defined MSRs*/
274
0
#define MSR_VIA_FCR     0x00001107
275
#define MSR_VIA_LONGHAUL    0x0000110a
276
0
#define MSR_VIA_RNG     0x0000110b
277
#define MSR_VIA_BCR2      0x00001147
278
279
/* Transmeta defined MSRs */
280
#define MSR_TMTA_LONGRUN_CTRL   0x80868010
281
#define MSR_TMTA_LONGRUN_FLAGS    0x80868011
282
#define MSR_TMTA_LRTI_READOUT   0x80868018
283
#define MSR_TMTA_LRTI_VOLT_MHZ    0x8086801a
284
285
/* Intel defined MSRs. */
286
#define MSR_IA32_P5_MC_ADDR   0x00000000
287
#define MSR_IA32_P5_MC_TYPE   0x00000001
288
18.4E
#define MSR_IA32_TSC      0x00000010
289
#define MSR_IA32_PLATFORM_ID    0x00000017
290
#define MSR_IA32_EBL_CR_POWERON   0x0000002a
291
0
#define MSR_IA32_EBC_FREQUENCY_ID 0x0000002c
292
293
0
#define MSR_IA32_FEATURE_CONTROL  0x0000003a
294
12
#define IA32_FEATURE_CONTROL_LOCK                     0x0001
295
0
#define IA32_FEATURE_CONTROL_ENABLE_VMXON_INSIDE_SMX  0x0002
296
12
#define IA32_FEATURE_CONTROL_ENABLE_VMXON_OUTSIDE_SMX 0x0004
297
#define IA32_FEATURE_CONTROL_SENTER_PARAM_CTL         0x7f00
298
#define IA32_FEATURE_CONTROL_ENABLE_SENTER            0x8000
299
0
#define IA32_FEATURE_CONTROL_SGX_ENABLE               0x40000
300
0
#define IA32_FEATURE_CONTROL_LMCE_ON                  0x100000
301
302
0
#define MSR_IA32_TSC_ADJUST   0x0000003b
303
304
31
#define MSR_IA32_APICBASE   0x0000001b
305
1
#define MSR_IA32_APICBASE_BSP   (1<<8)
306
584k
#define MSR_IA32_APICBASE_EXTD    (1<<10)
307
34
#define MSR_IA32_APICBASE_ENABLE  (1<<11)
308
481k
#define MSR_IA32_APICBASE_BASE    0x000ffffffffff000ul
309
5.54k
#define MSR_IA32_APICBASE_MSR           0x800
310
12
#define MSR_IA32_APICTPR_MSR            0x808
311
11
#define MSR_IA32_APICPPR_MSR            0x80a
312
12
#define MSR_IA32_APICEOI_MSR            0x80b
313
11
#define MSR_IA32_APICTMICT_MSR          0x838
314
11
#define MSR_IA32_APICTMCCT_MSR          0x839
315
12
#define MSR_IA32_APICSELF_MSR           0x83f
316
317
0
#define MSR_IA32_UCODE_WRITE    0x00000079
318
0
#define MSR_IA32_UCODE_REV    0x0000008b
319
320
0
#define MSR_IA32_PERF_STATUS    0x00000198
321
0
#define MSR_IA32_PERF_CTL   0x00000199
322
323
0
#define MSR_IA32_MPERF      0x000000e7
324
0
#define MSR_IA32_APERF      0x000000e8
325
326
0
#define MSR_IA32_THERM_CONTROL    0x0000019a
327
12
#define MSR_IA32_THERM_INTERRUPT  0x0000019b
328
#define MSR_IA32_THERM_STATUS   0x0000019c
329
36
#define MSR_IA32_MISC_ENABLE    0x000001a0
330
0
#define MSR_IA32_MISC_ENABLE_PERF_AVAIL   (1<<7)
331
12
#define MSR_IA32_MISC_ENABLE_BTS_UNAVAIL  (1<<11)
332
12
#define MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL (1<<12)
333
0
#define MSR_IA32_MISC_ENABLE_MONITOR_ENABLE (1<<18)
334
24
#define MSR_IA32_MISC_ENABLE_LIMIT_CPUID  (1<<22)
335
0
#define MSR_IA32_MISC_ENABLE_XTPR_DISABLE (1<<23)
336
24
#define MSR_IA32_MISC_ENABLE_XD_DISABLE (1ULL << 34)
337
338
3.64M
#define MSR_IA32_TSC_DEADLINE   0x000006E0
339
0
#define MSR_IA32_ENERGY_PERF_BIAS 0x000001b0
340
341
/* Platform Shared Resource MSRs */
342
0
#define MSR_IA32_CMT_EVTSEL   0x00000c8d
343
0
#define MSR_IA32_CMT_EVTSEL_UE_MASK 0x0000ffff
344
0
#define MSR_IA32_CMT_CTR    0x00000c8e
345
0
#define MSR_IA32_PSR_ASSOC    0x00000c8f
346
0
#define MSR_IA32_PSR_L3_QOS_CFG 0x00000c81
347
0
#define MSR_IA32_PSR_L3_MASK(n) (0x00000c90 + (n))
348
0
#define MSR_IA32_PSR_L3_MASK_CODE(n)  (0x00000c90 + (n) * 2 + 1)
349
0
#define MSR_IA32_PSR_L3_MASK_DATA(n)  (0x00000c90 + (n) * 2)
350
0
#define MSR_IA32_PSR_L2_MASK(n)   (0x00000d10 + (n))
351
352
/* Intel Model 6 */
353
24
#define MSR_P6_PERFCTR(n)   (0x000000c1 + (n))
354
124
#define MSR_P6_EVNTSEL(n)   (0x00000186 + (n))
355
356
/* P4/Xeon+ specific */
357
0
#define MSR_IA32_MCG_EAX    0x00000180
358
#define MSR_IA32_MCG_EBX    0x00000181
359
#define MSR_IA32_MCG_ECX    0x00000182
360
#define MSR_IA32_MCG_EDX    0x00000183
361
#define MSR_IA32_MCG_ESI    0x00000184
362
#define MSR_IA32_MCG_EDI    0x00000185
363
#define MSR_IA32_MCG_EBP    0x00000186
364
#define MSR_IA32_MCG_ESP    0x00000187
365
#define MSR_IA32_MCG_EFLAGS   0x00000188
366
#define MSR_IA32_MCG_EIP    0x00000189
367
0
#define MSR_IA32_MCG_MISC   0x0000018a
368
0
#define MSR_IA32_MCG_R8     0x00000190
369
#define MSR_IA32_MCG_R9     0x00000191
370
#define MSR_IA32_MCG_R10    0x00000192
371
#define MSR_IA32_MCG_R11    0x00000193
372
#define MSR_IA32_MCG_R12    0x00000194
373
#define MSR_IA32_MCG_R13    0x00000195
374
#define MSR_IA32_MCG_R14    0x00000196
375
0
#define MSR_IA32_MCG_R15    0x00000197
376
377
/* Pentium IV performance counter MSRs */
378
0
#define MSR_P4_BPU_PERFCTR0   0x00000300
379
#define MSR_P4_BPU_PERFCTR1   0x00000301
380
#define MSR_P4_BPU_PERFCTR2   0x00000302
381
#define MSR_P4_BPU_PERFCTR3   0x00000303
382
#define MSR_P4_MS_PERFCTR0    0x00000304
383
#define MSR_P4_MS_PERFCTR1    0x00000305
384
#define MSR_P4_MS_PERFCTR2    0x00000306
385
#define MSR_P4_MS_PERFCTR3    0x00000307
386
#define MSR_P4_FLAME_PERFCTR0   0x00000308
387
#define MSR_P4_FLAME_PERFCTR1   0x00000309
388
#define MSR_P4_FLAME_PERFCTR2   0x0000030a
389
#define MSR_P4_FLAME_PERFCTR3   0x0000030b
390
0
#define MSR_P4_IQ_PERFCTR0    0x0000030c
391
#define MSR_P4_IQ_PERFCTR1    0x0000030d
392
#define MSR_P4_IQ_PERFCTR2    0x0000030e
393
#define MSR_P4_IQ_PERFCTR3    0x0000030f
394
#define MSR_P4_IQ_PERFCTR4    0x00000310
395
#define MSR_P4_IQ_PERFCTR5    0x00000311
396
0
#define MSR_P4_BPU_CCCR0    0x00000360
397
#define MSR_P4_BPU_CCCR1    0x00000361
398
#define MSR_P4_BPU_CCCR2    0x00000362
399
#define MSR_P4_BPU_CCCR3    0x00000363
400
#define MSR_P4_MS_CCCR0     0x00000364
401
#define MSR_P4_MS_CCCR1     0x00000365
402
#define MSR_P4_MS_CCCR2     0x00000366
403
#define MSR_P4_MS_CCCR3     0x00000367
404
#define MSR_P4_FLAME_CCCR0    0x00000368
405
#define MSR_P4_FLAME_CCCR1    0x00000369
406
#define MSR_P4_FLAME_CCCR2    0x0000036a
407
#define MSR_P4_FLAME_CCCR3    0x0000036b
408
0
#define MSR_P4_IQ_CCCR0     0x0000036c
409
#define MSR_P4_IQ_CCCR1     0x0000036d
410
#define MSR_P4_IQ_CCCR2     0x0000036e
411
#define MSR_P4_IQ_CCCR3     0x0000036f
412
#define MSR_P4_IQ_CCCR4     0x00000370
413
0
#define MSR_P4_IQ_CCCR5     0x00000371
414
#define MSR_P4_ALF_ESCR0    0x000003ca
415
#define MSR_P4_ALF_ESCR1    0x000003cb
416
#define MSR_P4_BPU_ESCR0    0x000003b2
417
#define MSR_P4_BPU_ESCR1    0x000003b3
418
0
#define MSR_P4_BSU_ESCR0    0x000003a0
419
0
#define MSR_P4_BSU_ESCR1    0x000003a1
420
0
#define MSR_P4_CRU_ESCR0    0x000003b8
421
#define MSR_P4_CRU_ESCR1    0x000003b9
422
#define MSR_P4_CRU_ESCR2    0x000003cc
423
0
#define MSR_P4_CRU_ESCR3    0x000003cd
424
0
#define MSR_P4_CRU_ESCR4    0x000003e0
425
0
#define MSR_P4_CRU_ESCR5    0x000003e1
426
#define MSR_P4_DAC_ESCR0    0x000003a8
427
#define MSR_P4_DAC_ESCR1    0x000003a9
428
#define MSR_P4_FIRM_ESCR0   0x000003a4
429
#define MSR_P4_FIRM_ESCR1   0x000003a5
430
#define MSR_P4_FLAME_ESCR0    0x000003a6
431
#define MSR_P4_FLAME_ESCR1    0x000003a7
432
#define MSR_P4_FSB_ESCR0    0x000003a2
433
#define MSR_P4_FSB_ESCR1    0x000003a3
434
0
#define MSR_P4_IQ_ESCR0     0x000003ba
435
0
#define MSR_P4_IQ_ESCR1     0x000003bb
436
#define MSR_P4_IS_ESCR0     0x000003b4
437
#define MSR_P4_IS_ESCR1     0x000003b5
438
#define MSR_P4_ITLB_ESCR0   0x000003b6
439
#define MSR_P4_ITLB_ESCR1   0x000003b7
440
0
#define MSR_P4_IX_ESCR0     0x000003c8
441
#define MSR_P4_IX_ESCR1     0x000003c9
442
#define MSR_P4_MOB_ESCR0    0x000003aa
443
#define MSR_P4_MOB_ESCR1    0x000003ab
444
0
#define MSR_P4_MS_ESCR0     0x000003c0
445
#define MSR_P4_MS_ESCR1     0x000003c1
446
#define MSR_P4_PMH_ESCR0    0x000003ac
447
#define MSR_P4_PMH_ESCR1    0x000003ad
448
0
#define MSR_P4_RAT_ESCR0    0x000003bc
449
#define MSR_P4_RAT_ESCR1    0x000003bd
450
#define MSR_P4_SAAT_ESCR0   0x000003ae
451
#define MSR_P4_SAAT_ESCR1   0x000003af
452
0
#define MSR_P4_SSU_ESCR0    0x000003be
453
#define MSR_P4_SSU_ESCR1    0x000003bf /* guess: not in manual */
454
455
#define MSR_P4_TBPU_ESCR0   0x000003c2
456
#define MSR_P4_TBPU_ESCR1   0x000003c3
457
#define MSR_P4_TC_ESCR0     0x000003c4
458
0
#define MSR_P4_TC_ESCR1     0x000003c5
459
#define MSR_P4_U2L_ESCR0    0x000003b0
460
#define MSR_P4_U2L_ESCR1    0x000003b1
461
462
/* Netburst (P4) last-branch recording */
463
0
#define MSR_P4_LER_FROM_LIP     0x000001d7
464
#define MSR_P4_LER_TO_LIP     0x000001d8
465
#define MSR_P4_LASTBRANCH_TOS   0x000001da
466
#define MSR_P4_LASTBRANCH_0   0x000001db
467
#define NUM_MSR_P4_LASTBRANCH   4
468
#define MSR_P4_LASTBRANCH_0_FROM_LIP  0x00000680
469
#define MSR_P4_LASTBRANCH_0_TO_LIP  0x000006c0
470
#define NUM_MSR_P4_LASTBRANCH_FROM_TO 16
471
472
/* Core 2 and Atom last-branch recording */
473
#define MSR_C2_LASTBRANCH_TOS   0x000001c9
474
#define MSR_C2_LASTBRANCH_0_FROM_IP 0x00000040
475
#define MSR_C2_LASTBRANCH_0_TO_IP 0x00000060
476
#define NUM_MSR_C2_LASTBRANCH_FROM_TO 4
477
#define NUM_MSR_ATOM_LASTBRANCH_FROM_TO 8
478
479
/* Skylake (and newer) last-branch recording */
480
#define MSR_SKL_LASTBRANCH_TOS    0x000001c9
481
#define MSR_SKL_LASTBRANCH_0_FROM_IP  0x00000680
482
#define MSR_SKL_LASTBRANCH_0_TO_IP  0x000006c0
483
#define MSR_SKL_LASTBRANCH_0_INFO 0x00000dc0
484
#define NUM_MSR_SKL_LASTBRANCH    32
485
486
/* Goldmont last-branch recording */
487
#define MSR_GM_LASTBRANCH_TOS   0x000001c9
488
#define MSR_GM_LASTBRANCH_0_FROM_IP 0x00000680
489
#define MSR_GM_LASTBRANCH_0_TO_IP 0x000006c0
490
#define NUM_MSR_GM_LASTBRANCH_FROM_TO 32
491
492
/* Intel Core-based CPU performance counters */
493
12
#define MSR_CORE_PERF_FIXED_CTR0  0x00000309
494
#define MSR_CORE_PERF_FIXED_CTR1  0x0000030a
495
12
#define MSR_CORE_PERF_FIXED_CTR2  0x0000030b
496
12
#define MSR_CORE_PERF_FIXED_CTR_CTRL  0x0000038d
497
0
#define MSR_CORE_PERF_GLOBAL_STATUS 0x0000038e
498
0
#define MSR_CORE_PERF_GLOBAL_CTRL 0x0000038f
499
12
#define MSR_CORE_PERF_GLOBAL_OVF_CTRL 0x00000390
500
501
/* Intel cpuid spoofing MSRs */
502
0
#define MSR_INTEL_MASK_V1_CPUID1        0x00000478
503
504
0
#define MSR_INTEL_MASK_V2_CPUID1        0x00000130
505
0
#define MSR_INTEL_MASK_V2_CPUID80000001 0x00000131
506
507
0
#define MSR_INTEL_MASK_V3_CPUID1        0x00000132
508
0
#define MSR_INTEL_MASK_V3_CPUID80000001 0x00000133
509
0
#define MSR_INTEL_MASK_V3_CPUIDD_01     0x00000134
510
511
/* Intel cpuid faulting MSRs */
512
0
#define MSR_INTEL_PLATFORM_INFO   0x000000ce
513
1
#define _MSR_PLATFORM_INFO_CPUID_FAULTING 31
514
1
#define MSR_PLATFORM_INFO_CPUID_FAULTING  (1ULL << _MSR_PLATFORM_INFO_CPUID_FAULTING)
515
516
0
#define MSR_INTEL_MISC_FEATURES_ENABLES 0x00000140
517
18.4E
#define _MSR_MISC_FEATURES_CPUID_FAULTING 0
518
18.4E
#define MSR_MISC_FEATURES_CPUID_FAULTING  (1ULL << _MSR_MISC_FEATURES_CPUID_FAULTING)
519
520
0
#define MSR_CC6_DEMOTION_POLICY_CONFIG  0x00000668
521
0
#define MSR_MC6_DEMOTION_POLICY_CONFIG  0x00000669
522
523
/* Interrupt Response Limit */
524
#define MSR_PKGC3_IRTL      0x0000060a
525
#define MSR_PKGC6_IRTL      0x0000060b
526
#define MSR_PKGC7_IRTL      0x0000060c
527
#define MSR_PKGC8_IRTL      0x00000633
528
#define MSR_PKGC9_IRTL      0x00000634
529
#define MSR_PKGC10_IRTL     0x00000635
530
531
#endif /* __ASM_MSR_INDEX_H */