msrtool: added support for Intel CPUs
[coreboot.git] / util / msrtool / intel_pentium4_early.c
1 /*
2  * This file is part of msrtool.
3  *
4  * Copyright (C) 2011 Anton Kochkov <anton.kochkov@gmail.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
18  */
19
20 #include "msrtool.h"
21
22 int intel_pentium4_early_probe(const struct targetdef *target) {
23         struct cpuid_t *id = cpuid();
24         return ((0xf == id->family)&(0x2 == id->model));
25 }
26
27 const struct msrdef intel_pentium4_early_msrs[] = {
28         {0x0, MSRTYPE_RDWR, MSR2(0,0), "IA32_P5_MC_ADDR", "", {
29                 { BITS_EOT }
30         }},
31         {0x1, MSRTYPE_RDWR, MSR2(0,0), "IA32_P5_MC_TYPE", "", {
32                 { BITS_EOT }
33         }},
34         {0x17, MSRTYPE_RDWR, MSR2(0,0), "IA32_PLATFORM_ID", "", {
35                 { BITS_EOT }
36         }},
37         {0x2a, MSRTYPE_RDWR, MSR2(0,0), "MSR_EBC_HARD_POWERON", "", {
38                 { BITS_EOT }
39         }},
40         {0x2b, MSRTYPE_RDWR, MSR2(0,0), "MSR_EBC_SOFT_POWRON", "", {
41                 { BITS_EOT }
42         }},
43         {0x19c, MSRTYPE_RDWR, MSR2(0,0), "IA32_THERM_STATUS", "", {
44                 { BITS_EOT }
45         }},
46         {0x1a0, MSRTYPE_RDWR, MSR2(0,0), "IA32_MISC_ENABLE", "", {
47                 { BITS_EOT }
48         }},
49         {0x200, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSBASE0", "", {
50                 { BITS_EOT }
51         }},
52         {0x201, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSMASK0", "", {
53                 { BITS_EOT }
54         }},
55         {0x202, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSBASE1", "", {
56                 { BITS_EOT }
57         }},
58         {0x203, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSMASK1", "", {
59                 { BITS_EOT }
60         }},
61         {0x204, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSBASE2", "", {
62                 { BITS_EOT }
63         }},
64         {0x205, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSMASK2", "", {
65                 { BITS_EOT }
66         }},
67         {0x206, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSBASE3", "", {
68                 { BITS_EOT }
69         }},
70         {0x207, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSMASK3", "", {
71                 { BITS_EOT }
72         }},
73         {0x208, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSBASE4", "", {
74                 { BITS_EOT }
75         }},
76         {0x209, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSMASK4", "", {
77                 { BITS_EOT }
78         }},
79         {0x20a, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSBASE5", "", {
80                 { BITS_EOT }
81         }},
82         {0x20b, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSMASK5", "", {
83                 { BITS_EOT }
84         }},
85         {0x20c, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSBASE6", "", {
86                 { BITS_EOT }
87         }},
88         {0x20d, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSMASK6", "", {
89                 { BITS_EOT }
90         }},
91         {0x20e, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSBASE7", "", {
92                 { BITS_EOT }
93         }},
94         {0x20f, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_PHYSMASK7", "", {
95                 { BITS_EOT }
96         }},
97         {0x250, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX64K_00000", "", {
98                 { BITS_EOT }
99         }},
100         {0x258, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX16K_80000", "", {
101                 { BITS_EOT }
102         }},
103         {0x259, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX16K_A0000", "", {
104                 { BITS_EOT }
105         }},
106         {0x268, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX4K_C0000", "", {
107                 { BITS_EOT }
108         }},
109         {0x269, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX4K_C8000", "", {
110                 { BITS_EOT }
111         }},
112         {0x26a, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX4K_D0000", "", {
113                 { BITS_EOT }
114         }},
115         {0x26b, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX4K_D8000", "", {
116                 { BITS_EOT }
117         }},
118         {0x26c, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX4K_E0000", "", {
119                 { BITS_EOT }
120         }},
121         {0x26d, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX4K_E8000", "", {
122                 { BITS_EOT }
123         }},
124         {0x26e, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX4K_F0000", "", {
125                 { BITS_EOT }
126         }},
127         {0x26f, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_FIX4K_F8000", "", {
128                 { BITS_EOT }
129         }},
130         {0x2ff, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRR_DEF_TYPE", "", {
131                 { BITS_EOT }
132         }},
133         {0x300, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_COUNTER0", "", {
134                 { BITS_EOT }
135         }},
136         {0x301, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_COUNTER1", "", {
137                 { BITS_EOT }
138         }},
139         {0x302, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_COUNTER2", "", {
140                 { BITS_EOT }
141         }},
142         {0x303, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_COUNTER3", "", {
143                 { BITS_EOT }
144         }},
145         {0x304, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_COUNTER0", "", {
146                 { BITS_EOT }
147         }},
148         {0x305, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_COUNTER1", "", {
149                 { BITS_EOT }
150         }},
151         {0x306, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_COUNTER2", "", {
152                 { BITS_EOT }
153         }},
154         {0x307, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_COUNTER3", "", {
155                 { BITS_EOT }
156         }},
157         {0x308, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_COUNTER0", "", {
158                 { BITS_EOT }
159         }},
160         {0x309, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_COUNTER1", "", {
161                 { BITS_EOT }
162         }},
163         {0x30a, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_COUNTER2", "", {
164                 { BITS_EOT }
165         }},
166         {0x30b, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_COUNTER3", "", {
167                 { BITS_EOT }
168         }},
169         {0x30c, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_COUNTER0", "", {
170                 { BITS_EOT }
171         }},
172         {0x30d, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_COUNTER1", "", {
173                 { BITS_EOT }
174         }},
175         {0x30e, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_COUNTER2", "", {
176                 { BITS_EOT }
177         }},
178         {0x30f, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_COUNTER3", "", {
179                 { BITS_EOT }
180         }},
181         {0x310, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_COUNTER4", "", {
182                 { BITS_EOT }
183         }},
184         {0x311, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_COUNTER5", "", {
185                 { BITS_EOT }
186         }},
187         {0x360, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_CCCR0", "", {
188                 { BITS_EOT }
189         }},
190         {0x361, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_CCCR1", "", {
191                 { BITS_EOT }
192         }},
193         {0x362, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_CCCR2", "", {
194                 { BITS_EOT }
195         }},
196         {0x363, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_CCCR3", "", {
197                 { BITS_EOT }
198         }},
199         {0x364, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_CCCR0", "", {
200                 { BITS_EOT }
201         }},
202         {0x365, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_CCCR1", "", {
203                 { BITS_EOT }
204         }},
205         {0x366, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_CCCR2", "", {
206                 { BITS_EOT }
207         }},
208         {0x367, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_CCCR3", "", {
209                 { BITS_EOT }
210         }},
211         {0x368, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_CCCR0", "", {
212                 { BITS_EOT }
213         }},
214         {0x369, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_CCCR1", "", {
215                 { BITS_EOT }
216         }},
217         {0x36a, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_CCCR2", "", {
218                 { BITS_EOT }
219         }},
220         {0x36b, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_CCCR3", "", {
221                 { BITS_EOT }
222         }},
223         {0x36c, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_CCCR0", "", {
224                 { BITS_EOT }
225         }},
226         {0x36d, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_CCCR1", "", {
227                 { BITS_EOT }
228         }},
229         {0x36e, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_CCCR2", "", {
230                 { BITS_EOT }
231         }},
232         {0x36f, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_CCCR3", "", {
233                 { BITS_EOT }
234         }},
235         {0x370, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_CCCR4", "", {
236                 { BITS_EOT }
237         }},
238         {0x371, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_CCCR5", "", {
239                 { BITS_EOT }
240         }},
241         {0x3a0, MSRTYPE_RDWR, MSR2(0,0), "MSR_BSU_ESCR0", "", {
242                 { BITS_EOT }
243         }},
244         {0x3a1, MSRTYPE_RDWR, MSR2(0,0), "MSR_BSU_ESCR1", "", {
245                 { BITS_EOT }
246         }},
247         {0x3a2, MSRTYPE_RDWR, MSR2(0,0), "MSR_FSB_ESCR0", "", {
248                 { BITS_EOT }
249         }},
250         {0x3a3, MSRTYPE_RDWR, MSR2(0,0), "MSR_FSB_ESCR1", "", {
251                 { BITS_EOT }
252         }},
253         {0x3a4, MSRTYPE_RDWR, MSR2(0,0), "MSR_FIRM_ESCR0", "", {
254                 { BITS_EOT }
255         }},
256         {0x3a5, MSRTYPE_RDWR, MSR2(0,0), "MSR_FIRM_ESCR1", "", {
257                 { BITS_EOT }
258         }},
259         {0x3a6, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_ESCR0", "", {
260                 { BITS_EOT }
261         }},
262         {0x3a7, MSRTYPE_RDWR, MSR2(0,0), "MSR_FLAME_ESCR1", "", {
263                 { BITS_EOT }
264         }},
265         {0x3a8, MSRTYPE_RDWR, MSR2(0,0), "MSR_DAC_ESCR0", "", {
266                 { BITS_EOT }
267         }},
268         {0x3a9, MSRTYPE_RDWR, MSR2(0,0), "MSR_DAC_ESCR1", "", {
269                 { BITS_EOT }
270         }},
271         {0x3aa, MSRTYPE_RDWR, MSR2(0,0), "MSR_MOB_ESCR0", "", {
272                 { BITS_EOT }
273         }},
274         {0x3ab, MSRTYPE_RDWR, MSR2(0,0), "MSR_MOB_ESCR1", "", {
275                 { BITS_EOT }
276         }},
277         {0x3ac, MSRTYPE_RDWR, MSR2(0,0), "MSR_PMH_ESCR0", "", {
278                 { BITS_EOT }
279         }},
280         {0x3ad, MSRTYPE_RDWR, MSR2(0,0), "MSR_PMH_ESCR1", "", {
281                 { BITS_EOT }
282         }},
283         {0x3ae, MSRTYPE_RDWR, MSR2(0,0), "MSR_SAAT_ESCR0", "", {
284                 { BITS_EOT }
285         }},
286         {0x3af, MSRTYPE_RDWR, MSR2(0,0), "MSR_SAAT_ESCR1", "", {
287                 { BITS_EOT }
288         }},
289         {0x3b0, MSRTYPE_RDWR, MSR2(0,0), "MSR_U2L_ESCR0", "", {
290                 { BITS_EOT }
291         }},
292         {0x3b1, MSRTYPE_RDWR, MSR2(0,0), "MSR_U2L_ESCR1", "", {
293                 { BITS_EOT }
294         }},
295         {0x3b2, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_ESCR0", "", {
296                 { BITS_EOT }
297         }},
298         {0x3b3, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_ESCR1", "", {
299                 { BITS_EOT }
300         }},
301         {0x3b4, MSRTYPE_RDWR, MSR2(0,0), "MSR_IS_ESCR0", "", {
302                 { BITS_EOT }
303         }},
304         {0x3b5, MSRTYPE_RDWR, MSR2(0,0), "MSR_BPU_ESCR1", "", {
305                 { BITS_EOT }
306         }},
307         {0x3b6, MSRTYPE_RDWR, MSR2(0,0), "MSR_ITLB_ESCR0", "", {
308                 { BITS_EOT }
309         }},
310         {0x3b7, MSRTYPE_RDWR, MSR2(0,0), "MSR_ITLB_ESCR1", "", {
311                 { BITS_EOT }
312         }},
313         {0x3b8, MSRTYPE_RDWR, MSR2(0,0), "MSR_CRU_ESCR0", "", {
314                 { BITS_EOT }
315         }},
316         {0x3b9, MSRTYPE_RDWR, MSR2(0,0), "MSR_CRU_ESCR1", "", {
317                 { BITS_EOT }
318         }},
319         {0x3ba, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_ESCR0", "", {
320                 { BITS_EOT }
321         }},
322         {0x3bb, MSRTYPE_RDWR, MSR2(0,0), "MSR_IQ_ESCR1", "", {
323                 { BITS_EOT }
324         }},
325         {0x3bc, MSRTYPE_RDWR, MSR2(0,0), "MSR_RAT_ESCR0", "", {
326                 { BITS_EOT }
327         }},
328         {0x3bd, MSRTYPE_RDWR, MSR2(0,0), "MSR_RAT_ESCR1", "", {
329                 { BITS_EOT }
330         }},
331         {0x3be, MSRTYPE_RDWR, MSR2(0,0), "MSR_SSU_ESCR0", "", {
332                 { BITS_EOT }
333         }},
334         {0x3c0, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_ESCR0", "", {
335                 { BITS_EOT }
336         }},
337         {0x3c1, MSRTYPE_RDWR, MSR2(0,0), "MSR_MS_ESCR1", "", {
338                 { BITS_EOT }
339         }},
340         {0x3c2, MSRTYPE_RDWR, MSR2(0,0), "MSR_TBPU_ESCR0", "", {
341                 { BITS_EOT }
342         }},
343         {0x3c3, MSRTYPE_RDWR, MSR2(0,0), "MSR_TBPU_ESCR1", "", {
344                 { BITS_EOT }
345         }},
346         {0x3c4, MSRTYPE_RDWR, MSR2(0,0), "MSR_TC_ESCR0", "", {
347                 { BITS_EOT }
348         }},
349         {0x3c5, MSRTYPE_RDWR, MSR2(0,0), "MSR_TC_ESCR1", "", {
350                 { BITS_EOT }
351         }},
352         {0x3c8, MSRTYPE_RDWR, MSR2(0,0), "MSR_IX_ESCR0", "", {
353                 { BITS_EOT }
354         }},
355         {0x3c9, MSRTYPE_RDWR, MSR2(0,0), "MSR_IX_ESCR1", "", {
356                 { BITS_EOT }
357         }},
358         {0x3ca, MSRTYPE_RDWR, MSR2(0,0), "MSR_ALF_ESCR0", "", {
359                 { BITS_EOT }
360         }},
361         {0x3cb, MSRTYPE_RDWR, MSR2(0,0), "MSR_ALF_ESCR1", "", {
362                 { BITS_EOT }
363         }},
364         {0x3cc, MSRTYPE_RDWR, MSR2(0,0), "MSR_CRU_ESCR2", "", {
365                 { BITS_EOT }
366         }},
367         {0x3cd, MSRTYPE_RDWR, MSR2(0,0), "MSR_CRU_ESCR3", "", {
368                 { BITS_EOT }
369         }},
370         {0x3e0, MSRTYPE_RDWR, MSR2(0,0), "MSR_CRU_ESCR4", "", {
371                 { BITS_EOT }
372         }},
373         {0x3e1, MSRTYPE_RDWR, MSR2(0,0), "MSR_CRU_ESCR5", "", {
374                 { BITS_EOT }
375         }},
376         {0x3f0, MSRTYPE_RDWR, MSR2(0,0), "MSR_TC_PRECISE_EVENT", "", {
377                 { BITS_EOT }
378         }},
379         {0x3f1, MSRTYPE_RDWR, MSR2(0,0), "MSR_PEBS_ENABLE", "", {
380                 { BITS_EOT }
381         }},
382         {0x3f2, MSRTYPE_RDWR, MSR2(0,0), "MSR_PEBS_MATRIX_VERT", "", {
383                 { BITS_EOT }
384         }},
385         {0x400, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC0_CTL", "", {
386                 { BITS_EOT }
387         }},
388         {0x401, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC0_STATUS", "", {
389                 { BITS_EOT }
390         }},
391         {0x402, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC0_ADDR", "", {
392                 { BITS_EOT }
393         }},
394         {0x403, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC0_MISC", "", {
395                 { BITS_EOT }
396         }},
397         {0x404, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC1_CTL", "", {
398                 { BITS_EOT }
399         }},
400         {0x405, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC1_STATUS", "", {
401                 { BITS_EOT }
402         }},
403         {0x406, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC1_ADDR", "", {
404                 { BITS_EOT }
405         }},
406         {0x407, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC1_MISC", "", {
407                 { BITS_EOT }
408         }},
409         {0x408, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC2_CTL", "", {
410                 { BITS_EOT }
411         }},
412         {0x409, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC2_STATUS", "", {
413                 { BITS_EOT }
414         }},
415         {0x40a, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC2_ADDR", "", {
416                 { BITS_EOT }
417         }},
418         {0x40b, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC2_MISC", "", {
419                 { BITS_EOT }
420         }},
421         {0x40c, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC3_CTL", "", {
422                 { BITS_EOT }
423         }},
424         {0x40d, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC3_STATUS", "", {
425                 { BITS_EOT }
426         }},
427         {0x40e, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC3_ADDR", "", {
428                 { BITS_EOT }
429         }},
430         {0x40f, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC3_MISC", "", {
431                 { BITS_EOT }
432         }},
433         {0x410, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC4_CTL", "", {
434                 { BITS_EOT }
435         }},
436         {0x411, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC4_STATUS", "", {
437                 { BITS_EOT }
438         }},
439         {0x412, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC4_ADDR", "", {
440                 { BITS_EOT }
441         }},
442         {0x413, MSRTYPE_RDWR, MSR2(0,0), "IA32_MC4_MISC", "", {
443                 { BITS_EOT }
444         }},
445         {0x10, MSRTYPE_RDWR, MSR2(0,0), "IA32_TIME_STAMP_COUNTER", "", {
446                 { BITS_EOT }
447         }},
448         {0x1b, MSRTYPE_RDWR, MSR2(0,0), "IA32_APIC_BASE", "", {
449                 { BITS_EOT }
450         }},
451         {0x8b, MSRTYPE_RDWR, MSR2(0,0), "IA32_BIOS_SIGN_ID", "", {
452                 { BITS_EOT }
453         }},
454         {0xfe, MSRTYPE_RDWR, MSR2(0,0), "IA32_MTRRCAP", "", {
455                 { BITS_EOT }
456         }},
457         {0x174, MSRTYPE_RDWR, MSR2(0,0), "IA32_SYSENTER_CS", "", {
458                 { BITS_EOT }
459         }},
460         {0x175, MSRTYPE_RDWR, MSR2(0,0), "IA32_SYSENTER_ESP", "", {
461                 { BITS_EOT }
462         }},
463         {0x176, MSRTYPE_RDWR, MSR2(0,0), "IA32_SYSENTER_EIP", "", {
464                 { BITS_EOT }
465         }},
466         {0x179, MSRTYPE_RDWR, MSR2(0,0), "IA32_MCG_CAP", "", {
467                 { BITS_EOT }
468         }},
469         {0x17a, MSRTYPE_RDWR, MSR2(0,0), "IA32_MCG_STATUS", "", {
470                 { BITS_EOT }
471         }},
472         {0x17b, MSRTYPE_RDWR, MSR2(0,0), "IA32_MCG_CTL", "", {
473                 { BITS_EOT }
474         }},
475         {0x180, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RAX", "", {
476                 { BITS_EOT }
477         }},
478         {0x181, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RBX", "", {
479                 { BITS_EOT }
480         }},
481         {0x182, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RCX", "", {
482                 { BITS_EOT }
483         }},
484         {0x183, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RDX", "", {
485                 { BITS_EOT }
486         }},
487         {0x184, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RSI", "", {
488                 { BITS_EOT }
489         }},
490         {0x185, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RDI", "", {
491                 { BITS_EOT }
492         }},
493         {0x186, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RBP", "", {
494                 { BITS_EOT }
495         }},
496         {0x187, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RSP", "", {
497                 { BITS_EOT }
498         }},
499         {0x188, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RFLAGS", "", {
500                 { BITS_EOT }
501         }},
502         {0x189, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_RIP", "", {
503                 { BITS_EOT }
504         }},
505         {0x18a, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_MISC", "", {
506                 { BITS_EOT }
507         }},
508         {0x190, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_R8", "", {
509                 { BITS_EOT }
510         }},
511         {0x191, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_R9", "", {
512                 { BITS_EOT }
513         }},
514         {0x192, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_R10", "", {
515                 { BITS_EOT }
516         }},
517         {0x193, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_R11", "", {
518                 { BITS_EOT }
519         }},
520         {0x194, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_R12", "", {
521                 { BITS_EOT }
522         }},
523         {0x195, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_R13", "", {
524                 { BITS_EOT }
525         }},
526         {0x196, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_R14", "", {
527                 { BITS_EOT }
528         }},
529         {0x197, MSRTYPE_RDWR, MSR2(0,0), "MSR_MCG_R15", "", {
530                 { BITS_EOT }
531         }},
532         {0x19a, MSRTYPE_RDWR, MSR2(0,0), "IA32_CLOCK_MODULATION", "", {
533                 { BITS_EOT }
534         }},
535         {0x19b, MSRTYPE_RDWR, MSR2(0,0), "IA32_THERM_INTERRUPT", "", {
536                 { BITS_EOT }
537         }},
538         {0x1a0, MSRTYPE_RDWR, MSR2(0,0), "IA32_MISC_ENABLE", "", {
539                 { BITS_EOT }
540         }},
541         {0x1d7, MSRTYPE_RDWR, MSR2(0,0), "MSR_LER_FROM_LIP", "", {
542                 { BITS_EOT }
543         }},
544         {0x1d8, MSRTYPE_RDWR, MSR2(0,0), "MSR_LER_TO_LIP", "", {
545                 { BITS_EOT }
546         }},
547         {0x1d9, MSRTYPE_RDWR, MSR2(0,0), "MSR_DEBUGCTLA", "", {
548                 { BITS_EOT }
549         }},
550         {0x1da, MSRTYPE_RDWR, MSR2(0,0), "MSR_LASTBRANCH_TOS", "", {
551                 { BITS_EOT }
552         }},
553         {0x1db, MSRTYPE_RDWR, MSR2(0,0), "MSR_LASTBRANCH_0", "", {
554                 { BITS_EOT }
555         }},
556         {0x1dd, MSRTYPE_RDWR, MSR2(0,0), "MSR_LASTBRANCH_2", "", {
557                 { BITS_EOT }
558         }},
559         {0x1de, MSRTYPE_RDWR, MSR2(0,0), "MSR_LASTBRANCH_3", "", {
560                 { BITS_EOT }
561         }},
562         {0x277, MSRTYPE_RDWR, MSR2(0,0), "IA32_PAT", "", {
563                 { BITS_EOT }
564         }},
565         {0x600, MSRTYPE_RDWR, MSR2(0,0), "IA32_DS_AREA", "", {
566                 { BITS_EOT }
567         }},
568         { MSR_EOT }
569 };