]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Include/Register/Msr/Pentium4Msr.h
UefiCpuPkg/Msr: Add CPUID signature check MACROs
[mirror_edk2.git] / UefiCpuPkg / Include / Register / Msr / Pentium4Msr.h
index 306857fb0de765681cf8efdf118996d036c0679c..8922d56e2f19d764504f77535749689c02d9e5ca 100644 (file)
@@ -6,7 +6,7 @@
   returned is a single 32-bit or 64-bit value, then a data structure is not\r
   provided for that MSR.\r
 \r
-  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -17,7 +17,7 @@
 \r
   @par Specification Reference:\r
   Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 3,\r
-  December 2015, Chapter 35 Model-Specific-Registers (MSR), Section 35-16.\r
+  September 2016, Chapter 35 Model-Specific-Registers (MSR), Section 35.18.\r
 \r
 **/\r
 \r
 \r
 #include <Register/ArchitecturalMsr.h>\r
 \r
+/**\r
+  Is Pentium(R) 4 Processors?\r
+\r
+  @param   DisplayFamily  Display Family ID\r
+  @param   DisplayModel   Display Model ID\r
+\r
+  @retval  TRUE   Yes, it is.\r
+  @retval  FALSE  No, it isn't.\r
+**/\r
+#define IS_PENTIUM_4_PROCESSOR(DisplayFamily, DisplayModel) \\r
+  (DisplayFamily == 0x0F \\r
+   )\r
+\r
 /**\r
   3, 4, 6. Shared. See Section 8.10.5, "Monitor/Mwait Address Range\r
   Determination.".\r
@@ -927,8 +940,8 @@ typedef union {
     ///\r
     UINT32  BTS:1;\r
     ///\r
-    /// [Bit 12] PEBS_UNAVILABLE: Precise Event Based Sampling Unavailable (R)\r
-    /// See Table 35-2. When set, the processor does not support precise\r
+    /// [Bit 12] PEBS_UNAVILABLE: Processor Event Based Sampling Unavailable\r
+    /// (R) See Table 35-2. When set, the processor does not support processor\r
     /// event-based sampling (PEBS); when clear, PEBS is supported.\r
     ///\r
     UINT32  PEBS:1;\r
@@ -1053,7 +1066,7 @@ typedef union {
   0, 1, 2, 3, 4, 6. Unique. Last Exception Record From Linear IP (R)  Contains\r
   a pointer to the last branch instruction that the processor executed prior\r
   to the last exception that was generated or the last interrupt that was\r
-  handled. See Section 17.10.3, "Last Exception Records.". Unique. From Linear\r
+  handled. See Section 17.11.3, "Last Exception Records.". Unique. From Linear\r
   IP Linear address of the last branch instruction (If IA32e mode is active).\r
   From Linear IP Linear address of the last branch instruction. Reserved.\r
 \r
@@ -1076,7 +1089,7 @@ typedef union {
   0, 1, 2, 3, 4, 6. Unique. Last Exception Record To Linear IP (R)  This area\r
   contains a pointer to the target of the last branch instruction that the\r
   processor executed prior to the last exception that was generated or the\r
-  last interrupt that was handled. See Section 17.10.3, "Last Exception\r
+  last interrupt that was handled. See Section 17.11.3, "Last Exception\r
   Records.". Unique. From Linear IP Linear address of the target of the last\r
   branch instruction (If IA-32e mode is active). From Linear IP Linear address\r
   of the target of the last branch instruction. Reserved.\r
@@ -1099,7 +1112,7 @@ typedef union {
 /**\r
   0, 1, 2, 3, 4, 6. Unique. Debug Control (R/W)  Controls how several debug\r
   features are used. Bit definitions are discussed in the referenced section.\r
-  See Section 17.10.1, "MSR_DEBUGCTLA MSR.".\r
+  See Section 17.11.1, "MSR_DEBUGCTLA MSR.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_DEBUGCTLA (0x000001D9)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1121,7 +1134,7 @@ typedef union {
   0, 1, 2, 3, 4, 6. Unique. Last Branch Record Stack TOS (R/W)  Contains an\r
   index (0-3 or 0-15) that points to the top of the last branch record stack\r
   (that is, that points the index of the MSR containing the most recent branch\r
-  record). See Section 17.10.2, "LBR Stack for Processors Based on Intel\r
+  record). See Section 17.11.2, "LBR Stack for Processors Based on Intel\r
   NetBurst(R) Microarchitecture"; and addresses 1DBH-1DEH and 680H-68FH.\r
 \r
   @param  ECX  MSR_PENTIUM_4_LASTBRANCH_TOS (0x000001DA)\r
@@ -1147,7 +1160,7 @@ typedef union {
   exceptions, or interrupts that the processor took. MSR_LASTBRANCH_0 through\r
   MSR_LASTBRANCH_3 at 1DBH-1DEH are available only on family 0FH, models\r
   0H-02H. They have been replaced by the MSRs at 680H68FH and 6C0H-6CFH. See\r
-  Section 17.9, "Last Branch, Call Stack, Interrupt, and Exception Recording\r
+  Section 17.10, "Last Branch, Call Stack, Interrupt, and Exception Recording\r
   for Processors based on Skylake Microarchitecture.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_LASTBRANCH_n\r
@@ -1175,7 +1188,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.2, "Performance Counters.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.2, "Performance Counters.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_BPU_COUNTERn\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1202,7 +1215,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.2, "Performance Counters.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.2, "Performance Counters.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_MS_COUNTERn\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1229,7 +1242,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.2, "Performance Counters.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.2, "Performance Counters.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_FLAME_COUNTERn (0x00000308)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1256,7 +1269,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.2, "Performance Counters.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.2, "Performance Counters.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_IQ_COUNTERn\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1287,7 +1300,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.3, "CCCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.3, "CCCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_BPU_CCCRn\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1314,7 +1327,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.3, "CCCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.3, "CCCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_MS_CCCRn\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1341,7 +1354,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.3, "CCCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.3, "CCCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_FLAME_CCCRn\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1368,7 +1381,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.3, "CCCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.3, "CCCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_IQ_CCCRn\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1399,7 +1412,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_BSU_ESCR0 (0x000003A0)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1418,7 +1431,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_BSU_ESCR1 (0x000003A1)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1437,7 +1450,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_FSB_ESCR0 (0x000003A2)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1456,7 +1469,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_FSB_ESCR1 (0x000003A3)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1475,7 +1488,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_FIRM_ESCR0 (0x000003A4)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1494,7 +1507,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_FIRM_ESCR1 (0x000003A5)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1513,7 +1526,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_FLAME_ESCR0 (0x000003A6)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1532,7 +1545,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_FLAME_ESCR1 (0x000003A7)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1551,7 +1564,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_DAC_ESCR0 (0x000003A8)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1570,7 +1583,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_DAC_ESCR1 (0x000003A9)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1589,7 +1602,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_MOB_ESCR0 (0x000003AA)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1608,7 +1621,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_MOB_ESCR1 (0x000003AB)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1627,7 +1640,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_PMH_ESCR0 (0x000003AC)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1646,7 +1659,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_PMH_ESCR1 (0x000003AD)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1665,7 +1678,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_SAAT_ESCR0 (0x000003AE)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1684,7 +1697,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_SAAT_ESCR1 (0x000003AF)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1703,7 +1716,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_U2L_ESCR0 (0x000003B0)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1722,7 +1735,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_U2L_ESCR1 (0x000003B1)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1741,7 +1754,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_BPU_ESCR0 (0x000003B2)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1760,7 +1773,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_BPU_ESCR1 (0x000003B3)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1779,7 +1792,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_IS_ESCR0 (0x000003B4)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1798,7 +1811,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_IS_ESCR1 (0x000003B5)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1817,7 +1830,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_ITLB_ESCR0 (0x000003B6)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1836,7 +1849,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_ITLB_ESCR1 (0x000003B7)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1855,7 +1868,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_CRU_ESCR0 (0x000003B8)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1874,7 +1887,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_CRU_ESCR1 (0x000003B9)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1893,7 +1906,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2. Shared. See Section 18.12.1, "ESCR MSRs." This MSR is not available\r
+  0, 1, 2. Shared. See Section 18.15.1, "ESCR MSRs." This MSR is not available\r
   on later processors. It is only available on processor family 0FH, models\r
   01H-02H.\r
 \r
@@ -1914,7 +1927,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2. Shared. See Section 18.12.1, "ESCR MSRs." This MSR is not available\r
+  0, 1, 2. Shared. See Section 18.15.1, "ESCR MSRs." This MSR is not available\r
   on later processors. It is only available on processor family 0FH, models\r
   01H-02H.\r
 \r
@@ -1935,7 +1948,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_RAT_ESCR0 (0x000003BC)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1954,7 +1967,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_RAT_ESCR1 (0x000003BD)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1973,7 +1986,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_SSU_ESCR0 (0x000003BE)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -1992,7 +2005,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_MS_ESCR0 (0x000003C0)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2011,7 +2024,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_MS_ESCR1 (0x000003C1)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2030,7 +2043,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_TBPU_ESCR0 (0x000003C2)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2049,7 +2062,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_TBPU_ESCR1 (0x000003C3)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2068,7 +2081,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_TC_ESCR0 (0x000003C4)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2087,7 +2100,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_TC_ESCR1 (0x000003C5)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2106,7 +2119,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_IX_ESCR0 (0x000003C8)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2125,7 +2138,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_IX_ESCR1 (0x000003C9)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2144,7 +2157,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_ALF_ESCRn\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2175,7 +2188,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.15.1, "ESCR MSRs.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_TC_PRECISE_EVENT (0x000003F0)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2194,8 +2207,8 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. Precise Event-Based Sampling (PEBS) (R/W)\r
-  Controls the enabling of precise event sampling and replay tagging.\r
+  0, 1, 2, 3, 4, 6. Shared. Processor Event Based Sampling (PEBS) (R/W)\r
+  Controls the enabling of processor event sampling and replay tagging.\r
 \r
   @param  ECX  MSR_PENTIUM_4_PEBS_ENABLE (0x000003F1)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2223,7 +2236,7 @@ typedef union {
   ///\r
   struct {\r
     ///\r
-    /// [Bits 12:0] See Table 19-26.\r
+    /// [Bits 12:0] See Table 19-33.\r
     ///\r
     UINT32  EventNum:13;\r
     UINT32  Reserved1:11;\r
@@ -2234,7 +2247,7 @@ typedef union {
     ///\r
     /// [Bit 25] ENABLE_PEBS_MY_THR (R/W) Enables PEBS for the target logical\r
     /// processor when set; disables PEBS when clear (default). See Section\r
-    /// 18.13.3, "IA32_PEBS_ENABLE MSR," for an explanation of the target\r
+    /// 18.16.3, "IA32_PEBS_ENABLE MSR," for an explanation of the target\r
     /// logical processor. This bit is called ENABLE_PEBS in IA-32 processors\r
     /// that do not support Intel HyperThreading Technology.\r
     ///\r
@@ -2242,7 +2255,7 @@ typedef union {
     ///\r
     /// [Bit 26] ENABLE_PEBS_OTH_THR (R/W) Enables PEBS for the target logical\r
     /// processor when set; disables PEBS when clear (default). See Section\r
-    /// 18.13.3, "IA32_PEBS_ENABLE MSR," for an explanation of the target\r
+    /// 18.16.3, "IA32_PEBS_ENABLE MSR," for an explanation of the target\r
     /// logical processor. This bit is reserved for IA-32 processors that do\r
     /// not support Intel Hyper-Threading Technology.\r
     ///\r
@@ -2262,7 +2275,7 @@ typedef union {
 \r
 \r
 /**\r
-  0, 1, 2, 3, 4, 6. Shared. See Table 19-26.\r
+  0, 1, 2, 3, 4, 6. Shared. See Table 19-33.\r
 \r
   @param  ECX  MSR_PENTIUM_4_PEBS_MATRIX_VERT (0x000003F2)\r
   @param  EAX  Lower 32-bits of MSR value.\r
@@ -2288,7 +2301,7 @@ typedef union {
   680H-68FH, 6C0H-6CfH are not available in processor releases before family\r
   0FH, model 03H. These MSRs replace MSRs previously located at\r
   1DBH-1DEH.which performed the same function for early releases. See Section\r
-  17.9, "Last Branch, Call Stack, Interrupt, and Exception Recording for\r
+  17.10, "Last Branch, Call Stack, Interrupt, and Exception Recording for\r
   Processors based on Skylake Microarchitecture.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_LASTBRANCH_n_FROM_IP\r
@@ -2344,7 +2357,7 @@ typedef union {
   record registers on the last branch record stack (6C0H-6CFH). This part of\r
   the stack contains pointers to the destination instruction for one of the\r
   last 16 branches, exceptions, or interrupts that the processor took. See\r
-  Section 17.9, "Last Branch, Call Stack, Interrupt, and Exception Recording\r
+  Section 17.10, "Last Branch, Call Stack, Interrupt, and Exception Recording\r
   for Processors based on Skylake Microarchitecture.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_LASTBRANCH_n_TO_IP\r
@@ -2397,7 +2410,7 @@ typedef union {
 \r
 /**\r
   3, 4. Shared. IFSB BUSQ Event Control and Counter  Register (R/W) See\r
-  Section 18.17, "Performance Monitoring on 64-bit Intel Xeon Processor MP\r
+  Section 18.21, "Performance Monitoring on 64-bit Intel Xeon Processor MP\r
   with Up to 8-MByte L3 Cache.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_IFSB_BUSQ0 (0x000107CC)\r
@@ -2437,7 +2450,7 @@ typedef union {
 \r
 /**\r
   3, 4. Shared. IFSB SNPQ Event Control and Counter  Register (R/W)  See\r
-  Section 18.17, "Performance Monitoring on 64-bit Intel Xeon Processor MP\r
+  Section 18.21, "Performance Monitoring on 64-bit Intel Xeon Processor MP\r
   with Up to 8-MByte L3 Cache.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_IFSB_SNPQ0 (0x000107CE)\r
@@ -2477,7 +2490,7 @@ typedef union {
 \r
 /**\r
   3, 4. Shared. EFSB DRDY Event Control and Counter  Register (R/W)  See\r
-  Section 18.17, "Performance Monitoring on 64-bit Intel Xeon Processor MP\r
+  Section 18.21, "Performance Monitoring on 64-bit Intel Xeon Processor MP\r
   with Up to 8-MByte L3 Cache" for details.\r
 \r
   @param  ECX  MSR_PENTIUM_4_EFSB_DRDY0 (0x000107D0)\r
@@ -2516,7 +2529,7 @@ typedef union {
 \r
 \r
 /**\r
-  3, 4. Shared. IFSB Latency Event Control Register (R/W) See Section 18.17,\r
+  3, 4. Shared. IFSB Latency Event Control Register (R/W) See Section 18.21,\r
   "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte\r
   L3 Cache" for details.\r
 \r
@@ -2537,7 +2550,7 @@ typedef union {
 \r
 \r
 /**\r
-  3, 4. Shared. IFSB Latency Event Counter Register  (R/W)  See Section 18.17,\r
+  3, 4. Shared. IFSB Latency Event Counter Register  (R/W)  See Section 18.21,\r
   "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte\r
   L3 Cache.".\r
 \r
@@ -2558,7 +2571,7 @@ typedef union {
 \r
 \r
 /**\r
-  6. Shared. GBUSQ Event Control and Counter Register (R/W) See Section 18.17,\r
+  6. Shared. GBUSQ Event Control and Counter Register (R/W) See Section 18.21,\r
   "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte\r
   L3 Cache.".\r
 \r
@@ -2599,7 +2612,7 @@ typedef union {
 \r
 /**\r
   6. Shared. GSNPQ Event Control and Counter Register (R/W)  See Section\r
-  18.17, "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to\r
+  18.21, "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to\r
   8-MByte L3 Cache.".\r
 \r
   @param  ECX  MSR_PENTIUM_4_EMON_L3_CTR_CTL2 (0x000107CE)\r
@@ -2638,7 +2651,7 @@ typedef union {
 \r
 \r
 /**\r
-  6. Shared. FSB Event Control and Counter Register  (R/W)  See Section 18.17,\r
+  6. Shared. FSB Event Control and Counter Register  (R/W)  See Section 18.21,\r
   "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte\r
   L3 Cache" for details.\r
 \r