]> git.proxmox.com Git - mirror_edk2.git/commitdiff
UefiCpuPkg/Include: Add Pentium 4 MSR include file
authorMichael Kinney <michael.d.kinney@intel.com>
Tue, 8 Mar 2016 22:04:28 +0000 (14:04 -0800)
committerMichael Kinney <michael.d.kinney@intel.com>
Sun, 13 Mar 2016 18:59:32 +0000 (11:59 -0700)
Add Pentium 4 MSRs from:
Intel(R) 64 and IA-32 Architectures Software Developer's
Manual, Volume 3, December 2015, Chapter 35
Model-Specific-Registers (MSR), Section 35-16.

Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
UefiCpuPkg/Include/Register/Msr/Pentium4Msr.h [new file with mode: 0644]

diff --git a/UefiCpuPkg/Include/Register/Msr/Pentium4Msr.h b/UefiCpuPkg/Include/Register/Msr/Pentium4Msr.h
new file mode 100644 (file)
index 0000000..caeb5bb
--- /dev/null
@@ -0,0 +1,2550 @@
+/** @file\r
+  MSR Definitions for Pentium(R) 4 Processors.\r
+\r
+  Provides defines for Machine Specific Registers(MSR) indexes. Data structures\r
+  are provided for MSRs that contain one or more bit fields.  If the MSR value\r
+  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
+  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
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\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
+\r
+**/\r
+\r
+#ifndef __PENTIUM_4_MSR_H__\r
+#define __PENTIUM_4_MSR_H__\r
+\r
+#include <Register/ArchitecturalMsr.h>\r
+\r
+/**\r
+  3, 4, 6. Shared. See Section 8.10.5, "Monitor/Mwait Address Range\r
+  Determination.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IA32_MONITOR_FILTER_LINE_SIZE (0x00000006)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IA32_MONITOR_FILTER_LINE_SIZE);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IA32_MONITOR_FILTER_LINE_SIZE, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IA32_MONITOR_FILTER_LINE_SIZE 0x00000006\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. Processor Hard Power-On Configuration (R/W)\r
+  Enables and disables processor features; (R) indicates current processor\r
+  configuration.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EBC_HARD_POWERON (0x0000002A)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_EBC_HARD_POWERON_REGISTER.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_EBC_HARD_POWERON_REGISTER.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  MSR_PENTIUM_4_EBC_HARD_POWERON_REGISTER  Msr;\r
+\r
+  Msr.Uint64 = AsmReadMsr64 (MSR_PENTIUM_4_EBC_HARD_POWERON);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EBC_HARD_POWERON, Msr.Uint64);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EBC_HARD_POWERON           0x0000002A\r
+\r
+/**\r
+  MSR information returned for MSR index #MSR_PENTIUM_4_EBC_HARD_POWERON\r
+**/\r
+typedef union {\r
+  ///\r
+  /// Individual bit fields\r
+  ///\r
+  struct {\r
+    ///\r
+    /// [Bit 0] Output Tri-state Enabled (R) Indicates whether tri-state\r
+    /// output is enabled (1) or disabled (0) as set by the strapping of SMI#.\r
+    /// The value in this bit is written on the deassertion of RESET#; the bit\r
+    /// is set to 1 when the address bus signal is asserted.\r
+    ///\r
+    UINT32  OutputTriStateEnabled:1;\r
+    ///\r
+    /// [Bit 1] Execute BIST (R)  Indicates whether the execution of the BIST\r
+    /// is enabled (1) or disabled (0) as set by the strapping of INIT#. The\r
+    /// value in this bit is written on the deassertion of RESET#; the bit is\r
+    /// set to 1 when the address bus signal is asserted.\r
+    ///\r
+    UINT32  ExecuteBIST:1;\r
+    ///\r
+    /// [Bit 2] In Order Queue Depth (R) Indicates whether the in order queue\r
+    /// depth for the system bus is 1 (1) or up to 12 (0) as set by the\r
+    /// strapping of A7#. The value in this bit is written on the deassertion\r
+    /// of RESET#; the bit is set to 1 when the address bus signal is asserted.\r
+    ///\r
+    UINT32  InOrderQueueDepth:1;\r
+    ///\r
+    /// [Bit 3] MCERR# Observation Disabled (R) Indicates whether MCERR#\r
+    /// observation is enabled (0) or disabled (1) as determined by the\r
+    /// strapping of A9#. The value in this bit is written on the deassertion\r
+    /// of RESET#; the bit is set to 1 when the address bus signal is asserted.\r
+    ///\r
+    UINT32  MCERR_ObservationDisabled:1;\r
+    ///\r
+    /// [Bit 4] BINIT# Observation Enabled (R) Indicates whether BINIT#\r
+    /// observation is enabled (0) or disabled (1) as determined by the\r
+    /// strapping of A10#. The value in this bit is written on the deassertion\r
+    /// of RESET#; the bit is set to 1 when the address bus signal is asserted.\r
+    ///\r
+    UINT32  BINIT_ObservationEnabled:1;\r
+    ///\r
+    /// [Bits 6:5] APIC Cluster ID (R)  Contains the logical APIC cluster ID\r
+    /// value as set by the strapping of A12# and A11#. The logical cluster ID\r
+    /// value is written into the field on the deassertion of RESET#; the\r
+    /// field is set to 1 when the address bus signal is asserted.\r
+    ///\r
+    UINT32  APICClusterID:2;\r
+    ///\r
+    /// [Bit 7] Bus Park Disable (R)  Indicates whether bus park is enabled\r
+    /// (0) or disabled (1) as set by the strapping of A15#. The value in this\r
+    /// bit is written on the deassertion of RESET#; the bit is set to 1 when\r
+    /// the address bus signal is asserted.\r
+    ///\r
+    UINT32  BusParkDisable:1;\r
+    UINT32  Reserved1:4;\r
+    ///\r
+    /// [Bits 13:12] Agent ID (R)  Contains the logical agent ID value as set\r
+    /// by the strapping of BR[3:0]. The logical ID value is written into the\r
+    /// field on the deassertion of RESET#; the field is set to 1 when the\r
+    /// address bus signal is asserted.\r
+    ///\r
+    UINT32  AgentID:2;\r
+    UINT32  Reserved2:18;\r
+    UINT32  Reserved3:32;\r
+  } Bits;\r
+  ///\r
+  /// All bit fields as a 32-bit value\r
+  ///\r
+  UINT32  Uint32;\r
+  ///\r
+  /// All bit fields as a 64-bit value\r
+  ///\r
+  UINT64  Uint64;\r
+} MSR_PENTIUM_4_EBC_HARD_POWERON_REGISTER;\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. Processor Soft Power-On Configuration (R/W)\r
+  Enables and disables processor features.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EBC_SOFT_POWERON (0x0000002B)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_EBC_SOFT_POWERON_REGISTER.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_EBC_SOFT_POWERON_REGISTER.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  MSR_PENTIUM_4_EBC_SOFT_POWERON_REGISTER  Msr;\r
+\r
+  Msr.Uint64 = AsmReadMsr64 (MSR_PENTIUM_4_EBC_SOFT_POWERON);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EBC_SOFT_POWERON, Msr.Uint64);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EBC_SOFT_POWERON           0x0000002B\r
+\r
+/**\r
+  MSR information returned for MSR index #MSR_PENTIUM_4_EBC_SOFT_POWERON\r
+**/\r
+typedef union {\r
+  ///\r
+  /// Individual bit fields\r
+  ///\r
+  struct {\r
+    ///\r
+    /// [Bit 0] RCNT/SCNT On Request Encoding Enable (R/W)  Controls the\r
+    /// driving of RCNT/SCNT on the request encoding. Set to enable (1); clear\r
+    /// to disabled (0, default).\r
+    ///\r
+    UINT32  RCNT_SCNT:1;\r
+    ///\r
+    /// [Bit 1] Data Error Checking Disable (R/W)  Set to disable system data\r
+    /// bus parity checking; clear to enable parity checking.\r
+    ///\r
+    UINT32  DataErrorCheckingDisable:1;\r
+    ///\r
+    /// [Bit 2] Response Error Checking Disable (R/W) Set to disable\r
+    /// (default); clear to enable.\r
+    ///\r
+    UINT32  ResponseErrorCheckingDisable:1;\r
+    ///\r
+    /// [Bit 3] Address/Request Error Checking Disable (R/W) Set to disable\r
+    /// (default); clear to enable.\r
+    ///\r
+    UINT32  AddressRequestErrorCheckingDisable:1;\r
+    ///\r
+    /// [Bit 4] Initiator MCERR# Disable (R/W) Set to disable MCERR# driving\r
+    /// for initiator bus requests (default); clear to enable.\r
+    ///\r
+    UINT32  InitiatorMCERR_Disable:1;\r
+    ///\r
+    /// [Bit 5] Internal MCERR# Disable (R/W) Set to disable MCERR# driving\r
+    /// for initiator internal errors (default); clear to enable.\r
+    ///\r
+    UINT32  InternalMCERR_Disable:1;\r
+    ///\r
+    /// [Bit 6] BINIT# Driver Disable (R/W)  Set to disable BINIT# driver\r
+    /// (default); clear to enable driver.\r
+    ///\r
+    UINT32  BINIT_DriverDisable:1;\r
+    UINT32  Reserved1:25;\r
+    UINT32  Reserved2:32;\r
+  } Bits;\r
+  ///\r
+  /// All bit fields as a 32-bit value\r
+  ///\r
+  UINT32  Uint32;\r
+  ///\r
+  /// All bit fields as a 64-bit value\r
+  ///\r
+  UINT64  Uint64;\r
+} MSR_PENTIUM_4_EBC_SOFT_POWERON_REGISTER;\r
+\r
+\r
+/**\r
+  2,3, 4, 6. Shared. Processor Frequency Configuration The bit field layout of\r
+  this MSR varies according to the MODEL value in the CPUID version\r
+  information. The following bit field layout applies to Pentium 4 and Xeon\r
+  Processors with MODEL encoding equal or greater than 2. (R) The field\r
+  Indicates the current processor frequency configuration.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EBC_FREQUENCY_ID (0x0000002C)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_EBC_FREQUENCY_ID_REGISTER.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_EBC_FREQUENCY_ID_REGISTER.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  MSR_PENTIUM_4_EBC_FREQUENCY_ID_REGISTER  Msr;\r
+\r
+  Msr.Uint64 = AsmReadMsr64 (MSR_PENTIUM_4_EBC_FREQUENCY_ID);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EBC_FREQUENCY_ID           0x0000002C\r
+\r
+/**\r
+  MSR information returned for MSR index #MSR_PENTIUM_4_EBC_FREQUENCY_ID\r
+**/\r
+typedef union {\r
+  ///\r
+  /// Individual bit fields\r
+  ///\r
+  struct {\r
+    UINT32  Reserved1:16;\r
+    ///\r
+    /// [Bits 18:16] Scalable Bus Speed (R/W) Indicates the intended scalable\r
+    /// bus speed: *EncodingScalable Bus Speed*\r
+    ///\r
+    ///   000B 100 MHz (Model 2).\r
+    ///   000B 266 MHz (Model 3 or 4)\r
+    ///   001B 133 MHz\r
+    ///   010B 200 MHz\r
+    ///   011B 166 MHz\r
+    ///   100B 333 MHz (Model 6)\r
+    ///\r
+    ///   133.33 MHz should be utilized if performing calculation with System\r
+    ///   Bus Speed when encoding is 001B. 166.67 MHz should be utilized if\r
+    ///   performing calculation with System Bus Speed when encoding is 011B.\r
+    ///   266.67 MHz should be utilized if performing calculation with System\r
+    ///   Bus Speed when encoding is 000B and model encoding = 3 or 4. 333.33\r
+    ///   MHz should be utilized if performing calculation with System Bus\r
+    ///   Speed when encoding is 100B and model encoding = 6. All other values\r
+    ///   are reserved.\r
+    ///\r
+    UINT32  ScalableBusSpeed:3;\r
+    UINT32  Reserved2:5;\r
+    ///\r
+    /// [Bits 31:24] Core Clock Frequency to System Bus  Frequency Ratio (R)\r
+    /// The processor core clock frequency to system bus frequency ratio\r
+    /// observed at the de-assertion of the reset pin.\r
+    ///\r
+    UINT32  ClockRatio:8;\r
+    UINT32  Reserved3:32;\r
+  } Bits;\r
+  ///\r
+  /// All bit fields as a 32-bit value\r
+  ///\r
+  UINT32  Uint32;\r
+  ///\r
+  /// All bit fields as a 64-bit value\r
+  ///\r
+  UINT64  Uint64;\r
+} MSR_PENTIUM_4_EBC_FREQUENCY_ID_REGISTER;\r
+\r
+\r
+/**\r
+  0, 1. Shared. Processor Frequency Configuration (R)  The bit field layout of\r
+  this MSR varies according to the MODEL value of the CPUID version\r
+  information. This bit field layout applies to Pentium 4 and Xeon Processors\r
+  with MODEL encoding less than 2. Indicates current processor frequency\r
+  configuration.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EBC_FREQUENCY_ID_1 (0x0000002C)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_EBC_FREQUENCY_ID_1_REGISTER.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_EBC_FREQUENCY_ID_1_REGISTER.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  MSR_PENTIUM_4_EBC_FREQUENCY_ID_1_REGISTER  Msr;\r
+\r
+  Msr.Uint64 = AsmReadMsr64 (MSR_PENTIUM_4_EBC_FREQUENCY_ID_1);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EBC_FREQUENCY_ID_1         0x0000002C\r
+\r
+/**\r
+  MSR information returned for MSR index #MSR_PENTIUM_4_EBC_FREQUENCY_ID_1\r
+**/\r
+typedef union {\r
+  ///\r
+  /// Individual bit fields\r
+  ///\r
+  struct {\r
+    UINT32  Reserved1:21;\r
+    ///\r
+    /// [Bits 23:21] Scalable Bus Speed (R/W) Indicates the intended scalable\r
+    /// bus speed: *Encoding* *Scalable Bus Speed*\r
+    ///\r
+    ///   000B 100 MHz All others values reserved.\r
+    ///\r
+    UINT32  ScalableBusSpeed:3;\r
+    UINT32  Reserved2:8;\r
+    UINT32  Reserved3:32;\r
+  } Bits;\r
+  ///\r
+  /// All bit fields as a 32-bit value\r
+  ///\r
+  UINT32  Uint32;\r
+  ///\r
+  /// All bit fields as a 64-bit value\r
+  ///\r
+  UINT64  Uint64;\r
+} MSR_PENTIUM_4_EBC_FREQUENCY_ID_1_REGISTER;\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check EAX/RAX Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RAX (0x00000180)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RAX);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RAX, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RAX                    0x00000180\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check EBX/RBX Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RBX (0x00000181)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RBX);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RBX, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RBX                    0x00000181\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check ECX/RCX Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RCX (0x00000182)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RCX);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RCX, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RCX                    0x00000182\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check EDX/RDX Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RDX (0x00000183)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RDX);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RDX, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RDX                    0x00000183\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check ESI/RSI Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RSI (0x00000184)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RSI);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RSI, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RSI                    0x00000184\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check EDI/RDI Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RDI (0x00000185)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RDI);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RDI, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RDI                    0x00000185\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check EBP/RBP Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RBP (0x00000186)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RBP);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RBP, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RBP                    0x00000186\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check ESP/RSP Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RSP (0x00000187)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RSP);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RSP, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RSP                    0x00000187\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check EFLAGS/RFLAG Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RFLAGS (0x00000188)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RFLAGS);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RFLAGS, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RFLAGS                 0x00000188\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check EIP/RIP Save State See Section\r
+  15.3.2.6, "IA32_MCG Extended Machine Check State MSRs.". Contains register\r
+  state at time of machine check error. When in non-64-bit modes at the time\r
+  of the error, bits 63-32 do not contain valid data.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_RIP (0x00000189)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_RIP);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_RIP, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_RIP                    0x00000189\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check Miscellaneous See Section 15.3.2.6,\r
+  "IA32_MCG Extended Machine Check State MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_MISC (0x0000018A)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_MCG_MISC_REGISTER.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_MCG_MISC_REGISTER.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  MSR_PENTIUM_4_MCG_MISC_REGISTER  Msr;\r
+\r
+  Msr.Uint64 = AsmReadMsr64 (MSR_PENTIUM_4_MCG_MISC);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_MISC, Msr.Uint64);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_MISC                   0x0000018A\r
+\r
+/**\r
+  MSR information returned for MSR index #MSR_PENTIUM_4_MCG_MISC\r
+**/\r
+typedef union {\r
+  ///\r
+  /// Individual bit fields\r
+  ///\r
+  struct {\r
+    ///\r
+    /// [Bit 0] DS When set, the bit indicates that a page assist or page\r
+    /// fault occurred during DS normal operation. The processors response is\r
+    /// to shut down. The bit is used as an aid for debugging DS handling\r
+    /// code. It is the responsibility of the user (BIOS or operating system)\r
+    /// to clear this bit for normal operation.\r
+    ///\r
+    UINT32  DS:1;\r
+    UINT32  Reserved1:31;\r
+    UINT32  Reserved2:32;\r
+  } Bits;\r
+  ///\r
+  /// All bit fields as a 32-bit value\r
+  ///\r
+  UINT32  Uint32;\r
+  ///\r
+  /// All bit fields as a 64-bit value\r
+  ///\r
+  UINT64  Uint64;\r
+} MSR_PENTIUM_4_MCG_MISC_REGISTER;\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check R8 See Section 15.3.2.6, "IA32_MCG\r
+  Extended Machine Check State MSRs.". Registers R8-15 (and the associated\r
+  state-save MSRs) exist only in Intel 64 processors. These registers contain\r
+  valid information only when the processor is operating in 64-bit mode at the\r
+  time of the error.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_R8 (0x00000190)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_R8);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_R8, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_R8                     0x00000190\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check R9D/R9 See Section 15.3.2.6,\r
+  "IA32_MCG Extended Machine Check State MSRs.". Registers R8-15 (and the\r
+  associated state-save MSRs) exist only in Intel 64 processors. These\r
+  registers contain valid information only when the processor is operating in\r
+  64-bit mode at the time of the error.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_R9 (0x00000191)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_R9);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_R9, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_R9                     0x00000191\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check R10 See Section 15.3.2.6, "IA32_MCG\r
+  Extended Machine Check State MSRs.". Registers R8-15 (and the associated\r
+  state-save MSRs) exist only in Intel 64 processors. These registers contain\r
+  valid information only when the processor is operating in 64-bit mode at the\r
+  time of the error.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_R10 (0x00000192)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_R10);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_R10, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_R10                    0x00000192\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check R11 See Section 15.3.2.6, "IA32_MCG\r
+  Extended Machine Check State MSRs.". Registers R8-15 (and the associated\r
+  state-save MSRs) exist only in Intel 64 processors. These registers contain\r
+  valid information only when the processor is operating in 64-bit mode at the\r
+  time of the error.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_R11 (0x00000193)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_R11);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_R11, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_R11                    0x00000193\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check R12 See Section 15.3.2.6, "IA32_MCG\r
+  Extended Machine Check State MSRs.". Registers R8-15 (and the associated\r
+  state-save MSRs) exist only in Intel 64 processors. These registers contain\r
+  valid information only when the processor is operating in 64-bit mode at the\r
+  time of the error.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_R12 (0x00000194)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_R12);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_R12, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_R12                    0x00000194\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check R13 See Section 15.3.2.6, "IA32_MCG\r
+  Extended Machine Check State MSRs.". Registers R8-15 (and the associated\r
+  state-save MSRs) exist only in Intel 64 processors. These registers contain\r
+  valid information only when the processor is operating in 64-bit mode at the\r
+  time of the error.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_R13 (0x00000195)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_R13);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_R13, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_R13                    0x00000195\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check R14 See Section 15.3.2.6, "IA32_MCG\r
+  Extended Machine Check State MSRs.". Registers R8-15 (and the associated\r
+  state-save MSRs) exist only in Intel 64 processors. These registers contain\r
+  valid information only when the processor is operating in 64-bit mode at the\r
+  time of the error.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_R14 (0x00000196)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_R14);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_R14, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_R14                    0x00000196\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Unique. Machine Check R15 See Section 15.3.2.6, "IA32_MCG\r
+  Extended Machine Check State MSRs.". Registers R8-15 (and the associated\r
+  state-save MSRs) exist only in Intel 64 processors. These registers contain\r
+  valid information only when the processor is operating in 64-bit mode at the\r
+  time of the error.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MCG_R15 (0x00000197)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MCG_R15);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MCG_R15, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MCG_R15                    0x00000197\r
+\r
+\r
+/**\r
+  Thermal Monitor 2 Control. 3,. Shared. For Family F, Model 3 processors:\r
+  When read, specifies the value of the target TM2 transition last written.\r
+  When set, it sets the next target value for TM2 transition. 4, 6. Shared.\r
+  For Family F, Model 4 and Model 6 processors: When read, specifies the value\r
+  of the target TM2 transition last written. Writes may cause #GP exceptions.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_THERM2_CTL (0x0000019D)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_THERM2_CTL);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_THERM2_CTL, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_THERM2_CTL                 0x0000019D\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. Enable Miscellaneous Processor Features (R/W).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IA32_MISC_ENABLE (0x000001A0)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_IA32_MISC_ENABLE_REGISTER.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_IA32_MISC_ENABLE_REGISTER.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  MSR_PENTIUM_4_IA32_MISC_ENABLE_REGISTER  Msr;\r
+\r
+  Msr.Uint64 = AsmReadMsr64 (MSR_PENTIUM_4_IA32_MISC_ENABLE);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IA32_MISC_ENABLE, Msr.Uint64);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IA32_MISC_ENABLE           0x000001A0\r
+\r
+/**\r
+  MSR information returned for MSR index #MSR_PENTIUM_4_IA32_MISC_ENABLE\r
+**/\r
+typedef union {\r
+  ///\r
+  /// Individual bit fields\r
+  ///\r
+  struct {\r
+    ///\r
+    /// [Bit 0] Fast-Strings Enable. See Table 35-2.\r
+    ///\r
+    UINT32  FastStrings:1;\r
+    UINT32  Reserved1:1;\r
+    ///\r
+    /// [Bit 2] x87 FPU Fopcode Compatibility Mode Enable.\r
+    ///\r
+    UINT32  FPU:1;\r
+    ///\r
+    /// [Bit 3] Thermal Monitor 1 Enable See Section 14.7.2, "Thermal\r
+    /// Monitor," and see Table 35-2.\r
+    ///\r
+    UINT32  TM1:1;\r
+    ///\r
+    /// [Bit 4] Split-Lock Disable When set, the bit causes an #AC exception\r
+    /// to be issued instead of a split-lock cycle. Operating systems that set\r
+    /// this bit must align system structures to avoid split-lock scenarios.\r
+    /// When the bit is clear (default), normal split-locks are issued to the\r
+    /// bus.\r
+    ///   This debug feature is specific to the Pentium 4 processor.\r
+    ///\r
+    UINT32  SplitLockDisable:1;\r
+    UINT32  Reserved2:1;\r
+    ///\r
+    /// [Bit 6] Third-Level Cache Disable (R/W) When set, the third-level\r
+    /// cache is disabled; when clear (default) the third-level cache is\r
+    /// enabled. This flag is reserved for processors that do not have a\r
+    /// third-level cache. Note that the bit controls only the third-level\r
+    /// cache; and only if overall caching is enabled through the CD flag of\r
+    /// control register CR0, the page-level cache controls, and/or the MTRRs.\r
+    /// See Section 11.5.4, "Disabling and Enabling the L3 Cache.".\r
+    ///\r
+    UINT32  ThirdLevelCacheDisable:1;\r
+    ///\r
+    /// [Bit 7] Performance Monitoring Available (R) See Table 35-2.\r
+    ///\r
+    UINT32  PerformanceMonitoring:1;\r
+    ///\r
+    /// [Bit 8] Suppress Lock Enable When set, assertion of LOCK on the bus is\r
+    /// suppressed during a Split Lock access. When clear (default), LOCK is\r
+    /// not suppressed.\r
+    ///\r
+    UINT32  SuppressLockEnable:1;\r
+    ///\r
+    /// [Bit 9] Prefetch Queue Disable When set, disables the prefetch queue.\r
+    /// When clear (default), enables the prefetch queue.\r
+    ///\r
+    UINT32  PrefetchQueueDisable:1;\r
+    ///\r
+    /// [Bit 10] FERR# Interrupt Reporting Enable (R/W)  When set, interrupt\r
+    /// reporting through the FERR# pin is enabled; when clear, this interrupt\r
+    /// reporting function is disabled.\r
+    ///   When this flag is set and the processor is in the stop-clock state\r
+    ///   (STPCLK# is asserted), asserting the FERR# pin signals to the\r
+    ///   processor that an interrupt (such as, INIT#, BINIT#, INTR, NMI,\r
+    ///   SMI#, or RESET#) is pending and that the processor should return to\r
+    ///   normal operation to handle the interrupt. This flag does not affect\r
+    ///   the normal operation of the FERR# pin (to indicate an unmasked\r
+    ///   floatingpoint error) when the STPCLK# pin is not asserted.\r
+    ///\r
+    UINT32  FERR:1;\r
+    ///\r
+    /// [Bit 11] Branch Trace Storage Unavailable (BTS_UNAVILABLE) (R) See\r
+    /// Table 35-2. When set, the processor does not support branch trace\r
+    /// storage (BTS); when clear, BTS is supported.\r
+    ///\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
+    /// event-based sampling (PEBS); when clear, PEBS is supported.\r
+    ///\r
+    UINT32  PEBS:1;\r
+    ///\r
+    /// [Bit 13] 3. TM2 Enable (R/W) When this bit is set (1) and the thermal\r
+    /// sensor indicates that the die temperature is at the predetermined\r
+    /// threshold, the Thermal Monitor 2 mechanism is engaged. TM2 will reduce\r
+    /// the bus to core ratio and voltage according to the value last written\r
+    /// to MSR_THERM2_CTL bits 15:0. When this bit is clear (0, default), the\r
+    /// processor does not change the VID signals or the bus to core ratio\r
+    /// when the processor enters a thermal managed state. If the TM2 feature\r
+    /// flag (ECX[8]) is not set to 1 after executing CPUID with EAX = 1, then\r
+    /// this feature is not supported and BIOS must not alter the contents of\r
+    /// this bit location. The processor is operating out of spec if both this\r
+    /// bit and the TM1 bit are set to disabled states.\r
+    ///\r
+    UINT32  TM2:1;\r
+    UINT32  Reserved3:4;\r
+    ///\r
+    /// [Bit 18] 3, 4, 6. ENABLE MONITOR FSM (R/W) See Table 35-2.\r
+    ///\r
+    UINT32  MONITOR:1;\r
+    ///\r
+    /// [Bit 19] Adjacent Cache Line Prefetch Disable (R/W)  When set to 1,\r
+    /// the processor fetches the cache line of the 128-byte sector containing\r
+    /// currently required data. When set to 0, the processor fetches both\r
+    /// cache lines in the sector.\r
+    ///   Single processor platforms should not set this bit. Server platforms\r
+    ///   should set or clear this bit based on platform performance observed\r
+    ///   in validation and testing. BIOS may contain a setup option that\r
+    ///   controls the setting of this bit.\r
+    ///\r
+    UINT32  AdjacentCacheLinePrefetchDisable:1;\r
+    UINT32  Reserved4:2;\r
+    ///\r
+    /// [Bit 22] 3, 4, 6. Limit CPUID MAXVAL (R/W) See Table 35-2. Setting\r
+    /// this can cause unexpected behavior to software that depends on the\r
+    /// availability of CPUID leaves greater than 3.\r
+    ///\r
+    UINT32  LimitCpuidMaxval:1;\r
+    ///\r
+    /// [Bit 23] Shared. xTPR Message Disable (R/W) See Table 35-2.\r
+    ///\r
+    UINT32  xTPR_Message_Disable:1;\r
+    ///\r
+    /// [Bit 24] L1 Data Cache Context Mode (R/W)  When set, the L1 data cache\r
+    /// is placed in shared mode; when clear (default), the cache is placed in\r
+    /// adaptive mode. This bit is only enabled for IA-32 processors that\r
+    /// support Intel Hyper-Threading Technology. See Section 11.5.6, "L1 Data\r
+    /// Cache Context Mode." When L1 is running in adaptive mode and CR3s are\r
+    /// identical, data in L1 is shared across logical processors. Otherwise,\r
+    /// L1 is not shared and cache use is competitive. If the Context ID\r
+    /// feature flag (ECX[10]) is set to 0 after executing CPUID with EAX = 1,\r
+    /// the ability to switch modes is not supported. BIOS must not alter the\r
+    /// contents of IA32_MISC_ENABLE[24].\r
+    ///\r
+    UINT32  L1DataCacheContextMode:1;\r
+    UINT32  Reserved5:7;\r
+    UINT32  Reserved6:2;\r
+    ///\r
+    /// [Bit 34] Unique. XD Bit Disable (R/W) See Table 35-2.\r
+    ///\r
+    UINT32  XD:1;\r
+    UINT32  Reserved7:29;\r
+  } Bits;\r
+  ///\r
+  /// All bit fields as a 64-bit value\r
+  ///\r
+  UINT64  Uint64;\r
+} MSR_PENTIUM_4_IA32_MISC_ENABLE_REGISTER;\r
+\r
+\r
+/**\r
+  3, 4, 6. Shared. Platform Feature Requirements (R).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_PLATFORM_BRV (0x000001A1)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_PLATFORM_BRV_REGISTER.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_PLATFORM_BRV_REGISTER.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  MSR_PENTIUM_4_PLATFORM_BRV_REGISTER  Msr;\r
+\r
+  Msr.Uint64 = AsmReadMsr64 (MSR_PENTIUM_4_PLATFORM_BRV);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_PLATFORM_BRV               0x000001A1\r
+\r
+/**\r
+  MSR information returned for MSR index #MSR_PENTIUM_4_PLATFORM_BRV\r
+**/\r
+typedef union {\r
+  ///\r
+  /// Individual bit fields\r
+  ///\r
+  struct {\r
+    UINT32  Reserved1:18;\r
+    ///\r
+    /// [Bit 18] PLATFORM Requirements When set to 1, indicates the processor\r
+    /// has specific platform requirements. The details of the platform\r
+    /// requirements are listed in the respective data sheets of the processor.\r
+    ///\r
+    UINT32  PLATFORM:1;\r
+    UINT32  Reserved2:13;\r
+    UINT32  Reserved3:32;\r
+  } Bits;\r
+  ///\r
+  /// All bit fields as a 32-bit value\r
+  ///\r
+  UINT32  Uint32;\r
+  ///\r
+  /// All bit fields as a 64-bit value\r
+  ///\r
+  UINT64  Uint64;\r
+} MSR_PENTIUM_4_PLATFORM_BRV_REGISTER;\r
+\r
+\r
+/**\r
+  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
+  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
+  @param  ECX  MSR_PENTIUM_4_LER_FROM_LIP (0x000001D7)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_LER_FROM_LIP);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_LER_FROM_LIP               0x000001D7\r
+\r
+\r
+/**\r
+  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
+  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
+\r
+  @param  ECX  MSR_PENTIUM_4_LER_TO_LIP (0x000001D8)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_LER_TO_LIP);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_LER_TO_LIP                 0x000001D8\r
+\r
+\r
+/**\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
+\r
+  @param  ECX  MSR_PENTIUM_4_DEBUGCTLA (0x000001D9)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_DEBUGCTLA);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_DEBUGCTLA, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_DEBUGCTLA                  0x000001D9\r
+\r
+\r
+/**\r
+  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
+  NetBurst(R) Microarchitecture"; and addresses 1DBH-1DEH and 680H-68FH.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_LASTBRANCH_TOS (0x000001DA)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_LASTBRANCH_TOS);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_LASTBRANCH_TOS, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_LASTBRANCH_TOS             0x000001DA\r
+\r
+\r
+/**\r
+  0, 1, 2. Unique. Last Branch Record n (R/W)  One of four last branch record\r
+  registers on the last branch record stack. It contains pointers to the\r
+  source and destination instruction for one of the last four branches,\r
+  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
+  for Processors based on Skylake Microarchitecture.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_LASTBRANCH_n\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_LASTBRANCH_0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_LASTBRANCH_0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_LASTBRANCH_0               0x000001DB\r
+#define MSR_PENTIUM_4_LASTBRANCH_1               0x000001DC\r
+#define MSR_PENTIUM_4_LASTBRANCH_2               0x000001DD\r
+#define MSR_PENTIUM_4_LASTBRANCH_3               0x000001DE\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.2, "Performance Counters.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_BPU_COUNTERn\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_BPU_COUNTER0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_BPU_COUNTER0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_BPU_COUNTER0               0x00000300\r
+#define MSR_PENTIUM_4_BPU_COUNTER1               0x00000301\r
+#define MSR_PENTIUM_4_BPU_COUNTER2               0x00000302\r
+#define MSR_PENTIUM_4_BPU_COUNTER3               0x00000303\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.2, "Performance Counters.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MS_COUNTERn\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MS_COUNTER0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MS_COUNTER0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_MS_COUNTER0                0x00000304\r
+#define MSR_PENTIUM_4_MS_COUNTER1                0x00000305\r
+#define MSR_PENTIUM_4_MS_COUNTER2                0x00000306\r
+#define MSR_PENTIUM_4_MS_COUNTER3                0x00000307\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.2, "Performance Counters.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_FLAME_COUNTERn (0x00000308)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_FLAME_COUNTER0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_FLAME_COUNTER0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_FLAME_COUNTER0             0x00000308\r
+#define MSR_PENTIUM_4_FLAME_COUNTER1             0x00000309\r
+#define MSR_PENTIUM_4_FLAME_COUNTER2             0x0000030A\r
+#define MSR_PENTIUM_4_FLAME_COUNTER3             0x0000030B\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.2, "Performance Counters.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IQ_COUNTERn\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IQ_COUNTER0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IQ_COUNTER0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_IQ_COUNTER0                0x0000030C\r
+#define MSR_PENTIUM_4_IQ_COUNTER1                0x0000030D\r
+#define MSR_PENTIUM_4_IQ_COUNTER2                0x0000030E\r
+#define MSR_PENTIUM_4_IQ_COUNTER3                0x0000030F\r
+#define MSR_PENTIUM_4_IQ_COUNTER4                0x00000310\r
+#define MSR_PENTIUM_4_IQ_COUNTER5                0x00000311\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.3, "CCCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_BPU_CCCRn\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_BPU_CCCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_BPU_CCCR0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_BPU_CCCR0                  0x00000360\r
+#define MSR_PENTIUM_4_BPU_CCCR1                  0x00000361\r
+#define MSR_PENTIUM_4_BPU_CCCR2                  0x00000362\r
+#define MSR_PENTIUM_4_BPU_CCCR3                  0x00000363\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.3, "CCCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MS_CCCRn\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MS_CCCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MS_CCCR0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_MS_CCCR0                   0x00000364\r
+#define MSR_PENTIUM_4_MS_CCCR1                   0x00000365\r
+#define MSR_PENTIUM_4_MS_CCCR2                   0x00000366\r
+#define MSR_PENTIUM_4_MS_CCCR3                   0x00000367\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.3, "CCCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_FLAME_CCCRn\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_FLAME_CCCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_FLAME_CCCR0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_FLAME_CCCR0                0x00000368\r
+#define MSR_PENTIUM_4_FLAME_CCCR1                0x00000369\r
+#define MSR_PENTIUM_4_FLAME_CCCR2                0x0000036A\r
+#define MSR_PENTIUM_4_FLAME_CCCR3                0x0000036B\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.3, "CCCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IQ_CCCRn\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IQ_CCCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IQ_CCCR0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_IQ_CCCR0                   0x0000036C\r
+#define MSR_PENTIUM_4_IQ_CCCR1                   0x0000036D\r
+#define MSR_PENTIUM_4_IQ_CCCR2                   0x0000036E\r
+#define MSR_PENTIUM_4_IQ_CCCR3                   0x0000036F\r
+#define MSR_PENTIUM_4_IQ_CCCR4                   0x00000370\r
+#define MSR_PENTIUM_4_IQ_CCCR5                   0x00000371\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_BSU_ESCR0 (0x000003A0)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_BSU_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_BSU_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_BSU_ESCR0                  0x000003A0\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_BSU_ESCR1 (0x000003A1)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_BSU_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_BSU_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_BSU_ESCR1                  0x000003A1\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_FSB_ESCR0 (0x000003A2)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_FSB_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_FSB_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_FSB_ESCR0                  0x000003A2\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_FSB_ESCR1 (0x000003A3)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_FSB_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_FSB_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_FSB_ESCR1                  0x000003A3\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_FIRM_ESCR0 (0x000003A4)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_FIRM_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_FIRM_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_FIRM_ESCR0                 0x000003A4\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_FIRM_ESCR1 (0x000003A5)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_FIRM_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_FIRM_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_FIRM_ESCR1                 0x000003A5\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_FLAME_ESCR0 (0x000003A6)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_FLAME_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_FLAME_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_FLAME_ESCR0                0x000003A6\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_FLAME_ESCR1 (0x000003A7)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_FLAME_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_FLAME_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_FLAME_ESCR1                0x000003A7\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_DAC_ESCR0 (0x000003A8)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_DAC_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_DAC_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_DAC_ESCR0                  0x000003A8\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_DAC_ESCR1 (0x000003A9)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_DAC_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_DAC_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_DAC_ESCR1                  0x000003A9\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MOB_ESCR0 (0x000003AA)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MOB_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MOB_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MOB_ESCR0                  0x000003AA\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MOB_ESCR1 (0x000003AB)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MOB_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MOB_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MOB_ESCR1                  0x000003AB\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_PMH_ESCR0 (0x000003AC)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_PMH_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_PMH_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_PMH_ESCR0                  0x000003AC\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_PMH_ESCR1 (0x000003AD)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_PMH_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_PMH_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_PMH_ESCR1                  0x000003AD\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_SAAT_ESCR0 (0x000003AE)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_SAAT_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_SAAT_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_SAAT_ESCR0                 0x000003AE\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_SAAT_ESCR1 (0x000003AF)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_SAAT_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_SAAT_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_SAAT_ESCR1                 0x000003AF\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_U2L_ESCR0 (0x000003B0)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_U2L_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_U2L_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_U2L_ESCR0                  0x000003B0\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_U2L_ESCR1 (0x000003B1)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_U2L_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_U2L_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_U2L_ESCR1                  0x000003B1\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_BPU_ESCR0 (0x000003B2)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_BPU_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_BPU_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_BPU_ESCR0                  0x000003B2\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_BPU_ESCR1 (0x000003B3)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_BPU_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_BPU_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_BPU_ESCR1                  0x000003B3\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IS_ESCR0 (0x000003B4)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IS_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IS_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IS_ESCR0                   0x000003B4\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IS_ESCR1 (0x000003B5)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IS_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IS_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IS_ESCR1                   0x000003B5\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_ITLB_ESCR0 (0x000003B6)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_ITLB_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_ITLB_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_ITLB_ESCR0                 0x000003B6\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_ITLB_ESCR1 (0x000003B7)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_ITLB_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_ITLB_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_ITLB_ESCR1                 0x000003B7\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_CRU_ESCR0 (0x000003B8)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_CRU_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_CRU_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_CRU_ESCR0                  0x000003B8\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_CRU_ESCR1 (0x000003B9)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_CRU_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_CRU_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_CRU_ESCR1                  0x000003B9\r
+\r
+\r
+/**\r
+  0, 1, 2. Shared. See Section 18.12.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
+  @param  ECX  MSR_PENTIUM_4_IQ_ESCR0 (0x000003BA)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IQ_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IQ_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IQ_ESCR0                   0x000003BA\r
+\r
+\r
+/**\r
+  0, 1, 2. Shared. See Section 18.12.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
+  @param  ECX  MSR_PENTIUM_4_IQ_ESCR1 (0x000003BB)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IQ_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IQ_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IQ_ESCR1                   0x000003BB\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_RAT_ESCR0 (0x000003BC)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_RAT_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_RAT_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_RAT_ESCR0                  0x000003BC\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_RAT_ESCR1 (0x000003BD)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_RAT_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_RAT_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_RAT_ESCR1                  0x000003BD\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_SSU_ESCR0 (0x000003BE)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_SSU_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_SSU_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_SSU_ESCR0                  0x000003BE\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MS_ESCR0 (0x000003C0)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MS_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MS_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MS_ESCR0                   0x000003C0\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_MS_ESCR1 (0x000003C1)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_MS_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_MS_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_MS_ESCR1                   0x000003C1\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_TBPU_ESCR0 (0x000003C2)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_TBPU_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_TBPU_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_TBPU_ESCR0                 0x000003C2\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_TBPU_ESCR1 (0x000003C3)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_TBPU_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_TBPU_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_TBPU_ESCR1                 0x000003C3\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_TC_ESCR0 (0x000003C4)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_TC_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_TC_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_TC_ESCR0                   0x000003C4\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_TC_ESCR1 (0x000003C5)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_TC_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_TC_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_TC_ESCR1                   0x000003C5\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IX_ESCR0 (0x000003C8)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IX_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IX_ESCR0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IX_ESCR0                   0x000003C8\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IX_ESCR1 (0x000003C9)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IX_ESCR1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IX_ESCR1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IX_ESCR1                   0x000003C9\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_ALF_ESCRn\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_ALF_ESCR0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_ALF_ESCR0, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_ALF_ESCR0                  0x000003CA\r
+#define MSR_PENTIUM_4_ALF_ESCR1                  0x000003CB\r
+#define MSR_PENTIUM_4_CRU_ESCR2                  0x000003CC\r
+#define MSR_PENTIUM_4_CRU_ESCR3                  0x000003CD\r
+#define MSR_PENTIUM_4_CRU_ESCR4                  0x000003E0\r
+#define MSR_PENTIUM_4_CRU_ESCR5                  0x000003E1\r
+/// @}\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Section 18.12.1, "ESCR MSRs.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_TC_PRECISE_EVENT (0x000003F0)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_TC_PRECISE_EVENT);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_TC_PRECISE_EVENT, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_TC_PRECISE_EVENT           0x000003F0\r
+\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
+\r
+  @param  ECX  MSR_PENTIUM_4_PEBS_ENABLE (0x000003F1)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_PEBS_ENABLE_REGISTER.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+               Described by the type MSR_PENTIUM_4_PEBS_ENABLE_REGISTER.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  MSR_PENTIUM_4_PEBS_ENABLE_REGISTER  Msr;\r
+\r
+  Msr.Uint64 = AsmReadMsr64 (MSR_PENTIUM_4_PEBS_ENABLE);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_PEBS_ENABLE, Msr.Uint64);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_PEBS_ENABLE                0x000003F1\r
+\r
+/**\r
+  MSR information returned for MSR index #MSR_PENTIUM_4_PEBS_ENABLE\r
+**/\r
+typedef union {\r
+  ///\r
+  /// Individual bit fields\r
+  ///\r
+  struct {\r
+    ///\r
+    /// [Bits 12:0] See Table 19-26.\r
+    ///\r
+    UINT32  EventNum:13;\r
+    UINT32  Reserved1:11;\r
+    ///\r
+    /// [Bit 24] UOP Tag  Enables replay tagging when set.\r
+    ///\r
+    UINT32  UOP:1;\r
+    ///\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
+    /// logical processor. This bit is called ENABLE_PEBS in IA-32 processors\r
+    /// that do not support Intel HyperThreading Technology.\r
+    ///\r
+    UINT32  ENABLE_PEBS_MY_THR:1;\r
+    ///\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
+    /// logical processor. This bit is reserved for IA-32 processors that do\r
+    /// not support Intel Hyper-Threading Technology.\r
+    ///\r
+    UINT32  ENABLE_PEBS_OTH_THR:1;\r
+    UINT32  Reserved2:5;\r
+    UINT32  Reserved3:32;\r
+  } Bits;\r
+  ///\r
+  /// All bit fields as a 32-bit value\r
+  ///\r
+  UINT32  Uint32;\r
+  ///\r
+  /// All bit fields as a 64-bit value\r
+  ///\r
+  UINT64  Uint64;\r
+} MSR_PENTIUM_4_PEBS_ENABLE_REGISTER;\r
+\r
+\r
+/**\r
+  0, 1, 2, 3, 4, 6. Shared. See Table 19-26.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_PEBS_MATRIX_VERT (0x000003F2)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_PEBS_MATRIX_VERT);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_PEBS_MATRIX_VERT, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_PEBS_MATRIX_VERT           0x000003F2\r
+\r
+\r
+/**\r
+  3, 4, 6. Unique. Last Branch Record n (R/W)  One of 16 pairs of last branch\r
+  record registers on the last branch record stack (680H-68FH). This part of\r
+  the stack contains pointers to the source instruction for one of the last 16\r
+  branches, exceptions, or interrupts taken by the processor. The MSRs at\r
+  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
+  Processors based on Skylake Microarchitecture.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_LASTBRANCH_n_FROM_IP\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_LASTBRANCH_0_FROM_IP);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_LASTBRANCH_0_FROM_IP, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_LASTBRANCH_0_FROM_IP       0x00000680\r
+#define MSR_PENTIUM_4_LASTBRANCH_1_FROM_IP       0x00000681\r
+#define MSR_PENTIUM_4_LASTBRANCH_2_FROM_IP       0x00000682\r
+#define MSR_PENTIUM_4_LASTBRANCH_3_FROM_IP       0x00000683\r
+#define MSR_PENTIUM_4_LASTBRANCH_4_FROM_IP       0x00000684\r
+#define MSR_PENTIUM_4_LASTBRANCH_5_FROM_IP       0x00000685\r
+#define MSR_PENTIUM_4_LASTBRANCH_6_FROM_IP       0x00000686\r
+#define MSR_PENTIUM_4_LASTBRANCH_7_FROM_IP       0x00000687\r
+#define MSR_PENTIUM_4_LASTBRANCH_8_FROM_IP       0x00000688\r
+#define MSR_PENTIUM_4_LASTBRANCH_9_FROM_IP       0x00000689\r
+#define MSR_PENTIUM_4_LASTBRANCH_10_FROM_IP      0x0000068A\r
+#define MSR_PENTIUM_4_LASTBRANCH_11_FROM_IP      0x0000068B\r
+#define MSR_PENTIUM_4_LASTBRANCH_12_FROM_IP      0x0000068C\r
+#define MSR_PENTIUM_4_LASTBRANCH_13_FROM_IP      0x0000068D\r
+#define MSR_PENTIUM_4_LASTBRANCH_14_FROM_IP      0x0000068E\r
+#define MSR_PENTIUM_4_LASTBRANCH_15_FROM_IP      0x0000068F\r
+/// @}\r
+\r
+\r
+/**\r
+  3, 4, 6. Unique. Last Branch Record n (R/W)  One of 16 pairs of last branch\r
+  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
+  for Processors based on Skylake Microarchitecture.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_LASTBRANCH_n_TO_IP\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_LASTBRANCH_0_TO_IP);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_LASTBRANCH_0_TO_IP, Msr);\r
+  @endcode\r
+  @{\r
+**/\r
+#define MSR_PENTIUM_4_LASTBRANCH_0_TO_IP         0x000006C0\r
+#define MSR_PENTIUM_4_LASTBRANCH_1_TO_IP         0x000006C1\r
+#define MSR_PENTIUM_4_LASTBRANCH_2_TO_IP         0x000006C2\r
+#define MSR_PENTIUM_4_LASTBRANCH_3_TO_IP         0x000006C3\r
+#define MSR_PENTIUM_4_LASTBRANCH_4_TO_IP         0x000006C4\r
+#define MSR_PENTIUM_4_LASTBRANCH_5_TO_IP         0x000006C5\r
+#define MSR_PENTIUM_4_LASTBRANCH_6_TO_IP         0x000006C6\r
+#define MSR_PENTIUM_4_LASTBRANCH_7_TO_IP         0x000006C7\r
+#define MSR_PENTIUM_4_LASTBRANCH_8_TO_IP         0x000006C8\r
+#define MSR_PENTIUM_4_LASTBRANCH_9_TO_IP         0x000006C9\r
+#define MSR_PENTIUM_4_LASTBRANCH_10_TO_IP        0x000006CA\r
+#define MSR_PENTIUM_4_LASTBRANCH_11_TO_IP        0x000006CB\r
+#define MSR_PENTIUM_4_LASTBRANCH_12_TO_IP        0x000006CC\r
+#define MSR_PENTIUM_4_LASTBRANCH_13_TO_IP        0x000006CD\r
+#define MSR_PENTIUM_4_LASTBRANCH_14_TO_IP        0x000006CE\r
+#define MSR_PENTIUM_4_LASTBRANCH_15_TO_IP        0x000006CF\r
+/// @}\r
+\r
+\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
+  with Up to 8-MByte L3 Cache.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IFSB_BUSQ0 (0x000107CC)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IFSB_BUSQ0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IFSB_BUSQ0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IFSB_BUSQ0                 0x000107CC\r
+\r
+\r
+/**\r
+  3, 4. Shared. IFSB BUSQ Event Control and Counter Register (R/W).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IFSB_BUSQ1 (0x000107CD)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IFSB_BUSQ1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IFSB_BUSQ1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IFSB_BUSQ1                 0x000107CD\r
+\r
+\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
+  with Up to 8-MByte L3 Cache.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IFSB_SNPQ0 (0x000107CE)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IFSB_SNPQ0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IFSB_SNPQ0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IFSB_SNPQ0                 0x000107CE\r
+\r
+\r
+/**\r
+  3, 4. Shared. IFSB SNPQ Event Control and Counter Register (R/W).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IFSB_SNPQ1 (0x000107CF)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IFSB_SNPQ1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IFSB_SNPQ1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IFSB_SNPQ1                 0x000107CF\r
+\r
+\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
+  with Up to 8-MByte L3 Cache" for details.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EFSB_DRDY0 (0x000107D0)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EFSB_DRDY0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EFSB_DRDY0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EFSB_DRDY0                 0x000107D0\r
+\r
+\r
+/**\r
+  3, 4. Shared. EFSB DRDY Event Control and Counter Register (R/W).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EFSB_DRDY1 (0x000107D1)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EFSB_DRDY1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EFSB_DRDY1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EFSB_DRDY1                 0x000107D1\r
+\r
+\r
+/**\r
+  3, 4. Shared. IFSB Latency Event Control Register (R/W) See Section 18.17,\r
+  "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte\r
+  L3 Cache" for details.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IFSB_CTL6 (0x000107D2)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IFSB_CTL6);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IFSB_CTL6, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IFSB_CTL6                  0x000107D2\r
+\r
+\r
+/**\r
+  3, 4. Shared. IFSB Latency Event Counter Register  (R/W)  See Section 18.17,\r
+  "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte\r
+  L3 Cache.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_IFSB_CNTR7 (0x000107D3)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_IFSB_CNTR7);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_IFSB_CNTR7, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_IFSB_CNTR7                 0x000107D3\r
+\r
+\r
+/**\r
+  6. Shared. GBUSQ Event Control and Counter Register (R/W) See Section 18.17,\r
+  "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte\r
+  L3 Cache.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EMON_L3_CTR_CTL0 (0x000107CC)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL0);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL0, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EMON_L3_CTR_CTL0           0x000107CC\r
+\r
+\r
+/**\r
+  6. Shared. GBUSQ Event Control and Counter Register (R/W).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EMON_L3_CTR_CTL1 (0x000107CD)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL1);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL1, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EMON_L3_CTR_CTL1           0x000107CD\r
+\r
+\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
+  8-MByte L3 Cache.".\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EMON_L3_CTR_CTL2 (0x000107CE)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL2);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL2, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EMON_L3_CTR_CTL2           0x000107CE\r
+\r
+\r
+/**\r
+  6. Shared. GSNPQ Event Control and Counter Register (R/W).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EMON_L3_CTR_CTL3 (0x000107CF)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL3);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL3, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EMON_L3_CTR_CTL3           0x000107CF\r
+\r
+\r
+/**\r
+  6. Shared. FSB Event Control and Counter Register  (R/W)  See Section 18.17,\r
+  "Performance Monitoring on 64-bit Intel Xeon Processor MP with Up to 8-MByte\r
+  L3 Cache" for details.\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EMON_L3_CTR_CTL4 (0x000107D0)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL4);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL4, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EMON_L3_CTR_CTL4           0x000107D0\r
+\r
+\r
+/**\r
+  6. Shared. FSB Event Control and Counter Register (R/W).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EMON_L3_CTR_CTL5 (0x000107D1)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL5);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL5, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EMON_L3_CTR_CTL5           0x000107D1\r
+\r
+\r
+/**\r
+  6. Shared. FSB Event Control and Counter Register (R/W).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EMON_L3_CTR_CTL6 (0x000107D2)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL6);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL6, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EMON_L3_CTR_CTL6           0x000107D2\r
+\r
+\r
+/**\r
+  6. Shared. FSB Event Control and Counter Register (R/W).\r
+\r
+  @param  ECX  MSR_PENTIUM_4_EMON_L3_CTR_CTL7 (0x000107D3)\r
+  @param  EAX  Lower 32-bits of MSR value.\r
+  @param  EDX  Upper 32-bits of MSR value.\r
+\r
+  <b>Example usage</b>\r
+  @code\r
+  UINT64  Msr;\r
+\r
+  Msr = AsmReadMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL7);\r
+  AsmWriteMsr64 (MSR_PENTIUM_4_EMON_L3_CTR_CTL7, Msr);\r
+  @endcode\r
+**/\r
+#define MSR_PENTIUM_4_EMON_L3_CTR_CTL7           0x000107D3\r
+\r
+#endif\r