blob: a23a99e606d15eaa732535f7d0e16a1e5f855c12 [file] [log] [blame]
Anton Kochkov7c634ae2011-06-20 23:14:22 +04001/*
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.
Anton Kochkov7c634ae2011-06-20 23:14:22 +040014 */
15
16#include "msrtool.h"
17
Anton Kochkov59b36f12012-07-21 07:29:48 +040018int intel_pentium4_later_probe(const struct targetdef *target, const struct cpuid_t *id) {
Lubomir Rintel199a23c2017-01-22 22:19:24 +010019 return ((VENDOR_INTEL == id->vendor) &&
20 (0xf == id->family) && (
Anton Kochkovffbbecc2012-07-04 07:31:37 +040021 (0x3 == id->model) ||
22 (0x4 == id->model)
23 ));
Anton Kochkov7c634ae2011-06-20 23:14:22 +040024}
25
26const struct msrdef intel_pentium4_later_msrs[] = {
Patrick Georgi5c65d002020-01-29 13:45:45 +010027 {0x0, MSRTYPE_RDWR, MSR2(0, 0), "IA32_P5_MC_ADDR", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +040028 { BITS_EOT }
29 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010030 {0x1, MSRTYPE_RDWR, MSR2(0, 0), "IA32_P5_MC_TYPE", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +040031 { BITS_EOT }
32 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010033 {0x6, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MONITOR_FILTER_LINE_SIZE", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +040034 { BITS_EOT }
35 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010036 {0x10, MSRTYPE_RDWR, MSR2(0, 0), "IA32_TIME_STAMP_COUNTER", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020037 { BITS_EOT }
38 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010039 {0x17, MSRTYPE_RDWR, MSR2(0, 0), "IA32_PLATFORM_ID", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +040040 { BITS_EOT }
41 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010042 {0x1b, MSRTYPE_RDWR, MSR2(0, 0), "IA32_APIC_BASE", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020043 { BITS_EOT }
44 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010045 {0x2a, MSRTYPE_RDWR, MSR2(0, 0), "MSR_EBC_HARD_POWERON", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +040046 { BITS_EOT }
47 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010048 {0x2b, MSRTYPE_RDWR, MSR2(0, 0), "MSR_EBC_SOFT_POWERON", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +040049 { BITS_EOT }
50 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010051 {0x2c, MSRTYPE_RDWR, MSR2(0, 0), "MSR_EBC_FREQUENCY_ID", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +040052 { BITS_EOT }
53 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010054 {0x3a, MSRTYPE_RDWR, MSR2(0, 0), "IA32_FEATURE_CONTROL", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020055 { BITS_EOT }
56 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010057 {0x79, MSRTYPE_RDWR, MSR2(0, 0), "IA32_BIOS_UPDT_TRIG", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020058 { BITS_EOT }
59 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010060 {0x8b, MSRTYPE_RDWR, MSR2(0, 0), "IA32_BIOS_SIGN_ID", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020061 { BITS_EOT }
62 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010063 {0x9b, MSRTYPE_RDWR, MSR2(0, 0), "IA32_SMM_MONITOR_CTL", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020064 { BITS_EOT }
65 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010066 {0xfe, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRRCAP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020067 { BITS_EOT }
68 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010069 {0x174, MSRTYPE_RDWR, MSR2(0, 0), "IA32_SYSENTER_CS", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020070 { BITS_EOT }
71 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010072 {0x175, MSRTYPE_RDWR, MSR2(0, 0), "IA32_SYSENTER_ESP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020073 { BITS_EOT }
74 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010075 {0x176, MSRTYPE_RDWR, MSR2(0, 0), "IA32_SYSENTER_EIP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020076 { BITS_EOT }
77 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010078 {0x179, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MCG_CAP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020079 { BITS_EOT }
80 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010081 {0x17a, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MCG_STATUS", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020082 { BITS_EOT }
83 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010084 {0x17b, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MCG_CTL", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020085 { BITS_EOT }
86 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010087 {0x180, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RAX", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020088 { BITS_EOT }
89 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010090 {0x181, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RBX", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020091 { BITS_EOT }
92 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010093 {0x182, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RCX", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020094 { BITS_EOT }
95 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010096 {0x183, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RDX", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +020097 { BITS_EOT }
98 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +010099 {0x184, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RSI", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200100 { BITS_EOT }
101 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100102 {0x185, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RDI", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200103 { BITS_EOT }
104 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100105 {0x186, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RBP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200106 { BITS_EOT }
107 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100108 {0x187, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RSP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200109 { BITS_EOT }
110 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100111 {0x188, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RFLAGS", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200112 { BITS_EOT }
113 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100114 {0x189, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RIP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200115 { BITS_EOT }
116 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100117 {0x18a, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_MISC", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200118 { BITS_EOT }
119 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100120 {0x18b, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RESERVED1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200121 { BITS_EOT }
122 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100123 {0x18c, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RESERVED2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200124 { BITS_EOT }
125 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100126 {0x18d, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RESERVED3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200127 { BITS_EOT }
128 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100129 {0x18e, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RESERVED4", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200130 { BITS_EOT }
131 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100132 {0x18f, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_RESERVED5", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200133 { BITS_EOT }
134 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100135 {0x190, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_R8", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200136 { BITS_EOT }
137 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100138 {0x191, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_R9", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200139 { BITS_EOT }
140 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100141 {0x192, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_R10", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200142 { BITS_EOT }
143 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100144 {0x193, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_R11", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200145 { BITS_EOT }
146 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100147 {0x194, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_R12", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200148 { BITS_EOT }
149 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100150 {0x195, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_R13", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200151 { BITS_EOT }
152 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100153 {0x196, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_R14", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200154 { BITS_EOT }
155 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100156 {0x197, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MCG_R15", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200157 { BITS_EOT }
158 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100159 {0x198, MSRTYPE_RDWR, MSR2(0, 0), "IA32_PERF_STATUS", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200160 { BITS_EOT }
161 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100162 {0x199, MSRTYPE_RDWR, MSR2(0, 0), "IA32_PERF_CTL", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200163 { BITS_EOT }
164 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100165 {0x19a, MSRTYPE_RDWR, MSR2(0, 0), "IA32_CLOCK_MODULATION", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200166 { BITS_EOT }
167 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100168 {0x19b, MSRTYPE_RDWR, MSR2(0, 0), "IA32_THERM_INTERRUPT", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200169 { BITS_EOT }
170 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100171 {0x19c, MSRTYPE_RDWR, MSR2(0, 0), "IA32_THERM_STATUS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400172 { BITS_EOT }
173 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100174 {0x19d, MSRTYPE_RDWR, MSR2(0, 0), "MSR_THERM2_CTL", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400175 { BITS_EOT }
176 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100177 {0x1a0, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MISC_ENABLE", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400178 { BITS_EOT }
179 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100180 {0x1a1, MSRTYPE_RDWR, MSR2(0, 0), "MSR_PLATFORM_BRV", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400181 { BITS_EOT }
182 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100183 {0x1d7, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LER_FROM_LIP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200184 { BITS_EOT }
185 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100186 {0x1d8, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LER_TO_LIP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200187 { BITS_EOT }
188 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100189 {0x1d9, MSRTYPE_RDWR, MSR2(0, 0), "MSR_DEBUGCTLA", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200190 { BITS_EOT }
191 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100192 {0x1da, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200193 { BITS_EOT }
194 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100195 {0x1db, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200196 { BITS_EOT }
197 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100198 {0x1dd, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200199 { BITS_EOT }
200 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100201 {0x1de, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200202 { BITS_EOT }
203 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100204 {0x200, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSBASE0", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400205 { BITS_EOT }
206 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100207 {0x201, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSMASK0", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400208 { BITS_EOT }
209 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100210 {0x202, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSBASE1", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400211 { BITS_EOT }
212 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100213 {0x203, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSMASK1", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400214 { BITS_EOT }
215 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100216 {0x204, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSBASE2", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400217 { BITS_EOT }
218 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100219 {0x205, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSMASK2", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400220 { BITS_EOT }
221 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100222 {0x206, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSBASE3", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400223 { BITS_EOT }
224 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100225 {0x207, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSMASK3", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400226 { BITS_EOT }
227 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100228 {0x208, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSBASE4", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400229 { BITS_EOT }
230 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100231 {0x209, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSMASK4", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400232 { BITS_EOT }
233 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100234 {0x20a, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSBASE5", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400235 { BITS_EOT }
236 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100237 {0x20b, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSMASK5", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400238 { BITS_EOT }
239 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100240 {0x20c, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSBASE6", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400241 { BITS_EOT }
242 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100243 {0x20d, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSMASK6", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400244 { BITS_EOT }
245 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100246 {0x20e, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSBASE7", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400247 { BITS_EOT }
248 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100249 {0x20f, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_PHYSMASK7", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400250 { BITS_EOT }
251 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100252 {0x250, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX64K_00000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400253 { BITS_EOT }
254 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100255 {0x258, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX16K_80000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400256 { BITS_EOT }
257 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100258 {0x259, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX16K_A0000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400259 { BITS_EOT }
260 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100261 {0x268, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX4K_C0000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400262 { BITS_EOT }
263 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100264 {0x269, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX4K_C8000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400265 { BITS_EOT }
266 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100267 {0x26a, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX4K_D0000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400268 { BITS_EOT }
269 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100270 {0x26b, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX4K_D8000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400271 { BITS_EOT }
272 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100273 {0x26c, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX4K_E0000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400274 { BITS_EOT }
275 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100276 {0x26d, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX4K_E8000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400277 { BITS_EOT }
278 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100279 {0x26e, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX4K_F0000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400280 { BITS_EOT }
281 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100282 {0x26f, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_FIX4K_F8000", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400283 { BITS_EOT }
284 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100285 {0x277, MSRTYPE_RDWR, MSR2(0, 0), "IA32_PAT", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200286 { BITS_EOT }
287 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100288 {0x2ff, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MTRR_DEF_TYPE", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400289 { BITS_EOT }
290 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100291 {0x300, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_COUNTER0", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400292 { BITS_EOT }
293 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100294 {0x301, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_COUNTER1", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400295 { BITS_EOT }
296 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100297 {0x302, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_COUNTER2", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400298 { BITS_EOT }
299 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100300 {0x303, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_COUNTER3", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400301 { BITS_EOT }
302 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100303 {0x304, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_COUNTER0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200304 { BITS_EOT }
305 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100306 {0x305, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_COUNTER1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200307 { BITS_EOT }
308 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100309 {0x306, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_COUNTER2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200310 { BITS_EOT }
311 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100312 {0x307, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_COUNTER3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200313 { BITS_EOT }
314 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100315 {0x308, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_COUNTER0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200316 { BITS_EOT }
317 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100318 {0x309, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_COUNTER1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200319 { BITS_EOT }
320 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100321 {0x30a, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_COUNTER2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200322 { BITS_EOT }
323 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100324 {0x30b, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_COUNTER3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200325 { BITS_EOT }
326 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100327 {0x30c, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_COUNTER0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200328 { BITS_EOT }
329 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100330 {0x30d, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_COUNTER1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200331 { BITS_EOT }
332 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100333 {0x30e, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_COUNTER2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200334 { BITS_EOT }
335 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100336 {0x30f, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_COUNTER3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200337 { BITS_EOT }
338 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100339 {0x310, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_COUNTER4", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200340 { BITS_EOT }
341 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100342 {0x311, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_COUNTER5", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200343 { BITS_EOT }
344 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100345 {0x360, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_CCCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200346 { BITS_EOT }
347 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100348 {0x361, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_CCCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200349 { BITS_EOT }
350 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100351 {0x362, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_CCCR2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200352 { BITS_EOT }
353 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100354 {0x363, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_CCCR3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200355 { BITS_EOT }
356 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100357 {0x364, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_CCCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200358 { BITS_EOT }
359 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100360 {0x365, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_CCCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200361 { BITS_EOT }
362 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100363 {0x366, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_CCCR2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200364 { BITS_EOT }
365 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100366 {0x367, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_CCCR3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200367 { BITS_EOT }
368 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100369 {0x368, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_CCCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200370 { BITS_EOT }
371 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100372 {0x369, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_CCCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200373 { BITS_EOT }
374 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100375 {0x36a, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_CCCR2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200376 { BITS_EOT }
377 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100378 {0x36b, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_CCCR3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200379 { BITS_EOT }
380 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100381 {0x36c, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_CCCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200382 { BITS_EOT }
383 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100384 {0x36d, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_CCCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200385 { BITS_EOT }
386 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100387 {0x36e, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_CCCR2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200388 { BITS_EOT }
389 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100390 {0x36f, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_CCCR3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200391 { BITS_EOT }
392 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100393 {0x370, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_CCCR4", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200394 { BITS_EOT }
395 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100396 {0x371, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_CCCR5", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200397 { BITS_EOT }
398 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100399 {0x3a0, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BSU_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200400 { BITS_EOT }
401 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100402 {0x3a1, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BSU_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200403 { BITS_EOT }
404 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100405 {0x3a2, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FSB_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200406 { BITS_EOT }
407 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100408 {0x3a3, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FSB_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200409 { BITS_EOT }
410 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100411 {0x3a4, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FIRM_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200412 { BITS_EOT }
413 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100414 {0x3a5, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FIRM_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200415 { BITS_EOT }
416 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100417 {0x3a6, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200418 { BITS_EOT }
419 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100420 {0x3a7, MSRTYPE_RDWR, MSR2(0, 0), "MSR_FLAME_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200421 { BITS_EOT }
422 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100423 {0x3a8, MSRTYPE_RDWR, MSR2(0, 0), "MSR_DAC_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200424 { BITS_EOT }
425 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100426 {0x3a9, MSRTYPE_RDWR, MSR2(0, 0), "MSR_DAC_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200427 { BITS_EOT }
428 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100429 {0x3aa, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MOB_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200430 { BITS_EOT }
431 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100432 {0x3ab, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MOB_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200433 { BITS_EOT }
434 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100435 {0x3ac, MSRTYPE_RDWR, MSR2(0, 0), "MSR_PMH_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200436 { BITS_EOT }
437 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100438 {0x3ad, MSRTYPE_RDWR, MSR2(0, 0), "MSR_PMH_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200439 { BITS_EOT }
440 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100441 {0x3ae, MSRTYPE_RDWR, MSR2(0, 0), "MSR_SAAT_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200442 { BITS_EOT }
443 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100444 {0x3af, MSRTYPE_RDWR, MSR2(0, 0), "MSR_SAAT_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200445 { BITS_EOT }
446 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100447 {0x3b0, MSRTYPE_RDWR, MSR2(0, 0), "MSR_U2L_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200448 { BITS_EOT }
449 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100450 {0x3b1, MSRTYPE_RDWR, MSR2(0, 0), "MSR_U2L_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200451 { BITS_EOT }
452 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100453 {0x3b2, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200454 { BITS_EOT }
455 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100456 {0x3b3, MSRTYPE_RDWR, MSR2(0, 0), "MSR_BPU_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200457 { BITS_EOT }
458 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100459 {0x3b4, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IS_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200460 { BITS_EOT }
461 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100462 {0x3b5, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IS_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200463 { BITS_EOT }
464 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100465 {0x3b6, MSRTYPE_RDWR, MSR2(0, 0), "MSR_ITLB_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200466 { BITS_EOT }
467 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100468 {0x3b7, MSRTYPE_RDWR, MSR2(0, 0), "MSR_ITLB_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200469 { BITS_EOT }
470 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100471 {0x3b8, MSRTYPE_RDWR, MSR2(0, 0), "MSR_CRU_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200472 { BITS_EOT }
473 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100474 {0x3b9, MSRTYPE_RDWR, MSR2(0, 0), "MSR_CRU_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200475 { BITS_EOT }
476 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100477 {0x3ba, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200478 { BITS_EOT }
479 }},
480 /* MSR_IQ_ESCR1 MSR is not available on later processors.
481 It is only available on processor family 0FH, models 01H-02H */
Patrick Georgi5c65d002020-01-29 13:45:45 +0100482 //{0x3bb, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IQ_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200483 // { BITS_EOT }
484 //}},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100485 {0x3bc, MSRTYPE_RDWR, MSR2(0, 0), "MSR_RAT_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200486 { BITS_EOT }
487 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100488 {0x3bd, MSRTYPE_RDWR, MSR2(0, 0), "MSR_RAT_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200489 { BITS_EOT }
490 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100491 {0x3be, MSRTYPE_RDWR, MSR2(0, 0), "MSR_SSU_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200492 { BITS_EOT }
493 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100494 {0x3c0, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200495 { BITS_EOT }
496 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100497 {0x3c1, MSRTYPE_RDWR, MSR2(0, 0), "MSR_MS_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200498 { BITS_EOT }
499 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100500 {0x3c2, MSRTYPE_RDWR, MSR2(0, 0), "MSR_TBPU_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200501 { BITS_EOT }
502 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100503 {0x3c3, MSRTYPE_RDWR, MSR2(0, 0), "MSR_TBPU_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200504 { BITS_EOT }
505 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100506 {0x3c4, MSRTYPE_RDWR, MSR2(0, 0), "MSR_TC_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200507 { BITS_EOT }
508 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100509 {0x3c5, MSRTYPE_RDWR, MSR2(0, 0), "MSR_TC_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200510 { BITS_EOT }
511 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100512 {0x3c8, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IX_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200513 { BITS_EOT }
514 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100515 {0x3c9, MSRTYPE_RDWR, MSR2(0, 0), "MSR_IX_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200516 { BITS_EOT }
517 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100518 {0x3ca, MSRTYPE_RDWR, MSR2(0, 0), "MSR_ALF_ESCR0", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200519 { BITS_EOT }
520 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100521 {0x3cb, MSRTYPE_RDWR, MSR2(0, 0), "MSR_ALF_ESCR1", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200522 { BITS_EOT }
523 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100524 {0x3cc, MSRTYPE_RDWR, MSR2(0, 0), "MSR_CRU_ESCR2", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200525 { BITS_EOT }
526 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100527 {0x3cd, MSRTYPE_RDWR, MSR2(0, 0), "MSR_CRU_ESCR3", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200528 { BITS_EOT }
529 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100530 {0x3e0, MSRTYPE_RDWR, MSR2(0, 0), "MSR_CRU_ESCR4", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200531 { BITS_EOT }
532 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100533 {0x3e1, MSRTYPE_RDWR, MSR2(0, 0), "MSR_CRU_ESCR5", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200534 { BITS_EOT }
535 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100536 {0x3f0, MSRTYPE_RDWR, MSR2(0, 0), "MSR_TC_PRECISE_EVENT", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200537 { BITS_EOT }
538 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100539 {0x3f1, MSRTYPE_RDWR, MSR2(0, 0), "MSR_PEBS_ENABLE", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200540 { BITS_EOT }
541 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100542 {0x3f2, MSRTYPE_RDWR, MSR2(0, 0), "MSR_PEBS_MATRIX_VERT", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200543 { BITS_EOT }
544 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100545 {0x400, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC0_CTL", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400546 { BITS_EOT }
547 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100548 {0x401, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC0_STATUS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400549 { BITS_EOT }
550 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100551 {0x402, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC0_ADDR", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400552 { BITS_EOT }
553 }},
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200554 /* The IA32_MC0_MISC MSR is either not implemented or does
555 not contain additional information if the MISCV flag in
556 the IA32_MC0_STATUS register is clear. When not implemented
557 in the processor, all reads and writes to this MSR will
558 cause a generalprotection exception. */
Patrick Georgi5c65d002020-01-29 13:45:45 +0100559 //{0x403, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC0_MISC", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200560 // { BITS_EOT }
561 //}},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100562 {0x404, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC1_CTL", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400563 { BITS_EOT }
564 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100565 {0x405, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC1_STATUS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400566 { BITS_EOT }
567 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100568 {0x406, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC1_ADDR", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400569 { BITS_EOT }
570 }},
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200571 /* The IA32_MC1_MISC MSR is either not implemented or does
572 not contain additional information if the MISCV flag in
573 the IA32_MC1_STATUS register is clear. When not implemented
574 in the processor, all reads and writes to this MSR will
575 cause a generalprotection exception.*/
Patrick Georgi5c65d002020-01-29 13:45:45 +0100576 //{0x407, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC1_MISC", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200577 // { BITS_EOT }
578 //}},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100579 {0x408, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC2_CTL", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400580 { BITS_EOT }
581 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100582 {0x409, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC2_STATUS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400583 { BITS_EOT }
584 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100585 {0x40a, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC2_ADDR", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400586 { BITS_EOT }
587 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100588 {0x40b, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC2_MISC", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400589 { BITS_EOT }
590 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100591 {0x40c, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC3_CTL", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400592 { BITS_EOT }
593 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100594 {0x40d, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC3_STATUS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400595 { BITS_EOT }
596 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100597 {0x40e, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC3_ADDR", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400598 { BITS_EOT }
599 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100600 {0x40f, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC3_MISC", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400601 { BITS_EOT }
602 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100603 {0x410, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC4_CTL", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400604 { BITS_EOT }
605 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100606 {0x411, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC4_STATUS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400607 { BITS_EOT }
608 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100609 {0x412, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC4_ADDR", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400610 { BITS_EOT }
611 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100612 {0x413, MSRTYPE_RDWR, MSR2(0, 0), "IA32_MC4_MISC", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400613 { BITS_EOT }
614 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100615 {0x481, MSRTYPE_RDWR, MSR2(0, 0), "IA32_VMX_PINBASED_CTLS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400616 { BITS_EOT }
617 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100618 {0x482, MSRTYPE_RDWR, MSR2(0, 0), "IA32_VMX_PROCBASED_CTLS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400619 { BITS_EOT }
620 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100621 {0x483, MSRTYPE_RDWR, MSR2(0, 0), "IA32_VMX_EXIT_CTLS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400622 { BITS_EOT }
623 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100624 {0x484, MSRTYPE_RDWR, MSR2(0, 0), "IA32_VMX_ENTRY_CTLS", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400625 { BITS_EOT }
626 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100627 {0x485, MSRTYPE_RDWR, MSR2(0, 0), "IA32_VMX_MISC", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400628 { BITS_EOT }
629 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100630 {0x487, MSRTYPE_RDWR, MSR2(0, 0), "IA32_VMX_CR0_FIXED1", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400631 { BITS_EOT }
632 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100633 {0x489, MSRTYPE_RDWR, MSR2(0, 0), "IA32_VMX_CR4_FIXED1", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400634 { BITS_EOT }
635 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100636 {0x48b, MSRTYPE_RDWR, MSR2(0, 0), "IA32_VMX_PROCBASED_CTLS2", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400637 { BITS_EOT }
638 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100639 {0x600, MSRTYPE_RDWR, MSR2(0, 0), "IA32_DS_AREA", "", {
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400640 { BITS_EOT }
641 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100642 {0x680, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_0_FROM_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200643 { BITS_EOT }
644 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100645 {0x682, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_2_FROM_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200646 { BITS_EOT }
647 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100648 {0x684, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_4_FROM_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200649 { BITS_EOT }
650 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100651 {0x686, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_6_FROM_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200652 { BITS_EOT }
653 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100654 {0x688, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_8_FROM_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200655 { BITS_EOT }
656 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100657 {0x68a, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_10_FROM_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200658 { BITS_EOT }
659 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100660 {0x68c, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_12_FROM_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200661 { BITS_EOT }
662 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100663 {0x68e, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_14_FROM_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200664 { BITS_EOT }
665 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100666 {0x6c0, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_0_TO_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200667 { BITS_EOT }
668 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100669 {0x6c2, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_2_TO_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200670 { BITS_EOT }
671 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100672 {0x6c4, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_4_TO_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200673 { BITS_EOT }
674 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100675 {0x6c6, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_6_TO_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200676 { BITS_EOT }
677 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100678 {0x6c8, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_8_TO_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200679 { BITS_EOT }
680 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100681 {0x6ca, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_10_TO_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200682 { BITS_EOT }
683 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100684 {0x6cc, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_12_TO_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200685 { BITS_EOT }
686 }},
Patrick Georgi5c65d002020-01-29 13:45:45 +0100687 {0x6ce, MSRTYPE_RDWR, MSR2(0, 0), "MSR_LASTBRANCH_14_TO_IP", "", {
Elyes HAOUAS7ab98fb2016-07-22 17:46:52 +0200688 { BITS_EOT }
689 }},
Anton Kochkov7c634ae2011-06-20 23:14:22 +0400690 { MSR_EOT }
691};