MSR.LST 66 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782
  1. MODEL-SPECIFIC REGISTERS Release 60 Last change 03jan99
  2. Copyright (c) 1996,1997,1998,1999 Ralf Brown
  3. --------!---Note-----------------------------
  4. Note: except where mentioned otherwise, Pentium information also applies to
  5. the PentiumMMX, and Pentium Pro information also applies to the
  6. Pentium II
  7. ----------S00000000--------------------------
  8. MSR 00000000h - Pentium, Pentium Pro - MACHINE CHECK EXCEPTION ADDRESS
  9. Size: 32-36 bits
  10. Access: Read
  11. Desc: on any Machine Check exception (INT 12), this MSR contains the physical
  12. address at which the exception occurred
  13. Notes: also supported by AMD Am5k86, K5, and K6; however, the K6 does not
  14. actually support the machine check -- this register may be written
  15. on the K6 to emulate that functionality
  16. this register does not exist on the PentiumII, but will not cause an
  17. exception when accessed
  18. SeeAlso: MSR 00000001h,MSR 80000000h,INT 12"MACHINE CHECK"
  19. ----------S00000001--------------------------
  20. MSR 00000001h - Pentium, Pentium Pro - MACHINE CHECK EXCEPTION TYPE
  21. Size: 6 bits
  22. Access: Read
  23. Desc: when a Machine Check exception occurs, this register contains the
  24. reason for the exception
  25. Notes: also supported by AMD Am5k86, K5, and K6; however, the K6 does not
  26. actually support the machine check -- this register may be written
  27. on the K6 to emulate that functionality
  28. this register does not exist on the PentiumII, but will not cause an
  29. exception when accessed
  30. SeeAlso: MSR 00000000h,MSR 80000001h,INT 12"MACHINE CHECK"
  31. Bitfields for Machine Check Exception type (MSR 00000001h):
  32. Bit(s) Description (Table R0001)
  33. 63-6 reserved (0)
  34. 5 "FERI" Fan Error Indicator (Pentium OverDrive only) -- CPU overheated
  35. (once set, this bit remains set even through CPU reset)
  36. 4 bus cycle causing exception was locked
  37. 3 state of M/IO# pin during bus cycle
  38. 2 state of D/C# pin during bus cycle
  39. 1 state of W/R# pin during bus cycle
  40. 0 Machine Check pending (cleared by reading this MSR)
  41. ----------S00000002--------------------------
  42. MSR 00000002h - Pentium - (TR1) PARITY REVERSAL TEST REGISTER
  43. Size: 14 bits
  44. Access: Write
  45. SeeAlso: MSR 00000004h,MSR 80000002h
  46. Bitfields for Parity Reversal Test Register (TR1):
  47. Bit(s) Description (Table R0002)
  48. 63-14 reserved (0)
  49. 13 microcode
  50. 12 Data TLB data
  51. 11 Data TLB tag
  52. 10 Data Cache data
  53. 9 Data Cache tag
  54. 8 Code TLB data
  55. 7 Code TLB tag
  56. 6 "ID3" data cache odd bits 129-255
  57. 5 "ID2" data cache even bits 128-254
  58. 4 "ID1" data cache odd bits 1-127
  59. 3 "ID0" data cache even bits 0-126
  60. 2 instruction cache tag
  61. 1 do not go into SHUTDOWN mode on parity error
  62. 0 (read/write-clear) "Parity Error Summary" set on any parity error
  63. Notes: bits 2-13 indicate that the parity should be reversed for the given
  64. subsystem, thus always forcing a parity error
  65. the Centaur (IDT) WinChip C6 supports bit 1 (no shutdown)
  66. ----------S00000003--------------------------
  67. MSR 00000003h - Pentium - INVALID
  68. Note: attempted accesses to this MSR cause an exception
  69. SeeAlso: MSR 80000003h,MSR 0000000Fh
  70. ----------S00000003--------------------------
  71. MSR 00000003h - Cyrix M2 - TEST DATA
  72. SeeAlso: MSR 00000004h"Cyrix"
  73. ----------S00000004--------------------------
  74. MSR 00000004h - Pentium - (TR2) INSTRUCTION CACHE END BITS
  75. Size: 4 bits
  76. Access: Read/Write
  77. Note: documented as reserved on Pentium MMX
  78. SeeAlso: MSR 00000002h,MSR 00000005h,MSR 80000004h
  79. Bitfields for Instruction Cache End Bits (TR2):
  80. Bit(s) Description (Table R0003)
  81. 63-4 reserved (0)
  82. 3-0 end bits (each set bit indicates the last byte of an instruction in
  83. TR3 during code cache access)
  84. Note: when a new line is written into the code cache, all end bits are set;
  85. the instruction decoder then clears those bits corresponding to
  86. bytes which are not the last byte of an instruction
  87. SeeAlso: #R0004
  88. ----------S00000004--------------------------
  89. MSR 00000004h - Cyrix M2 - TEST ADDRESS
  90. SeeAlso: MSR 00000003h"Cyrix",MSR 00000005h"Cyrix"
  91. ----------S00000005--------------------------
  92. MSR 00000005h - Pentium - (TR3) CACHE DATA TEST REGISTER
  93. Size: 32 bits
  94. Access: Read/Write
  95. SeeAlso: MSR 00000004h,MSR 00000006h,MSR 80000005h
  96. Bitfields for Cache Data Test Register (TR3):
  97. Bit(s) Description (Table R0004)
  98. 63-32 reserved (0)
  99. 31-0 data read/written from/to cache (code or data)
  100. SeeAlso: #R0005
  101. ----------S00000005--------------------------
  102. MSR 00000005h - Cyrix M2 - COMMAND/STATUS
  103. SeeAlso: MSR 00000004h"Cyrix"
  104. ----------S00000006--------------------------
  105. MSR 00000006h - Pentium - (TR4) CACHE TAG
  106. Size: 32 bits
  107. Access: Read/Write
  108. SeeAlso: MSR 00000005h,MSR 00000007h,MSR 80000006h
  109. Bitfields for Cache Tag Test Register (TR4):
  110. Bit(s) Description (Table R0005)
  111. 63-32 reserved (0)
  112. 31-8 cache tag (bits 35-12 of address)
  113. 7-3 reserved (0)
  114. 2 LRU (P54C)
  115. =0 Way 0
  116. =1 Way 1
  117. 4-2 LRU (P55C [PentiumMMX])
  118. =X00 Way 0
  119. =X10 Way 1
  120. =0X1 Way 2
  121. =1X1 Way 3
  122. 1-0 Valid
  123. ---code cache (selected by TR5)---
  124. x0 cache line invalid
  125. x1 cache line valid
  126. ---data cache (selected by TR5)---
  127. 00 cache line invalid
  128. 01 cache line shared
  129. 10 cache line exclusive
  130. 11 cache line modified
  131. SeeAlso: #R0004,#R0006
  132. ----------S00000007--------------------------
  133. MSR 00000007h - Pentium - (TR5) CACHE CONTROL
  134. Size: 15 bits
  135. Access: Write
  136. SeeAlso: MSR 00000006h,MSR 00000008h,MSR 80000007h
  137. Bitfields for Cache Control Test Register (TR5):
  138. Bit(s) Description (Table R0006)
  139. 63-20 reserved (0)
  140. 19 entry[1] (PentiumMMX only)
  141. combined with bit 12, selects Way within cache set
  142. 18-15 reserved (0)
  143. 14 cache write-back mode (instead of write-through) enabled
  144. 13 select data cache instead of code cache
  145. 12 select Way within cache set
  146. 11-5 cache set number
  147. 4-2 buffer select (specify which 32-bit portion of cache line to access)
  148. 1-0 control
  149. 00 normal operation
  150. 01 test write
  151. 10 test read
  152. 11 flush (action controlled by TR7)
  153. TR7.CD/TR7.WD Action
  154. 0 x invalidate code cache line
  155. 1 0 invalidate data cache line, but don't writeback
  156. 1 1 invalidate data cache line, writeback if dirty
  157. SeeAlso: #R0004,#R0005
  158. ----------S00000008--------------------------
  159. MSR 00000008h - Pentium, PentiumMMX - (TR6) TLB COMMAND
  160. Size: 32 bits
  161. Access: Read/Write
  162. SeeAlso: MSR 00000007h,MSR 00000009h,MSR 80000008h
  163. Bitfields for Pentium TLB Command Test Register:
  164. Bit(s) Description (Table R0007)
  165. 63-32 reserved (0)
  166. 31-12 linear address
  167. 11 TLB entry is valid
  168. 10 page is dirty (has been written to)
  169. 9 page may only be accessed from Ring 0
  170. 8 page may be written
  171. 7-3 reserved (0)
  172. 2 page is 4M instead of 4K
  173. 1 data TLB instead of code TLB
  174. 0 operation (0=write, 1=read)
  175. SeeAlso: #R0008
  176. ----------S00000009--------------------------
  177. MSR 00000009h - Pentium, PentiumMMX - (TR7) TLB DATA
  178. Size: 32 bits
  179. Access: Read/Write
  180. SeeAlso: MSR 00000008h,MSR 0000000Bh,MSR 80000009h
  181. Bitfields for Pentium TLB Data Test Register (TR7):
  182. Bit(s) Description (Table R0008)
  183. 63-32 reserved (0)
  184. 31-12 physical address
  185. 11 "CD" Page Cache Disable
  186. 10 "WB" Page Write-Through
  187. 9-7 TLB Least-Recently Used value (non-MMX Pentium only)
  188. 6-5 reserved (0) (P54C)
  189. 6-5 bits 5-4 of TLB entry number (PentiumMMX only)
  190. 4 Hit Indicator
  191. 3-0 bits 3-0 of TLB entry number (PentiumMMX only)
  192. 3-2 TLB entry number (non-MMX Pentium)
  193. 1-0 reserved (0) (non-MMX Pentium)
  194. Note: if a write with bit 4 (Hit Indicator) set is followed by a read, the
  195. value returned in bit 4 indicates whether the selected address was
  196. found in the TLB; if found, bits 3-2 indicate which entry contained
  197. the hit
  198. SeeAlso: #R0007,#R0009
  199. ----------S0000000A--------------------------
  200. MSR 0000000Ah O - Pentium A-step - (TR8) 36-BIT TLB DATA TEST REGISTER
  201. Size: 4 bits
  202. Note: attempted accesses to this MSR cause an exception on any Pentium except
  203. A-step chips, since the 36-bit physical addressing feature was
  204. removed from the Pentium prior to general release
  205. SeeAlso: MSR 8000000Ah
  206. Bitfields for Pentium A-step 36-bit addressing Test Register (TR8):
  207. Bit(s) Description (Table R0009)
  208. 63-4 reserved (0)
  209. 3-0 high bits of physical address (A35-A32)
  210. SeeAlso: #R0008
  211. ----------S0000000B--------------------------
  212. MSR 0000000Bh - Pentium, PentiumMMX - (TR9) BRANCH TARGET BUFFER TAG
  213. Size: 32 bits
  214. Access: Read/Write
  215. SeeAlso: MSR 00000009h,MSR 0000000Ch,MSR 8000000Bh
  216. Bitfields for non-MMX Pentium Branch Target Buffer Tag (TR9):
  217. Bit(s) Description (Table R0010)
  218. 63-32 reserved (0)
  219. 31-6 tag address (bits 31-6 of last byte of branch)
  220. 5-2 reserved (0)
  221. 1-0 history (state of current branch)
  222. SeeAlso: #R0012,#R0013,#R0011
  223. Bitfields for PentiumMMX Branch Target Buffer Tag (TR9):
  224. Bit(s) Description (Table R0011)
  225. 63-32 reserved
  226. 31-8 tag address (bits 31-8 of last byte of branch)
  227. 7-6 offset (bits 1-0 of last byte of branch)
  228. 5 valid BTB entry
  229. 4 branch is predicted as taken
  230. 3-0 history (state of current branch)
  231. SeeAlso: #R0010
  232. ----------S0000000C--------------------------
  233. MSR 0000000Ch - Pentium, PentiumMMX - (TR10) BRANCH TARGET BUFFER TARGET
  234. Size: 32 bits
  235. Access: Read/Write
  236. SeeAlso: MSR 0000000Bh,MSR 0000000Dh,MSR 8000000Ch
  237. Bitfields for Pentium Branch Target Buffer Target (TR10):
  238. Bit(s) Description (Table R0012)
  239. 63-32 reserved (0)
  240. 31-0 target address
  241. SeeAlso: #R0010,#R0013
  242. ----------S0000000D--------------------------
  243. MSR 0000000Dh - Pentium, PentiumMMX - (TR11) BRANCH TARGET BUFFER CONTROL
  244. Size: 12 bits
  245. Access: Write
  246. SeeAlso: MSR 0000000Ch,MSR 0000000Eh,MSR 8000000Dh
  247. Bitfields for Pentium Branch Target Buffer Control (TR11):
  248. Bit(s) Description (Table R0013)
  249. 63-26 reserved (0)
  250. 25-24 branch type (PentiumMMX only)
  251. 00 conditional branch
  252. 01 unconditional jump
  253. 10 call
  254. 11 return
  255. 23-13 reserved (0)
  256. 12 bit 2 of test command (PentiumMMX only)
  257. 11-8 BTB set number to access (non-MMX)
  258. 11-8 BTB set number to access (PentiumMMX only)
  259. 7-6 BTB bank (PentiumMMX only)
  260. 5-4 reserved (0)
  261. 3-2 BTB entry (way) within set
  262. 1-0 test command
  263. 00 normal operation
  264. 01 test write
  265. 10 test read
  266. 11 flush
  267. 101 test read tag (PentiumMMX only)
  268. SeeAlso: #R0010,#R0012
  269. ----------S0000000E--------------------------
  270. MSR 0000000Eh - Pentium, K6, C6 - (TR12) NEW FEATURE CONTROL
  271. Size: 10 bits
  272. Access: Write
  273. SeeAlso: MSR 0000000Dh,MSR 8000000Eh
  274. Bitfields for Pentium New Feature Control (TR12):
  275. Bit(s) Description (Table R0014)
  276. 63-22 reserved (0)
  277. 21 low-power mode enable
  278. 20 (PentiumMMX only) Data Cache Inhibit (disable internal data cache)
  279. 19 (PentiumMMX only) Code Cache Inhibit (disable internal code cache)
  280. 18-15 reserved (0)
  281. 14 (CPUID=052Bh/052Ch) ignore interrupt immediately after CLI and before
  282. STI
  283. 13-10 reserved (0)
  284. 9 enable I/O instruction restart for SMM and use different interrupt
  285. priority
  286. 8 generate fast branch-trace message bus cycles
  287. 7 "FTR" ??? (documented as reserved) (0)
  288. 6 disable auto-halt feature (P54C only)
  289. 5 ??? (documented as reserved) (0)
  290. 4 disable internal APIC (non-MMX Pentium only)
  291. 3 Cache Inhibit (disable internal L1 cache)
  292. 2 Single-Pipe Execution (disable V pipeline)
  293. 1 enable special branch trace message cycle on BTB hit (default = 0)
  294. 0 disable branch prediction (no BTB)
  295. Notes: the AMD K6 only supports bit 3 (cache inhibit) of this register;
  296. all other bits should be set to zero
  297. the Centaur (IDT) WinChip C6 supports bits 9, 6, and 3 of this register
  298. ----------S0000000F--------------------------
  299. MSR 0000000Fh - Pentium - INVALID
  300. Note: attempted accesses to this MSR cause an exception
  301. SeeAlso: MSR 8000000Fh,MSR 00000003h
  302. ----------S00000010--------------------------
  303. MSR 00000010h - Pentium, Pentium Pro - TIME STAMP COUNTER REGISTER
  304. Size: 64 bits
  305. Access: Read/Write
  306. Desc: starting at 00000000h:00000000h on reset, this counter increments on
  307. every CPU-core clock cycle
  308. Notes: on a Pentium Pro, only the low 32 bits may be written; on writes, the
  309. high 32 bits are cleared to 00000000h
  310. also supported by Pentium II; AMD Am5k86,K5,K6; Cyrix 6x86MX; Centaur
  311. (IDT) WinChip C6
  312. SeeAlso: MSR 80000010h
  313. ----------S00000011--------------------------
  314. MSR 00000011h - Pentium, Cyrix 6x86MX - EVENT COUNTER SELECTION AND CONTROL
  315. Size: 26 bits
  316. Access: Read/Write
  317. Note: also supported by Cyrix 6x86MX and Centaur (IDT) WinChip C6
  318. SeeAlso: MSR 00000012h,MSR 00000013h,MSR 00000186h,MSR 80000011h
  319. Bitfields for Pentium Event Counter Control:
  320. Bit(s) Description (Table R0015)
  321. 63-27 reserved (0)
  322. 26 (Cyrix 6x86MX only) "ES1" bit 6 of event type for counter 1
  323. 25 external pin PM1 shows counter overflows instead of counter increments
  324. 24 counter 1 counts clock cycles instead of events
  325. 23 enable counter 1 counting in CPL3
  326. 22 enable counter 1 counting in CPL2-0
  327. 21-16 event type for counter 1 (see #R0017)
  328. 15-11 reserved
  329. 10 (Cyrix 6x86MX only) "ES0" bit 6 of event type for counter 0
  330. 9 external pin PM0 shows counter overflows instead of counter increments
  331. 8 counter 0 counts clock cycles instead of events
  332. 7 enable counter 0 counting in CPL3
  333. 6 enable counter 0 counting in CPL2-0
  334. 5-0 event type for counter 0 (see #R0017)
  335. SeeAlso: #R0016
  336. Bitfields for IDT WinChip C6 Event Counter Control:
  337. Bit(s) Description (Table R0016)
  338. 63-24 reserved
  339. 23-16 counter 1 control (see #R0018)
  340. 15-8 reserved
  341. 7-0 counter 0 control (see #R0018)
  342. SeeAlso: #R0015
  343. (Table R0017)
  344. Values for Pentium/6x86MX Event Counter event type:
  345. 00h data read
  346. 01h data write
  347. 02h data TLB miss
  348. 03h data read miss
  349. 04h data write miss
  350. 05h write hit to Modified/Exclusive cache line
  351. 06h data cache lines written back
  352. 07h external data cache snoops
  353. 08h external data cache snoop hits
  354. 09h simultaneous memory accesses in both pipes
  355. 0Ah data bank access conflict between U and V pipes
  356. 0Bh misaligned data memory or I/O references
  357. 0Ch code read
  358. 0Dh code TLB miss
  359. 0Eh code cache miss
  360. 0Fh any segment register load
  361. 10h (Pentium only) segment descriptor cache accessed
  362. 11h (Pentium only) segment descriptor cache hit
  363. 12h any branch
  364. 13h BTB hit
  365. 14h taken branch / BTB hit
  366. 15h pipeline flushes
  367. 16h total instructions executed
  368. 17h instruction executed in V pipe
  369. 18h bus utilization
  370. 19h pipeline stalled by write backups
  371. 1Ah pipeline stalled by data memory read
  372. 1Bh pipeline stalled by write to Modified/Exclusive cache line
  373. 1Ch locked bus cycle
  374. 1Dh I/O cycle
  375. 1Eh non-cacheable memory references
  376. 1Fh pipeline stalled by Address Generation Interlock
  377. 20h source/destination conflict
  378. 21h (undoc) decoding stalls (could only decode one instruction in a
  379. particular clock cycle, and that instruction was potentially
  380. pairable; i.e. if the following instruction could have executed in
  381. the V pipe, it didn't because it wasn't decoded in time)
  382. 22h floating-point operations
  383. 23h Breakpoint 0 match
  384. 24h Breakpoint 1 match
  385. 25h Breakpoint 2 match
  386. 26h Breakpoint 3 match
  387. 27h hardware interrupt
  388. 28h data read or data write
  389. 29h data read/write miss
  390. ---Pentium---
  391. 2Ah-3Fh reserved
  392. ---PentiumMMX---
  393. 2Ah bus ownership latency (counter 0, duration) or
  394. bus ownership transfers (counter 1)
  395. 2Bh MMX instructions executed in U pipe (counter 0) or V pipe (counter 1)
  396. 2Ch cache M-state line sharing (counter 0) or
  397. cache line sharing (counter 1)
  398. 2Dh EMMS instructions executed (counter 0) or
  399. transitions between MMX/FP (counter 1)
  400. 2Eh bus use due to processor activity (counter 0, duration) or
  401. writes to non-cacheable memory (counter 1)
  402. 2Fh saturating MMX instructions executed (counter 0) or
  403. saturations performed (counter 1)
  404. 30h number of cycles not in HLT state (counter 0) or
  405. number of cycles in HLT state (counter 1)
  406. 31h MMX instruction data reads (counter 0) or
  407. MMX instruction data read misses
  408. 32h floating-point stalls (counter 0) or taken branches (counter 1)
  409. 33h D1 starvation and FIFO is empty (counter 0) or
  410. D1 starvation and only one instruction in FIFO (counter 1)
  411. 34h MMX instruction data writes (counter 0) or
  412. MMX instruction data write misses (counter 1)
  413. 35h pipeline flushes due to wrong branch prediction (counter 0) or
  414. pl. flushes due to wrong branch pred. resolved in WB stage (counter 1)
  415. 36h misaligned data memory reference on MMX instruction (counter 0) or
  416. pipeline stalled waiting for MMX instruction data mem read (counter 1)
  417. 37h returns, predicted incorrectly or not at all (counter 0) or
  418. total returns predicted (counter 1)
  419. 38h clocks MMX instruction multiply unit interlock (counter 0) or
  420. clocks MOVD/MOVQ store stall (counter 1)
  421. 39h returns (counter 0 only)
  422. 3Ah BTB false entries (counter 0) or
  423. BTB prediction miss on not-taken branch (counter 1)
  424. 3Bh clocks MMX instruction stalled due to full write buffers (counter 0) or
  425. clocks stalled on MMX instruction write to E or M line (counter 1)
  426. ---6x86MX---
  427. 2Ah reserved
  428. 2Bh MMX instructions executed in X pipe (counter 0) or Y pipe (counter 1)
  429. 2Ch reserved
  430. 2Dh EMMS instructions executed (counter 0) or
  431. transitions between MMX/FP (counter 1)
  432. 2Eh reserved
  433. 2Fh saturating MMX instructions executed (counter 0) or
  434. saturations performed (counter 1)
  435. 30h reserved
  436. 31h MMX instruction data reads (counter 0 only)
  437. 32h taken branches (counter 1 only)
  438. 33h-36h reserved
  439. 37h returns, predicted incorrectly or not at all (counter 0) or
  440. total returns predicted (counter 1)
  441. 38h clocks MMX instruction multiply unit interlock (counter 0) or
  442. clocks MOVD/MOVQ store stall (counter 1)
  443. 39h returns (counter 0) or return stack buffer overflows (counter 1)
  444. 3Ah BTB false entries (counter 0) or
  445. BTB prediction miss on not-taken branch (counter 1)
  446. 3Bh clocks MMX instruction stalled due to full write buffers (counter 0) or
  447. clocks stalled on MMX instruction write to E or M line (counter 1)
  448. 3Ch-3Fh reserved
  449. 40h L2 TLB misses (code or data)
  450. 41h L2 TLB data miss
  451. 42h L2 TLB code miss
  452. 43h L1 TLB miss (code or data)
  453. 44h TLB flushes
  454. 45h TLB page invalidations
  455. 46h TLB page invalidations which hit
  456. 47h reserved
  457. 48h instructions decoded
  458. 49h-7Fh reserved
  459. SeeAlso: #R0015,#R0018
  460. (Table R0018)
  461. Values for IDT WinChip C6 event:
  462. 00h internal clocks
  463. 01h valid cycles reaching writebacks
  464. 02h x86 instructions
  465. 47h data read cache misses
  466. 4Ah data write cache misses
  467. 63h instruction fetch cache miss
  468. SeeAlso: #R0016,#R0017
  469. ----------S00000012--------------------------
  470. MSR 00000012h - Pentium, Cyrix 6x86MX - EVENT COUNTER #0
  471. Size: 40 bits
  472. Access: Read/Write
  473. Note: also supported by Cyrix 6x86MX and Centaur (IDT) WinChip C6
  474. SeeAlso: MSR 00000011h,MSR 00000013h,MSR 80000012h,MSR 000000C1h
  475. ----------S00000013--------------------------
  476. MSR 00000013h - Pentium, Cyrix 6x86MX - EVENT COUNTER #1
  477. Size: 40 bits
  478. Access: Read/Write
  479. Note: also supported by Cyrix 6x86MX and Centaur (IDT) WinChip C6
  480. SeeAlso: MSR 00000011h,MSR 00000012h,MSR 80000013h,MSR 000000C2h
  481. ----------S00000014--------------------------
  482. MSR 00000014h - Pentium P54C - bug?
  483. Note: returns 0 on all reads and ignores any writes for P54C processors with
  484. CPUID values <= 0524h, rather than causing an exception; possibly due
  485. to a microcode bug
  486. ----------S00000017--------------------------
  487. MSR 00000017h - Pentium Pro - ???
  488. ----------S00000018--------------------------
  489. MSR 00000018h - Pentium Pro - ???
  490. ----------S0000001B--------------------------
  491. MSR 0000001Bh - Pentium Pro, PentiumII - APIC BASE ADDRESS
  492. SeeAlso: MEM FEE00000h
  493. Bitfields for Pentium Pro/PentiumII MSR 0000001Bh:
  494. Bit(s) Description (Table R0019)
  495. 63-32 reserved
  496. 31-12 APIC base address bits 31-12
  497. 11 APIC global enable (can not be cleared except through hard reset)
  498. 10-9 reserved
  499. 8 this is the BootStrap Processor
  500. 7-0 reserved
  501. ----------S00000021--------------------------
  502. MSR 00000021h - Pentium II - ???
  503. ----------S0000002A--------------------------
  504. MSR 0000002Ah - Pentium Pro - "EBL_CR_POWERON"
  505. Size: 32 bits
  506. Access: Read/write
  507. Bitfields for Pentium Pro MSR 0000002Ah:
  508. Bit(s) Description (Table R0020)
  509. 31-27 reserved
  510. 26 (read-only) Low Power enable
  511. 25 reserved
  512. 24-22 (read-only) clock frequency ratio (see #R0021)
  513. 21-20 (read-only) symmetric arbitration ID
  514. 19-18 ???
  515. 17-16 (read-only) APIC cluster ID
  516. 15 (read-only) FRC [Funtional Redundancy Checking] mode enabled
  517. 14 (read-only) Power-on Reset Vector at 1M instead of 4G
  518. 13 (read-only) IN Order Queue depth is 1 instead of 8
  519. 12 (read-only) BINIT# observation enabled
  520. 11 ???
  521. 10 (read-only) AERR# observation enabled
  522. 9 Execute-BIST enabled
  523. 8 output tri-state enabled
  524. 7 disable BINIT# drive
  525. 6 disable BERR# for initiator internal errors
  526. 5 reserved
  527. 4 disable BERR# for initiator bus requests
  528. 3 disable AERR# drive
  529. 2 disable response error checking
  530. 1 disable data error checking
  531. 0 data bus uses ECC instead of parity
  532. (Table R0021)
  533. Values for Pentium Pro/PentiumII clock multiplier:
  534. 0 x2
  535. 1 x4
  536. 2 x3
  537. 4 x2.5
  538. 6 x3.5
  539. 15 x2
  540. SeeAlso: #R0020
  541. ----------S00000032--------------------------
  542. MSR 00000032h - Pentium Pro - ???
  543. ----------S00000033--------------------------
  544. MSR 00000033h - Pentium Pro, PentiumII - "TEST_CTL" TEST CONTROL REGISTER
  545. SeeAlso: 32 bits
  546. Bitfields for Pentium Pro MSR 0033h:
  547. Bit(s) Description (Table R0022)
  548. 31 (step sB1 and later) disable LOCK# for locked transactions which
  549. are split across a cache line boundary
  550. 30 (step sB1 and later) disable Instruction Streaming buffers
  551. --used to work around sB1 errata 58 and 59
  552. 29-0 reserved
  553. ----------S00000034--------------------------
  554. MSR 00000034h - Pentium Pro - ???
  555. ----------S0000003A--------------------------
  556. MSR 0000003Ah - Pentium Pro - ???
  557. ----------S0000003B--------------------------
  558. MSR 0000003Bh - PentiumII - ???
  559. ----------S00000050--------------------------
  560. MSR 00000050h - Pentium Pro - ???
  561. ----------S00000051--------------------------
  562. MSR 00000051h - Pentium Pro - ???
  563. ----------S00000052--------------------------
  564. MSR 00000052h - Pentium Pro - ???
  565. ----------S00000053--------------------------
  566. MSR 00000053h - Pentium Pro - ???
  567. ----------S00000054--------------------------
  568. MSR 00000054h - Pentium Pro - ???
  569. ----------S00000079--------------------------
  570. MSR 00000079h - Pentium Pro, PentiumII - BIOS UPDATE TRIGGER
  571. Size: 32 bits
  572. Access: Write
  573. Desc: writing the linear address of a microcode update block (see #00533)
  574. to this MSR cause the CPU to initiate a microcode load
  575. SeeAlso: INT 15/AX=D042h/BL=01h,MSR 0000008Bh
  576. ----------S00000082--------------------------
  577. MSR 00000082h - AMD Am5k86 (AMD-K5) - ARRAY ACCESS REGISTER
  578. Size: 64 bits
  579. Note: EDX remains unchanged after an RDMSR to simplify multiple accesses
  580. SeeAlso: MSR 00000083h
  581. Bitfields for AMD Am5k86 (AMD-K5) Array Access Register:
  582. Bit(s) Description (Table R0023)
  583. 63-40 pointer within array specified below
  584. 39-32 array identifier (see #R0024)
  585. 31-0 array data
  586. SeeAlso: #R0036
  587. (Table R0024)
  588. Values for AMD Am5k86 Array Pointer:
  589. E0h data cache (data)
  590. E1h data cache (linear tag) (see #R0025)
  591. E4h code cache (instruction) (see #R0026)
  592. E5h code cache (linear tag) (see #R0027)
  593. E6h code cache (valid bits) (see #R0028)
  594. E7h code cache (branch-prediction bits) (see #R0029)
  595. E8h 4K TLB (page) (see #R0030)
  596. E9h 4K TLB (linear tag) (see #R0031)
  597. EAh 4M TLB (page) (see #R0032)
  598. EBh 4M TLB (linear tag) (see #R0033)
  599. ECh data cache (physical tag) (see #R0034)
  600. EDh code cache (physical tag) (see #R0035)
  601. SeeAlso: #R0023
  602. Bitfields for AMD AmK586 data cache linear tag:
  603. Bit(s) Description (Table R0025)
  604. 31-26 reserved (0)
  605. 25 cache line is dirty
  606. 24 user/supervisor
  607. 23 read/write
  608. 22 0
  609. 21 linear address valid
  610. 20-0 tag
  611. SeeAlso: #R0024,#R0034
  612. Bitfields for AMD Am5k86 code cache instruction:
  613. Bit(s) Description (Table R0026)
  614. 31-26 reserved (0)
  615. 25 start bit 1
  616. 24 end bit 1
  617. 23 opcode bit 1
  618. 22-21 map (ROPs/MROM) 1
  619. 20-13 byte 1
  620. 12 start bit 0
  621. 11 end bit 0
  622. 10 opcode bit 0
  623. 9-8 map (ROPs/MROM) 0
  624. 7-0 byte 0
  625. SeeAlso: #R0024,#R0027,#R0035
  626. Bitfields for Am5k86 code cache linear tag:
  627. Bit(s) Description (Table R0027)
  628. 31-20 reserved (0)
  629. 19-0 bits 31-12 of linear address
  630. SeeAlso: #R0024,#R0026,#R0028,#R0035
  631. Bitfields for Am5k86 code cache valid bits:
  632. Bit(s) Description (Table R0028)
  633. 31-18 reserved (0)
  634. 17 linear tag is valid
  635. 16 user/supervisor
  636. 15-0 bitmask of valid bytes
  637. SeeAlso: #R0024,#R0026,#R0035
  638. Bitfields for Am5k86 code cache branch prediction bits:
  639. Bit(s) Description (Table R0029)
  640. 31-19 reserved (0)
  641. 18 predicted branch taken
  642. 17-14 offset of last byte of predicted branch instruction within block
  643. 13-12 predicted target column
  644. 11-4 predicted target index
  645. 3-0 target byte
  646. SeeAlso: #R0024
  647. Bitfields for Am5k86 4K TLB page:
  648. Bit(s) Description (Table R0030)
  649. 31-22 reserved (0)
  650. 21 page cache disable
  651. 20 page write-through
  652. 19-0 page frame address
  653. SeeAlso: #R0024,#R0031,#R0032
  654. Bitfields for Am5k86 4K TLB linear tag:
  655. Bit(s) Description (Table R0031)
  656. 31-20 reserved (0)
  657. 19 global valid bit
  658. 18 TLB entry is dirty
  659. 17 user/supervisor
  660. 16 read/write
  661. 15 entry is valid
  662. 14-0 tag (bits 31-17 of address)
  663. SeeAlso: #R0024,#R0030,#R0033
  664. Bitfields for Am5k86 4M TLB page:
  665. Bit(s) Description (Table R0032)
  666. 31-12 reserved (0)
  667. 11 page cache disable
  668. 10 page write-through
  669. 9-0 page frame address
  670. SeeAlso: #R0024,#R0030,#R0033
  671. Bitfields for Am5k86 4M TLB linear tag:
  672. Bit(s) Description (Table R0033)
  673. 31-15 reserved (0)
  674. 14 global valid bit
  675. 13 TLB entry is dirty
  676. 12 user/supervisor
  677. 11 read/write
  678. 10 entry is valid
  679. 9-0 tag (bits 31-22 of address)
  680. SeeAlso: #R0024,#R0031,#R0032
  681. Bitfields for Am5k86 data cache physical tag:
  682. Bit(s) Description (Table R0034)
  683. 31-23 reserved (0)
  684. 22-21 MESI status
  685. 00 invalid
  686. 01 shared
  687. 10 modified
  688. 11 exclusive
  689. 20-0 tag (bits 31-11 of physical address)
  690. SeeAlso: #R0024,#R0035
  691. Bitfields for Am5k86 code cache physical tag:
  692. Bit(s) Description (Table R0035)
  693. 31-21 reserved (0)
  694. 20 valid
  695. 19-0 tag (bits 31-12 of physical address)
  696. SeeAlso: #R0024,#R0034
  697. ----------S00000083--------------------------
  698. MSR 00000083h - AMD Am5k86 (AMD-K5) - HARDWARE CONFIGURATION REGISTER
  699. Size: 8 bits
  700. SeeAlso: MSR 00000082h
  701. Bitfields for AMD Am5k86 (AMD-K5) Hardware Configuration Register:
  702. Bit(s) Description (Table R0036)
  703. 63-8 reserved
  704. 7 disable data cache
  705. 6 disable instruction cache
  706. 5 disable branch prediction
  707. 4 enable write allocation (stepping 4 and higher only)
  708. 3-1 debug control
  709. 000 off
  710. 001 enable branch trace (requires bit 5 set as well)
  711. 100 enable Probe Mode on debug trap
  712. other reserved
  713. 0 disable Stopping Processor Clock in Halt and Stop Grant states
  714. SeeAlso: #R0023
  715. ----------S00000085--------------------------
  716. MSR 00000085h - AMD-K5 - WRITE ALLOCATE TOP-OF-MEMORY AND CONTROL REGISTER
  717. Note: this MSR is supported on K5 models 1/2/3 stepping 4 and higher only
  718. SeeAlso: MSR 00000086h
  719. !!!amd\21062e.pdf p.95
  720. ----------S00000086--------------------------
  721. MSR 00000086h - AMD-K5 - WRITE ALLOCATE PROGRAMMABLE MEMORY RANGE REGISTER
  722. Note: this MSR is supported on K5 models 1/2/3 stepping 4 and higher only
  723. SeeAlso: MSR 00000085h
  724. ----------S00000088--------------------------
  725. MSR 00000088h - Pentium Pro, PentiumII - "BBL_CR_D0" CHUNK 0 DATA REGISTER
  726. Note: this register is used to read from and write to L2 cache
  727. SeeAlso: MSR 00000089h,MSR 0000008Ah,MSR 00000116h
  728. ----------S00000089--------------------------
  729. MSR 00000089h - Pentium Pro, PentiumII - "BBL_CR_D1" CHUNK 1 DATA REGISTER
  730. Note: this register is used to read from and write to L2 cache
  731. SeeAlso: MSR 00000088h,MSR 0000008Ah,MSR 00000116h
  732. ----------S0000008A--------------------------
  733. MSR 0000008Ah - Pentium Pro, PentiumII - "BBL_CR_D2" CHUNK 2 DATA REGISTER
  734. Note: this register is used to read from and write to L2 cache
  735. SeeAlso: MSR 00000088h,MSR 00000089h,MSR 00000116h
  736. ----------S0000008B--------------------------
  737. MSR 0000008Bh - Pentium Pro - "BIOS_SIGN" BIOS UPDATE SIGNATURE
  738. Size: 64 bits
  739. Access: Read/Write
  740. Desc: used to determine which (if any) microcode update has been loaded into
  741. the CPU
  742. Notes: whenever a microcode update is loaded, the PentiumPro modifies the
  743. operation of the CPUID instruction to store both the standard CPUID
  744. model information and a 32-bit microcode update ID into this MSR; if
  745. no microcode update has been loaded, the MSR remains unchanged
  746. (it is normally cleared to 0 before using CPUID to test for updates)
  747. the low 32 bits of this register (if modified by CPUID) contains the
  748. standard model/stepping information, while the high 32 bits contain
  749. the microcode update ID
  750. SeeAlso: MSR 00000079h
  751. ----------S0000008B--------------------------
  752. MSR 0000008Bh - PentiumII - "BBL_CR_D3" CHUNK 3 DATA REGISTER
  753. Notes: this register is used to read from and write to L2 cache
  754. whether this MSR is the BIOS update signature or L2 data depends on
  755. the usage model
  756. SeeAlso: MSR 00000088h,MSR 00000089h,MSR 00000116h
  757. ----------S000000AE--------------------------
  758. MSR 000000AEh - Pentium Pro - ???
  759. ----------S000000C1--------------------------
  760. MSR 000000C1h - Pentium Pro - "PERFCTR0" PERFORMANCE COUNTER REGISTER 0
  761. Note: the performance measure counted by this MSR is set through MSR 0186h
  762. SeeAlso: MSR 000000C2h,MSR 00000012h,MSR 00000186h
  763. ----------S000000C2--------------------------
  764. MSR 000000C2h - Pentium Pro - "PERFCTR1" PERFORMANCE COUNTER REGISTER 1
  765. Note: the performance measure counted by this MSR is set through MSR 0187h
  766. SeeAlso: MSR 000000C1h,MSR 00000013h,MSR 00000187h
  767. ----------S000000FE--------------------------
  768. MSR 000000FEh - Pentium Pro - "MTRRcap" MEMORY TYPE RANGE REGISTER CAPABILITIES
  769. Desc: determine how many and what type of Memory Type Range Registers are
  770. implemented
  771. SeeAlso: MSR 00000200h,MSR 00000250h,MSR 000002FFh
  772. Bitfields for Pentium Pro "MTRRcap" register:
  773. Bit(s) Description (Table R0037)
  774. 63-8 ???
  775. 7-0 number of Memory Type Range Registers (at MSR 02xxh)
  776. ----------S00000107--------------------------
  777. MSR 00000107h - Centaur (IDT) WinChip C6 - Feature Control Register #1
  778. Size: 30 bits
  779. SeeAlso: MSR 00000108h,MSR 00000109h
  780. Bitfields for Centaur (IDT) WinChip C6 Feature Control Register #1:
  781. Bit(s) Description (Table R0038)
  782. 61-31 reserved
  783. 30 enable MOV TRx instructions
  784. 29 disable CPUID instruction
  785. 28 don't use alternative "divide 5 by 2" EFLAGS
  786. 0 = use Centaur (IDT) flags
  787. 1 = use Intel flags
  788. 27-26 reserved
  789. 25-22 stepping ID
  790. 21-17 reserved
  791. 16 enable return stack (default)
  792. 15 disable bus pipelining #NA response
  793. 14 disable data cache
  794. 13 disable instruction cache
  795. 12 reserved
  796. 11 disable page directory cache
  797. 10 reserved
  798. 9 enable MMX instructions (default)
  799. 8 enable data cache updates for PDE/PTE
  800. 7 disable check for self-modifying code
  801. 6 enable linear burst mode
  802. 5 disable #STPCLK support
  803. 4 disable machine check exception
  804. 3 disable power management
  805. 2 enable #MC for internal errors
  806. 1 set CPUID feature flag for CMPXCHG8 instruction
  807. 0 reserved
  808. SeeAlso: #R0039,#R0040
  809. ----------S00000108--------------------------
  810. MSR 00000108h - Centaur (IDT) WinChip C6 - Feature Control Register #2
  811. Size: 64 bits
  812. SeeAlso: MSR 00000107h,MSR 00000109h
  813. Bitfields for Centaur (IDT) WinChip C6 Feature Control Register #2:
  814. Bit(s) Description (Table R0039)
  815. 63-32 last four bytes of CPUID vendor ID string (see also #R0040)
  816. 31-15 reserved
  817. 14 use alternative CPUID vendor string
  818. 13-12 reserved
  819. 11-8 CPUID family
  820. 7-4 CPUID model
  821. 3-0 reserved
  822. SeeAlso: #R0038,#R0039
  823. ----------S00000109--------------------------
  824. MSR 00000109h - Centaur (IDT) WinChip C6 - Feature Control Register #3
  825. Size: 30 bits
  826. Access: Write-Only
  827. SeeAlso: MSR 00000107h,MSR 00000108h
  828. Bitfields for Centaur (IDT) WinChip C6 Feature Control Register #3:
  829. Bit(s) Description (Table R0040)
  830. 63-32 first four bytes of CPUID vendor ID string
  831. 31-0 middle four bytes of CPUID vendor ID string
  832. SeeAlso: #R0039
  833. ----------S00000110--------------------------
  834. MSR 00000110h - Centaur (IDT) WinChip C6 - Memory Configuration Register #0
  835. Size: 64 bits
  836. Access: Write-Only
  837. SeeAlso: MSR 00000107h,MSR 00000111h,MSR 00000117h"Centaur"
  838. Bitfields for Centaur (IDT) WinChip C6 Memory Configuration Register:
  839. Bit(s) Description (Table R0041)
  840. 63-44 base address of memory region
  841. 43-32 reserved
  842. 31-12 memory region mask
  843. (region is hit if (base AND address) == (mask AND address))
  844. 11-5 reserved
  845. 4-3 memory write order
  846. 00 strong ordering
  847. 01 weak for string
  848. 10 weak for stack
  849. 11 weak ordering for all writes
  850. 2 enable write merging for stack writes
  851. 1 enable write merging for string writes
  852. 0 enable write merging for other writes
  853. SeeAlso: #R0045
  854. ----------S00000111--------------------------
  855. MSR 00000111h - Centaur (IDT) WinChip C6 - Memory Configuration Register #1
  856. Size: 64 bits
  857. Access: Write-Only
  858. SeeAlso: MSR 00000107h,MSR 00000110h,MSR 00000112h,#R0041
  859. ----------S00000112--------------------------
  860. MSR 00000112h - Centaur (IDT) WinChip C6 - Memory Configuration Register #2
  861. Size: 64 bits
  862. Access: Write-Only
  863. SeeAlso: MSR 00000107h,MSR 00000111h,MSR 00000113h,#R0041
  864. ----------S00000113--------------------------
  865. MSR 00000113h - Centaur (IDT) WinChip C6 - Memory Configuration Register #3
  866. Size: 64 bits
  867. Access: Write-Only
  868. SeeAlso: MSR 00000107h,MSR 00000112h,MSR 00000114h,#R0041
  869. ----------S00000114--------------------------
  870. MSR 00000114h - Centaur (IDT) WinChip C6 - Memory Configuration Register #4
  871. Size: 64 bits
  872. Access: Write-Only
  873. SeeAlso: MSR 00000107h,MSR 00000113h,MSR 00000115h,#R0041
  874. ----------S00000115--------------------------
  875. MSR 00000115h - Centaur (IDT) WinChip C6 - Memory Configuration Register #5
  876. Size: 64 bits
  877. Access: Write-Only
  878. SeeAlso: MSR 00000107h,MSR 00000114h,MSR 00000116h"Centaur",#R0041
  879. ----------S00000116--------------------------
  880. MSR 00000116h - PentiumII - "BBL_CR_ADDR" - SET L2 CACHE ADDRESS
  881. Size: 32 bits
  882. SeeAlso: MSR 00000088h,MSR 00000118h"PentiumII"
  883. Bitfields for PentiumII "BBL_CR_ADDR":
  884. Bit(s) Description (Table R0042)
  885. 31-3 cache address bits 31-3 (docs say 35-3!)
  886. 2-0 reserved (0)
  887. ----------S00000116--------------------------
  888. MSR 00000116h - Centaur (IDT) WinChip C6 - Memory Configuration Register #6
  889. Size: 64 bits
  890. Access: Write-Only
  891. SeeAlso: MSR 00000107h,MSR 00000115h,MSR 00000117h"Centaur",#R0041
  892. ----------S00000117--------------------------
  893. MSR 00000117h - Centaur (IDT) WinChip C6 - Memory Configuration Register #7
  894. Size: 64 bits
  895. Access: Write-Only
  896. SeeAlso: MSR 00000107h,MSR 00000110h,MSR 00000116h"Centaur",#R0041
  897. ----------S00000118--------------------------
  898. MSR 00000118h - PentiumII - "BBL_CR_DECC" READ/WRITE L2 CACHE ECC BITS
  899. Size: 8 bits
  900. SeeAlso: MSR 00000088h,MSR 00000116h"PentiumII",MSR 00000119h
  901. ----------S00000119--------------------------
  902. MSR 00000119h - PentiumII - "BBL_CR_CTL"
  903. SeeAlso: MSR 00000118h,MSR 0000011Ah
  904. Bitfields for PentiumII "BBL_CR_CTL":
  905. Bit(s) Description (Table R0043)
  906. 63-19 reserved
  907. 18 use supplied ECC
  908. 17 reserved
  909. 16 L2 hit
  910. 15-14 reserved
  911. 13-12 state from L2 entry
  912. 00 invalid
  913. 01 shared
  914. 10 exclusive
  915. 11 modified
  916. 11-10 way number from L2 cache
  917. 9-8 way number to L2
  918. 7 reserved
  919. 6-5 state to L2 entry (as for bits 13-12)
  920. 4-0 L2 command
  921. 00010 read L2 control register
  922. 00011 write L2 control register
  923. 010mm tag write with data read
  924. 01100 data read with LRU update
  925. 01110 tag read with data read
  926. 01111 tag inquire
  927. 100mm tag write
  928. ('mm' = MESI state, coded as for bits 13-12)
  929. ----------S0000011A--------------------------
  930. MSR 0000011Ah - PentiumII - "BBL_CR_TRIG" TRIGGER CACHE CONFIGURATION CYCLE
  931. Note: a write (must write 00000000h!) to this MSR triggers a cache
  932. configuration access cycle
  933. SeeAlso: MSR 00000088h,MSR 00000118h,MSR 0000011Bh
  934. ----------S0000011B--------------------------
  935. MSR 0000011Bh - PentiumII - "BBL_CR_BUSY" CHECK IF CACHE CONFIG IN PROGRESS
  936. Size: 1 bit
  937. Access: Read-Only
  938. Note: if bit 0 is set, an L2 cache configuration access command is in
  939. progress
  940. SeeAlso: MSR 00000088h,MSR 00000118h,MSR 0000011Ah
  941. ----------S0000011E--------------------------
  942. MSR 0000011Eh - Pentium II - "BBL_CR_CTL3" L2 CACHE CONTROL REGISTER 3
  943. SeeAlso: MSR 00000088h,MSR 00000116h,MSR 0000011Ah,MSR 0000011Bh
  944. Bitfields for Pentium II L2 cache control:
  945. Bit(s) Description (Table R0044)
  946. 63-26 reserved
  947. 25 (read-only) cache bus fraction
  948. 24 reserved
  949. 23 (read-only) L2 hardware disable
  950. 22-20 supported L2 physical address range
  951. 000 512M
  952. 001 1G
  953. 010 2G
  954. 011 4G
  955. 100 8G
  956. 101 16G
  957. 110 32G
  958. 111 64G
  959. 19 reserved
  960. 18 enable cache state error checking
  961. 17-13 cache size per bank
  962. 00001 256K
  963. 00010 512K
  964. 00100 1M
  965. 01000 2M
  966. 10000 4M
  967. 12-11 (read-only) number of L2 banks
  968. 10-9 (read-only) L2 associativity
  969. 00 direct-mapped
  970. 01 2-way associative
  971. 10 4-way associative
  972. 11 reserved
  973. 8 L2 cache enabled
  974. 7 CRTN parity checking enabled
  975. 6 address parity checking enabled
  976. 5 enable ECC testing of L2 cache memory
  977. 4-1 L2 cache latency
  978. 0 L2 has been configured
  979. ----------S00000120--------------------------
  980. MSR 00000120h - Centaur (IDT) WinChip C6 - Memory Config Register Control
  981. Size: 25 bits
  982. Access: Write-Only
  983. SeeAlso: MSR 00000107h,MSR 00000110h,MSR 00000117h
  984. Bitfields for Centaur (IDT) WinChip C6 Memory Configuration Control Register:
  985. Bit(s) Description (Table R0045)
  986. 63-25 reserved
  987. 24-20 reserved (1)
  988. 19-5 reserved
  989. 4 enable weak write ordering
  990. 3-2 write merging for string writes
  991. 00 forward combining
  992. 01 forward/overlapped
  993. 10 forward/reverse
  994. 11 forward/reverse/overlap
  995. 1-0 write merging for non-stack/non-string writes
  996. 00 forward combining
  997. 01 forward/overlapped
  998. 10 forward/reverse
  999. 11 forward/reverse/overlap
  1000. SeeAlso: #R0041
  1001. ----------S00000131--------------------------
  1002. MSR 00000131h - Pentium Pro - ???
  1003. ----------S0000014E--------------------------
  1004. MSR 0000014Eh - Pentium Pro - ???
  1005. ----------S0000014F--------------------------
  1006. MSR 0000014Fh - Pentium Pro - ???
  1007. ----------S00000150--------------------------
  1008. MSR 00000150h - Pentium Pro - ???
  1009. ----------S00000151--------------------------
  1010. MSR 00000151h - Pentium Pro - ???
  1011. ----------S00000154--------------------------
  1012. MSR 00000154h - Pentium Pro - ???
  1013. ----------S0000015B--------------------------
  1014. MSR 0000015Bh - Pentium Pro - ???
  1015. ----------S0000015F--------------------------
  1016. MSR 0000015Fh - Pentium Pro - ???
  1017. ----------S00000174--------------------------
  1018. MSR 00000174h - Pentium Pro - "SYSENTER_CS" - SYSENTER target CS
  1019. ----------S00000175--------------------------
  1020. MSR 00000175h - Pentium Pro - "SYSENTER_ESP" - SYSENTER target ESP
  1021. ----------S00000176--------------------------
  1022. MSR 00000176h - Pentium Pro - "SYSENTER_EIP" - SYSENTER target EIP
  1023. ----------S00000179--------------------------
  1024. MSR 00000179h - Pentium Pro - "MCG_CAP"
  1025. SeeAlso: MSR 0000017Ah,MSR 0000017Bh
  1026. Bitfields for Pentium Pro "MCG_CAP" register:
  1027. Bit(s) Description (Table R0046)
  1028. 63-8 ???
  1029. 7-0 number of MCRs
  1030. ----------S0000017A--------------------------
  1031. MSR 0000017Ah - Pentium Pro - "MCG_STATUS"
  1032. SeeAlso: MSR 00000179h,MSR 0000017Bh
  1033. ----------S0000017B--------------------------
  1034. MSR 0000017Bh - Pentium Pro - "MCG_CTL"
  1035. SeeAlso: MSR 00000179h,MSR 0000017Ah
  1036. ----------S00000186--------------------------
  1037. MSR 00000186h - Pentium Pro - "EVNTSEL0" - PERFORM. COUNTER EVENT SELECTION 0
  1038. Size: 32 bits
  1039. Access: Read/Write
  1040. SeeAlso: MSR 000000C1h,MSR 00000187h,MSR 00000011h,MSR 00000012h
  1041. Bitfields for Pentium Pro Event Selection MSR:
  1042. Bit(s) Description (Table R0047)
  1043. 31-24 CMASK (counter mask)
  1044. compare actual count for event on this clock cycle with mask; only
  1045. increment counter if count >= mask (count < mask if bit 23 set)
  1046. 23 invert result of CMASK condition
  1047. 22 enable counting of events
  1048. 21 reserved
  1049. 20 signal performance counter overflows via APIC input
  1050. 19 signal performance counter overflows via BP0/BP1 pin
  1051. 18 count occurrences, not duration
  1052. 17 OS (enable counting in ring 0)
  1053. 16 USER (enable counting in rings 1,2,3)
  1054. 15-8 UMASK (Unit Mask register; set to 0 to enable all count options)
  1055. 7-0 event type (see #R0048)
  1056. (Table R0048)
  1057. Values for Pentium Pro/Pentium II performance event type:
  1058. 00h-01h documented as unused
  1059. 02h number of store buffer forwards
  1060. 03h number of store buffer blocks
  1061. 04h number of store buffer drain cycles
  1062. 05h misaligned data memory references
  1063. 06h segment register loads
  1064. 07h-0Fh documented as unused
  1065. 10h executed computational FP operations
  1066. 11h number of microcode-handled FP exceptions
  1067. 12h number of multiplies
  1068. 13h number of divisions
  1069. 14h divider busy cycles
  1070. 15h-20h documented as unused
  1071. 21h L2 address strobes
  1072. 22h L2 cache data bus wait cycles
  1073. 23h L2 cache data bus transfer cycles
  1074. 24h allocated L2-cache lines
  1075. 25h allocated L2 modified lines
  1076. 26h removed L2 lines
  1077. 27h removed modified L2 lines
  1078. 28h instruction fetches from L2 cache
  1079. 29h loads requested from L2 cache
  1080. 2Ah stores into L2 cache
  1081. 2Bh-2Dh documented as unused
  1082. 2Eh total L2 requests
  1083. 2Fh-3Fh documented as unused
  1084. 40h L1 Data Cache Unit load rquests
  1085. 41h L1 DCU store requests
  1086. 42h L1 DCU locked requests
  1087. 43h total memory references (all types, reads+writes+internal retries)
  1088. 44h documented as unused
  1089. 45h L1 allocated lines
  1090. 46h L1 allocated M-state lines
  1091. 47h L1 evicted M-state lines
  1092. 48h L1 outstanding miss cycles (weighted)
  1093. 49h L1 data TLB misses
  1094. 4Ah-51h documented as unused
  1095. 52h (P-II) self-modifying code occurrences
  1096. 53h-5Fh documented as unused
  1097. 60h outstanding bus requests
  1098. 61h number of cycles BNR pin driven
  1099. 62h DRDY# asserted cycles
  1100. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1101. 63h number of cycles with LOCK asserted
  1102. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1103. 64h CPU receiving data cycles
  1104. 65h burst-read transactions
  1105. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1106. 66h read for ownership transactions
  1107. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1108. 67h write-back transactions
  1109. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1110. 68h instruction-fetch transactions
  1111. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1112. 69h invalidate transactions
  1113. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1114. 6Ah partial-write transactions
  1115. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1116. 6Bh partial transactions
  1117. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1118. 6Ch I/O transactions
  1119. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1120. 6Dh deferred transactions
  1121. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1122. 6Eh burst transactions
  1123. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1124. 6Fh memory transactions
  1125. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1126. 70h total of all transactions
  1127. unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1128. 71h-78h documented as unused
  1129. 79h processor not-halted cycles
  1130. 7Ah cycles in which HIT pin is driven
  1131. 7Bh cycles in which HITM pin is driven
  1132. 7Ch-7Dh documented as unused
  1133. 7Eh bus-snoop stall cycles
  1134. 7Fh documented as unused
  1135. 80h instruction fetches
  1136. 81h instruction fetch misses
  1137. 82h-84h documented as unused
  1138. 85h L1 instruction TLB misses
  1139. 86h instruction-fetch stall cycles
  1140. 87h instruction-length decoder stall cycles
  1141. 88h-A1h documented as unused
  1142. A2h resource-related stall cycles
  1143. A3h-AFh documented as unused
  1144. B0h (P-II) MMX instructions executed
  1145. B1h (P-II) saturated arithmetic instructions executed
  1146. B2h (P-II) MMX uOPs executed on Port #0--3
  1147. B3h (P-II) MMX instructions
  1148. unit mask selects type(s): 01h packed multiply, 02h packed shift,
  1149. 04h pack operations, 08h unpack operations, 10h packed logical,
  1150. 20h packed arithmetic
  1151. B4h-BFh documented as unused
  1152. C0h retired instructions
  1153. C1h retired FLOPs
  1154. C2h retired uOPs
  1155. C3h documented as unused
  1156. C4h retired branch predictions
  1157. C5h retired mispredicted branches
  1158. C6h total cycles with interrupts disabled
  1159. C7h total cycles with interrupts disabled and interrupt(s) pending
  1160. C8h received hardware interrupts
  1161. C9h retired taken branches
  1162. CAh retired taken mispredicted branches
  1163. CBh documented as unused
  1164. CCh (P-II) transitions between FP and MMX states
  1165. unit mask: 00h = from MMX to FP, 01h = from FP to MMX
  1166. CDh (P-II) SIMD assists (EMMS instructions executed)
  1167. CEh (P-II) MMX instructions retired
  1168. CFh (P-II) saturated arithmetic instructions retired
  1169. D0h decoded instructions
  1170. D1h documented as unused
  1171. D2h partial stall cycles or events
  1172. D3h documented as unused
  1173. D4h (P-II) segment rename stalls
  1174. set unit mask to sum of: 01h for ES, 02h for DS, 04h for FS, 08h for GS
  1175. D5h (P-II) segment renames (unit mask as for D4h)
  1176. D6h (P-II) retired segment renames
  1177. D7h-DFh documented as unused
  1178. E0h decoded branch instructinos
  1179. E1h documented as unused
  1180. E2h BTB misses
  1181. E3h documented as unused
  1182. E4h bogus branches (predictions generated for non-branch instructions)
  1183. E5h documented as unused
  1184. E6h number of times BACLEAR asserted (number of static branch predictions)
  1185. E7h-FFh documented as unused
  1186. SeeAlso: #R0047
  1187. ----------S00000187--------------------------
  1188. MSR 00000187h - Pentium Pro - "EVNTSEL1" - PERFORM. COUNTER EVENT SELECTION 1
  1189. Size: 32 bits
  1190. Access: Read/Write
  1191. SeeAlso: MSR 000000C2h,MSR 00000186h,#R0047,MSR 00000011h,MSR 00000013h,#R0047
  1192. ----------S000001D3--------------------------
  1193. MSR 000001D3h - Pentium Pro - ???
  1194. ----------S000001D9--------------------------
  1195. MSR 000001D9h - Pentium Pro, PentiumII - "DEBUGCTLMSR" DEBUGGING CONTROL
  1196. Size: 16 bits
  1197. Bitfields for Pentium Pro Debugging Control MSR:
  1198. Bit(s) Description (Table R0049)
  1199. 63-16 reserved
  1200. 15 enable execution trace messages
  1201. 14 enable execution trace messages
  1202. 13-7 reserved
  1203. 6 enable execution trace messages
  1204. 5 performance monitor/Breakpoint pins
  1205. 4 performance monitor/Breakpoint pins
  1206. 3 performance monitor/Breakpoint pins
  1207. 2 performance monitor/Breakpoint pins
  1208. 1 Branch Trap Flag
  1209. 0 enable Last Branch records (see MSR 000001DBh,MSR 000001DCh)
  1210. ----------S000001DB--------------------------
  1211. MSR 000001DBh - Pentium Pro, PentiumII - "LASTBRANCHFROMIP"
  1212. Desc: stores the address from which a branch was last taken
  1213. SeeAlso: MSR 000001DCh,MSR 000001DDh
  1214. ----------S000001DC--------------------------
  1215. MSR 000001DCh - Pentium Pro, PentiumII - "LASTBRANCHTOIP"
  1216. Desc: stores the destination address of the last taken branch instruction
  1217. SeeAlso: MSR 000001DBh,MSR 000001DEh
  1218. ----------S000001DD--------------------------
  1219. MSR 000001DDh - Pentium Pro, PentiumII - "LASTINTFROMIP"
  1220. Desc: stores the address at which an interrupt last occurred
  1221. SeeAlso: MSR 000001DBh,MSR 000001DEh
  1222. ----------S000001DE--------------------------
  1223. MSR 000001DEh - Pentium Pro, PentiumII - "LASTINTTOIP"
  1224. Desc: stores the address to which the last interrupt caused a branch
  1225. SeeAlso: MSR 000001DCh,MSR 000001DDh
  1226. ----------S000001E0--------------------------
  1227. MSR 000001E0h - Pentium Pro - "ROB_CR_BKUPTMPDR6"
  1228. Size: >= 3 bits
  1229. Bitfields for Pentium Pro MSR 000001E0h:
  1230. Bit(s) Description (Table R0050)
  1231. 63-3 ???
  1232. 2 Fast String Enable (default is enabled)
  1233. 1-0 reserved
  1234. Note: if bit 2 is set, REP MOVS moves 64 bits each clock cycle if both source
  1235. and target are QWORD-aligned
  1236. ----------S00000200--------------------------
  1237. MSR 00000200h - Pentium Pro - "MTRRphysBase0"
  1238. SeeAlso: MSR 000000FEh,MSR 00000201h,MSR 00000202h
  1239. ----------S00000201--------------------------
  1240. MSR 00000201h - Pentium Pro - "MTRRphysMask0"
  1241. SeeAlso: MSR 000000FEh,MSR 00000200h,MSR 00000202h
  1242. ----------S00000202--------------------------
  1243. MSR 00000202h - Pentium Pro - "MTRRphysBase1"
  1244. SeeAlso: MSR 000000FEh,MSR 00000200h,MSR 00000203h
  1245. ----------S00000203--------------------------
  1246. MSR 00000203h - Pentium Pro - "MTRRphysMask1"
  1247. SeeAlso: MSR 000000FEh,MSR 00000201h,MSR 00000202h
  1248. ----------S00000204--------------------------
  1249. MSR 00000204h - Pentium Pro - "MTRRphysBase2"
  1250. ----------S00000205--------------------------
  1251. MSR 00000205h - Pentium Pro - "MTRRphysMask2"
  1252. ----------S00000206--------------------------
  1253. MSR 00000206h - Pentium Pro - "MTRRphysBase3"
  1254. ----------S00000207--------------------------
  1255. MSR 00000207h - Pentium Pro - "MTRRphysMask3"
  1256. ----------S00000208--------------------------
  1257. MSR 00000208h - Pentium Pro - "MTRRphysBase4"
  1258. ----------S00000209--------------------------
  1259. MSR 00000209h - Pentium Pro - "MTRRphysMask4"
  1260. ----------S0000020A--------------------------
  1261. MSR 0000020Ah - Pentium Pro - "MTRRphysBase5"
  1262. ----------S0000020B--------------------------
  1263. MSR 0000020Bh - Pentium Pro - "MTRRphysMask5"
  1264. ----------S0000020C--------------------------
  1265. MSR 0000020Ch - Pentium Pro - "MTRRphysBase6"
  1266. ----------S0000020D--------------------------
  1267. MSR 0000020Dh - Pentium Pro - "MTRRphysMask6"
  1268. ----------S0000020E--------------------------
  1269. MSR 0000020Eh - Pentium Pro - "MTRRphysBase7"
  1270. ----------S0000020F--------------------------
  1271. MSR 0000020Fh - Pentium Pro - "MTRRphysMask7"
  1272. ----------S00000250--------------------------
  1273. MSR 00000250h - Pentium Pro - "MTRRfix64K_00000"
  1274. Desc: control the 64K region from 00000h to 0FFFFh
  1275. SeeAlso: MSR 000000FEh,MSR 00000200h,MSR 00000258h
  1276. ----------S00000258--------------------------
  1277. MSR 00000258h - Pentium Pro - "MTRRfix16K_80000"
  1278. Desc: control the 16K region from 80000h to 83FFFh
  1279. SeeAlso: MSR 000000FEh,MSR 00000250h,MSR 00000259h
  1280. ----------S00000259--------------------------
  1281. MSR 00000259h - Pentium Pro - "MTRRfix16K_A0000"
  1282. Desc: control the 16K region from A0000h to A3FFFh
  1283. ----------S00000268--------------------------
  1284. MSR 00000268h - Pentium Pro - "MTRRfix4K_C0000"
  1285. Desc: control the 4K region from C0000h to C0FFFh
  1286. ----------S00000269--------------------------
  1287. MSR 00000269h - Pentium Pro - "MTRRfix4K_C8000"
  1288. Desc: control the 4K region from C8000h to C8FFFh
  1289. ----------S0000026A--------------------------
  1290. MSR 0000026Ah - Pentium Pro - "MTRRfix4K_D0000"
  1291. Desc: control the 4K region from D0000h to D0FFFh
  1292. ----------S0000026B--------------------------
  1293. MSR 0000026Bh - Pentium Pro - "MTRRfix4K_D8000"
  1294. Desc: control the 64K region from D8000h to D8FFFh
  1295. ----------S0000026C--------------------------
  1296. MSR 0000026Ch - Pentium Pro - "MTRRfix4K_E0000"
  1297. Desc: control the 64K region from E0000h to E0FFFh
  1298. ----------S0000026D--------------------------
  1299. MSR 0000026Dh - Pentium Pro - "MTRRfix4K_E8000"
  1300. Desc: control the 64K region from E8000h to E8FFFh
  1301. ----------S0000026E--------------------------
  1302. MSR 0000026Eh - Pentium Pro - "MTRRfix4K_F0000"
  1303. Desc: control the 64K region from F0000h to F0FFFh
  1304. ----------S0000026F--------------------------
  1305. MSR 0000026Fh - Pentium Pro - "MTRRfix4K_F8000"
  1306. Desc: control the 64K region from F8000h to F8FFFh
  1307. ----------S00000277--------------------------
  1308. MSR 00000277h - Pentium Pro - Page Attribute Table
  1309. ----------S00000280--------------------------
  1310. MSR 00000280h - PentiumII - ???
  1311. ----------S000002FF--------------------------
  1312. MSR 000002FFh - Pentium Pro - "MTRRdefType" - DEFAULT MEMORY TYPE
  1313. Note: this MSR sets the memory type to use for any range not claimed by one
  1314. of the other MTRRs
  1315. SeeAlso: MSR 000000FEh,MSR 00000200h,MSR 00000250h
  1316. Bitfields for Pentium Pro MSR 000002FFh:
  1317. Bit(s) Description (Table R0051)
  1318. 63-12 reserved
  1319. 11 "MTRRenable" enable Memory Type Register registers
  1320. 10 Fixed MTRR enable
  1321. 9-3 reserved
  1322. 2-0 default memory type
  1323. ----------S00000400--------------------------
  1324. MSR 00000400h - Pentium Pro - "MC0_CTL" Machine Check Control 0
  1325. SeeAlso: MSR 00000401h,MSR 00000402h,MSR 00000404h,MSR 0000410h
  1326. ----------S00000401--------------------------
  1327. MSR 00000401h - Pentium Pro - "MC0_STATUS" Machine Check Status 0
  1328. SeeAlso: MSR 00000400h,MSR 00000403h
  1329. Bitfields for Pentium Pro Machine Check Status:
  1330. Bit(s) Description (Table R0052)
  1331. 63 "MC_STATUS_V"
  1332. 62 "MC_STATUS_O"
  1333. 61 "MC_STATUS_UC"
  1334. 60 "MC_STATUS_EN"
  1335. 59 "MC_STATUS_MISCV"
  1336. 58 "MC_STATUS_ADDRV"
  1337. 57 "MC_STATUS_DAM"
  1338. 56-32 reserved
  1339. 31-16 "MC_STAT_MSCOD"
  1340. 15-0 "MC_STAT_MACCOD"
  1341. ----------S00000402--------------------------
  1342. MSR 00000402h - Pentium Pro - "MC0_ADDR" Machine Check Address 0
  1343. SeeAlso: MSR 00000400h,MSR 00000403h
  1344. ----------S00000403--------------------------
  1345. MSR 00000403h - Pentium Pro - "MC0_MISC"
  1346. SeeAlso: MSR 00000401h,MSR 00000402h
  1347. ----------S00000404--------------------------
  1348. MSR 00000404h - Pentium Pro - "MC1_CTL" Machine Check Control 1
  1349. SeeAlso: MSR 00000400h,MSR 00000408h
  1350. ----------S00000405--------------------------
  1351. MSR 00000405h - Pentium Pro - "MC1_STATUS" Machine Check Status 1
  1352. ----------S00000406--------------------------
  1353. MSR 00000406h - Pentium Pro - "MC1_ADDR" Machine Check Address 1
  1354. ----------S00000407--------------------------
  1355. MSR 00000407h - Pentium Pro - "MC1_MISC"
  1356. ----------S00000408--------------------------
  1357. MSR 00000408h - Pentium Pro - "MC2_CTL" Machine Check Control 2
  1358. SeeAlso: MSR 00000400h,MSR 00000404h,MSR 0000040Ch
  1359. ----------S00000409--------------------------
  1360. MSR 00000409h - Pentium Pro - "MC2_STATUS" Machine Check Status 2
  1361. ----------S0000040A--------------------------
  1362. MSR 0000040Ah - Pentium Pro - "MC2_ADDR" Machine Check Address 2
  1363. ----------S0000040B--------------------------
  1364. MSR 0000040Bh - Pentium Pro - "MC2_MISC"
  1365. ----------S0000040C--------------------------
  1366. MSR 0000040Ch - Pentium II - "MC4_CTL" Machine Check Control 4
  1367. SeeAlso: MSR 000040Dh,MSR 00000400h,MSR 00000404h,MSR 00000408h
  1368. ----------S0000040D--------------------------
  1369. MSR 0000040Dh - Pentium II - "MC4_STATUS" Machine Check Status 4
  1370. SeeAlso: MSR 000040Ch,MSR 000040Eh
  1371. ----------S0000040E--------------------------
  1372. MSR 0000040Eh - Pentium II - "MC4_ADDR" Machine Check Address 4
  1373. SeeAlso: MSR 000040Ch,MSR 000040Dh
  1374. ----------S00000410--------------------------
  1375. MSR 00000410h - Pentium Pro - "MC3_CTL" Machine Check Control 3
  1376. SeeAlso: MSR 00000400h,MSR 00000404h,MSR 0000040Ch
  1377. ----------S00000411--------------------------
  1378. MSR 00000411h - Pentium Pro - "MC3_STATUS" Machine Check Status 3
  1379. ----------S00000412--------------------------
  1380. MSR 00000412h - Pentium Pro - "MC3_ADDR" Machine Check Address 3
  1381. ----------S00000413--------------------------
  1382. MSR 00000413h - Pentium Pro - "MC3_MISC"
  1383. ----------S00001000--------------------------
  1384. MSR 00001000h - IBM 386/486 SLC - PROCESSOR OPERATION REGISTER
  1385. Size: 19 bits
  1386. Access: Read/Write
  1387. SeeAlso: MSR 00001001h,MSR 00001002h
  1388. Bitfields for IBM 386/486 SLC Processor Operation Register:
  1389. Bit(s) Description (Table R0053)
  1390. 63-19 reserved
  1391. 18 (486SLC only) Low Power PLA
  1392. 17 (486SLC only) Bus Read
  1393. 16 (486SLC only) Cache Parity Generate Error
  1394. 15 enable cacheability of NPX operands
  1395. 14 enable PWI ADS
  1396. 13 enable Low Power Halt Mode (HLT instruction stops CPU clock)
  1397. 12 extended Out instruction (CPU waits for READY after any output)
  1398. 11 cache reload bit
  1399. 10 enable internal KEN# signal
  1400. 9 disable cache lock mode
  1401. 8 reserved
  1402. 7 enable cache
  1403. 6 enable DBCS
  1404. 5 enable Power Interrupt
  1405. 4 enable Flush Snooping
  1406. 3 enable Snoop Input
  1407. 2 address line A20 mask (see also #02753,#P0415)
  1408. 1 enable cache parity checking
  1409. 0 Cache Parity Error occurred
  1410. SeeAlso: #R0054,#R0055
  1411. ----------S00001000--------------------------
  1412. MSR 00001000h - Pentium Pro - DEBUG REGISTER 0
  1413. SeeAlso: MSR 00001001h"Pro",MSR 00001007h"Pro"
  1414. ----------S00001001--------------------------
  1415. MSR 00001001h - IBM 386/486 SLC - CACHE REGION CONTROL REGISTER
  1416. Size: 48 bits
  1417. SeeAlso: MSR 00001000h,MSR 00001002h
  1418. Bitfields for IBM 386/486 SLC Cache Region Control Register:
  1419. Bit(s) Description (Table R0054)
  1420. 63-48 reserved
  1421. 47-32 extended memory cache memory limit (number of 64K blocks above 1M
  1422. which may be cached)
  1423. 31-16 first megabyte read-only flags (each bit represents 64K)
  1424. 15-0 first megabyte cacheable flags (each bit represents 64K)
  1425. SeeAlso: #R0053,#R0055
  1426. ----------S00001001--------------------------
  1427. MSR 00001001h - Pentium Pro - DEBUG REGISTER 1
  1428. SeeAlso: MSR 00001000h"Pro",MSR 00001002h"Pro"
  1429. ----------S00001002--------------------------
  1430. MSR 00001002h - IBM 386/486 SLC - PROCESSOR OPERATION REGISTER
  1431. Size: 30 bits
  1432. SeeAlso: MSR 00001000h,MSR 00001001h,MSR 00001004h
  1433. Bitfields for IBM 386/486 SLC Processor Operation Register:
  1434. Bit(s) Description (Table R0055)
  1435. 63-30 reserved
  1436. 29 enable External Dynamic Frequency Shift
  1437. 28 Dynamic Frequency Shift ready
  1438. 27 Dynamic Frequency Shift Mode
  1439. 26-24 clocking mode
  1440. 000 clock x1
  1441. 011 clock doubler
  1442. 100 clock tripler
  1443. 23-0 reserved
  1444. SeeAlso: #R0053,#R0054
  1445. ----------S00001002--------------------------
  1446. MSR 00001002h - Pentium Pro - DEBUG REGISTER 2
  1447. SeeAlso: MSR 00001001h"Pro",MSR 00001003h"Pro"
  1448. ----------S00001003--------------------------
  1449. MSR 00001003h - Pentium Pro - DEBUG REGISTER 3
  1450. SeeAlso: MSR 00001002h"Pro",MSR 00001004h"Pro"
  1451. ----------S00001004--------------------------
  1452. MSR 00001004h - IBM 486BL3 - PROCESSOR CONTROL REGISTER
  1453. Size: 24 bits
  1454. SeeAlso: MSR 00001000h
  1455. Bitfields for IBM 486BL3 Processor Control Register:
  1456. Bit(s) Description (Table R0056)
  1457. 63-24 reserved
  1458. 23 OS/2 boot (0=DD1 hardware, 1=DD0 hardware)
  1459. 22 MOV CR0,x Decode
  1460. 0: DD0, DD1A, DD1B, DD1D hardware
  1461. 1: DD1C hardware
  1462. 21 reserved
  1463. 20 Cache Low Power (DD1 only: cache disabled when not in use)
  1464. 19 reserved
  1465. 18 NOP timing
  1466. 0: 2 cycles on DD0, 3 cycles on DD1
  1467. 1: 3 cycles on DD0, 2 cycles on DD1
  1468. 17 bus pipelining for 16-bit accesses
  1469. 16-5 reserved???
  1470. 4 MOVS split
  1471. 3 power-saving cache feature
  1472. 2 reserved
  1473. 1 enable MOV CRx decode
  1474. (reserved on DD1B, DD1C)
  1475. 0 reserved
  1476. SeeAlso: MSR 00001000h
  1477. ----------S00001004--------------------------
  1478. MSR 00001004h - Pentium Pro - DEBUG REGISTER 4
  1479. SeeAlso: MSR 00001003h"Pro",MSR 00001005h"Pro"
  1480. ----------S00001005--------------------------
  1481. MSR 00001005h - Pentium Pro - DEBUG REGISTER 5
  1482. SeeAlso: MSR 00001004h"Pro",MSR 00001006h"Pro"
  1483. ----------S00001006--------------------------
  1484. MSR 00001006h - Pentium Pro - DEBUG REGISTER 6
  1485. SeeAlso: MSR 00001005h"Pro",MSR 00001007h"Pro"
  1486. ----------S00001007--------------------------
  1487. MSR 00001007h - Pentium Pro - DEBUG REGISTER 7
  1488. SeeAlso: MSR 00001006h"Pro",MSR 00001000h"Pro",MSR 00002000h"Pro"
  1489. ----------S00002000--------------------------
  1490. MSR 00002000h - Pentium Pro - CONTROL REGISTER 0
  1491. SeeAlso: MSR 00001000h"Pro",MSR 00002002h"Pro"
  1492. ----------S00002002--------------------------
  1493. MSR 00002002h - Pentium Pro - CONTROL REGISTER 2
  1494. SeeAlso: MSR 00002000h"Pro",MSR 00002003h"Pro"
  1495. ----------S00002003--------------------------
  1496. MSR 00002003h - Pentium Pro - CONTROL REGISTER 3
  1497. SeeAlso: MSR 00002002h"Pro",MSR 00002004h"Pro"
  1498. ----------S00002004--------------------------
  1499. MSR 00002004h - Pentium Pro - CONTROL REGISTER 4
  1500. SeeAlso: MSR 00002003h"Pro",MSR 00002000h"Pro"
  1501. ----------S80000000--------------------------
  1502. MSR 80000000h - Pentium - MACHINE CHECK EXCEPTION ADDRESS
  1503. Size: 64 bits
  1504. Access: Read
  1505. SeeAlso: MSR 00000000h,MSR 80000001h
  1506. ----------S80000001--------------------------
  1507. MSR 80000001h - Pentium - MACHINE CHECK EXCEPTION TYPE
  1508. Size: 6 bits
  1509. Access: Read
  1510. SeeAlso: MSR 00000001h,MSR 80000000h
  1511. ----------S80000002--------------------------
  1512. MSR 80000002h - Pentium - (TR1) PARITY REVERSAL TEST REGISTER
  1513. Size: 14 bits
  1514. Access: Write
  1515. SeeAlso: MSR 00000002h
  1516. ----------S80000003--------------------------
  1517. MSR 80000003h - Pentium - unimplemented
  1518. SeeAlso: MSR 00000003h
  1519. ----------S80000004--------------------------
  1520. MSR 80000004h - Pentium - (TR2) INSTRUCTION CACHE END BITS
  1521. Size: 4 bits
  1522. Access: Read/Write
  1523. SeeAlso: MSR 00000004h
  1524. ----------S80000005--------------------------
  1525. MSR 80000005h - Pentium - (TR3) CACHE DATA TEST REGISTER
  1526. Size: 32 bits
  1527. Access: Read/Write
  1528. SeeAlso: MSR 00000005h
  1529. ----------S80000006--------------------------
  1530. MSR 80000006h - Pentium - (TR4) CACHE TAG
  1531. Size: 32 bits
  1532. Access: Read/Write
  1533. SeeAlso: MSR 00000006h
  1534. ----------S80000007--------------------------
  1535. MSR 80000007h - Pentium - (TR5) CACHE CONTROL
  1536. Size: 15 bits
  1537. Access: Write
  1538. SeeAlso: MSR 00000007h
  1539. ----------S80000008--------------------------
  1540. MSR 80000008h - Pentium - (TR6) TLB COMMAND
  1541. Size: 32 bits
  1542. Access: Read/Write
  1543. SeeAlso: MSR 00000008h
  1544. ----------S80000009--------------------------
  1545. MSR 80000009h - Pentium - (TR7) TLB DATA
  1546. Size: 32 bits
  1547. Access: Read/Write
  1548. SeeAlso: MSR 00000009h
  1549. ----------S8000000A--------------------------
  1550. MSR 8000000Ah O - Pentium A-step - (TR8) 36-BIT TLB DATA TEST REGISTER
  1551. Size: 4 bits
  1552. SeeAlso: MSR 0000000Ah,#R0009
  1553. ----------S8000000B--------------------------
  1554. MSR 8000000Bh - Pentium - (TR9) BRANCH TARGET BUFFER TAG
  1555. Size: 32 bits
  1556. Access: Read/Write
  1557. SeeAlso: MSR 0000000Bh
  1558. ----------S8000000C--------------------------
  1559. MSR 8000000Ch - Pentium - (TR10) BRANCH TARGET BUFFER TARGET
  1560. Size: 32 bits
  1561. Access: Read/Write
  1562. SeeAlso: MSR 0000000Ch
  1563. ----------S8000000D--------------------------
  1564. MSR 8000000Dh - Pentium - (TR11) BRANCH TARGET BUFFER CONTROL
  1565. Size: 12 bits
  1566. Access: Write
  1567. SeeAlso: MSR 0000000Dh
  1568. ----------S8000000E--------------------------
  1569. MSR 8000000Eh - Pentium - (TR12) NEW FEATURE CONTROL
  1570. Size: 10 bits
  1571. Access: Write
  1572. SeeAlso: MSR 0000000Eh
  1573. ----------S8000000F--------------------------
  1574. MSR 8000000Fh - Pentium - ???
  1575. Size: 1 bit???
  1576. Access: Write
  1577. SeeAlso: MSR 0000000Fh
  1578. ----------S80000010--------------------------
  1579. MSR 80000010h - Pentium - TIME STAMP COUNTER
  1580. Size: 64 bits
  1581. Access: Read/Write
  1582. SeeAlso: MSR 00000010h
  1583. ----------S80000011--------------------------
  1584. MSR 80000011h - Pentium - EVENT COUNTER SELECTION AND CONTROL
  1585. Size: 26 bits
  1586. Access: Read/Write
  1587. SeeAlso: MSR 00000011h,MSR 80000012h,MSR 80000013h
  1588. ----------S80000012--------------------------
  1589. MSR 80000012h - Pentium - EVENT COUNTER #0
  1590. Size: 40 bits
  1591. Access: Read/Write
  1592. SeeAlso: MSR 00000012h,MSR 80000011h,MSR 80000013h
  1593. ----------S80000013--------------------------
  1594. MSR 80000013h - Pentium - EVENT COUNTER #1
  1595. Size: 40 bits
  1596. Access: Read/Write
  1597. SeeAlso: MSR 00000013h,MSR 80000011h,MSR 80000012h
  1598. ----------S80000014--------------------------
  1599. MSR 80000014h - Pentium - ???
  1600. Access: Read
  1601. SeeAlso: MSR 00000014h
  1602. ----------S80000015--------------------------
  1603. MSR 80000015h - Pentium - unimplemented???
  1604. ----------S80000016--------------------------
  1605. MSR 80000016h - Pentium - unimplemented???
  1606. ----------S80000017--------------------------
  1607. MSR 80000017h - Pentium - unimplemented???
  1608. ----------S80000018--------------------------
  1609. MSR 80000018h - Pentium - ??? (PAGING-RELATED)
  1610. Size: 4 bits???
  1611. Access: Read
  1612. ----------S80000019--------------------------
  1613. MSR 80000019h - Pentium - FLOATING POINT - LAST PREFETCHED OPCODE
  1614. Size: 11 bits
  1615. Access: Read
  1616. Desc: this register stores the opcode of the last floating-point opcode to
  1617. be prefetched by the CPU
  1618. SeeAlso: MSR 8000001Ah,MSR 8000001Bh
  1619. Bitfields for Pentium Floating-Point Opcode:
  1620. Bit(s) Description (Table R0057)
  1621. 63-11 reserved (0)
  1622. 10-8 low three bits of first byte of floating-point instruction
  1623. 7-0 second byte of floating-point instruction
  1624. Note: both a standalone FWAIT and the instruction D8h 9Bh are represented
  1625. as 09Bh
  1626. ----------S8000001A--------------------------
  1627. MSR 8000001Ah - Pentium - FLOATING POINT - LAST NON-CONTROL OPCODE
  1628. Size: 11 bits
  1629. Access: Read
  1630. SeeAlso: MSR 80000019h,MSR 8000001Bh,#R0057
  1631. ----------S8000001B--------------------------
  1632. MSR 8000001Bh - Pentium - FLOATING POINT - LAST EXCEPTION OPCODE
  1633. Size: 11 bits
  1634. Access: Read/Write
  1635. SeeAlso: MSR 80000019h,MSR 8000001Ah,#R0057
  1636. ----------S8000001C--------------------------
  1637. MSR 8000001Ch - Pentium - ???
  1638. Size: 4 bits???
  1639. Access: Read
  1640. ----------S8000001D--------------------------
  1641. MSR 8000001Dh - Pentium - PROBE MODE CONTROL REGISTER
  1642. Size: 32 bits
  1643. Access: Read/Write
  1644. Bitfields for Probe Mode Control Register:
  1645. Bit(s) Description (Table R0058)
  1646. 31 (read-only) System Management Mode is active
  1647. 30-3 reserved (0)
  1648. 2 PB1 monitors breakpoint #1 matches instead of performance counter #1
  1649. 1 PB0 monitors breakpoint #0 matches instead of performance counter #0
  1650. 0 ICEBP enabled (every debug exception enters Probe Mode)
  1651. ----------S8000001E--------------------------
  1652. MSR 8000001Eh - Pentium - ???
  1653. Size: 32 bits
  1654. Access: Read/Write
  1655. Note: this may be nothing more than a scratchpad register
  1656. SeeAlso: MSR 8000001Fh
  1657. ----------S8000001F--------------------------
  1658. MSR 8000001Fh - Pentium - ???
  1659. Size: 32 bits
  1660. Access: Read/Write
  1661. Note: this may be nothing more than a scratchpad register
  1662. SeeAlso: MSR 8000001Eh
  1663. ----------SC0000080--------------------------
  1664. MSR C0000080h - AMD K6 - EXTENDED FEATURE ENABLE REGISTER
  1665. Size: 1 bit
  1666. SeeAlso: MSR C0000081h,MSR C0000082h
  1667. Bitfields for AMD K6 Extended Feature Enable Register:
  1668. Bit(s) Description (Table R0059)
  1669. 63-1 reserved
  1670. 0 system call extension (SYSCALL/SYSRET) enabled
  1671. when disabled, both instructions generate an Undefined Opcode
  1672. exception
  1673. Note: CPUID 80000001h should be checked to determine whether the SYSCALL
  1674. extension is implemented by the processor
  1675. SeeAlso: #R0060
  1676. ----------SC0000081--------------------------
  1677. MSR C0000081h - AMD K6 - SYSCALL TARGET ADDRESS
  1678. Size: 48 bits
  1679. Note: if SYSCALL is supported (as indicated by CPUID; SYSCALL is not
  1680. yet implemented in current steppings of the K6), this MSR specifies
  1681. the address to which the SYSCALL instruction (opcode 0Fh 05h -- same
  1682. as 80286 LOADALL!) transfers control, provided it has also been
  1683. enabled via MSR C0000080h
  1684. SeeAlso: MSR C0000080h,MSR C0000082h
  1685. Bitfields for AMD K6 SYSCALL Target Address Register:
  1686. Bit(s) Description (Table R0060)
  1687. 63-48 reserved
  1688. 47-32 CS and SS selector base for SYSCALL/SYSRET
  1689. 31-0 target EIP address for SYSCALL
  1690. SeeAlso: #R0059
  1691. ----------SC0000082--------------------------
  1692. MSR C0000082h - AMD K6 - WRITE-HANDLING CONTROL REGISTER
  1693. Size: 9 bits
  1694. SeeAlso: MSR C0000080h,MSR C0000081h
  1695. Bitfields for AMD K6 Write-Handling Control Register:
  1696. Bit(s) Description (Table R0061)
  1697. 63-9 reserved
  1698. 8 write cacheability detection enabled
  1699. 7-1 write allocate enable limit (in 4M units)
  1700. memory above this limit will not be accessed without a write-allocate
  1701. 0 write allocate enabled for 15-16M region
  1702. Note: the Intel Triton chipset does not support write cacheability detection,
  1703. so bit 8 should be kept clear
  1704. --------!---CREDITS--------------------------
  1705. Christian Ludloff's 80x86.CPU
  1706. Alex V. Potemkin's Opcodes List (OPCODES.LST)
  1707. Intel Pentium Pro Family User's Guide, Volume 3, Appendix C
  1708. --------!---Admin----------------------------
  1709. Highest Table Number = R0061
  1710. --------!---FILELIST-------------------------
  1711. Please redistribute all of the files comprising the interrupt list (listed at
  1712. the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
  1713. quartet of archives named INTER60A through INTER60D (preferably the original
  1714. authenticated PKZIP archives), and the utility and hypertext conversion
  1715. programs in three additional archives called INTER60E.ZIP to INTER60G.ZIP.
  1716. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999 Ralf Brown
  1717. --------!---CONTACT_INFO---------------------
  1718. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  1719. FIDO: Ralf Brown 1:129/26.1