Intel 64 and IA-32 Architectures. Software Developer’s Manual (Collection, 2023) - page 8

 

  Index      Manuals     Intel 64 and IA-32 Architectures. Software Developer’s Manual (Collection, 2023)

 

Search            copyright infringement  

 

   

 

   

 

Content      ..     6      7      8      9     ..

 

 

 

Intel 64 and IA-32 Architectures. Software Developer’s Manual (Collection, 2023) - page 8

 

 

ABOUT THIS MANUAL
Intel® Xeon® processor 7100 series
Intel® Pentium® Dual-Core processor
Intel® Xeon® processor 7200, 7300 series
Intel® Core™ 2 Extreme QX9000 series
Intel® Xeon® processor 5200, 5400, 7400 series
Intel® Core™ 2 Extreme processor QX9000 and X9000 series
Intel® Core™ 2 Quad processor Q9000 series
Intel® Core™ 2 Duo processor E8000, T9000 series
Intel Atom® processors 200, 300, D400, D500, D2000, N200, N400, N2000, E2000, Z500, Z600, Z2000,
C1000 series are built from 45 nm and 32 nm processes.
Intel® Core™ i7 processor
Intel® Core™ i5 processor
Intel® Xeon® processor E7-8800/4800/2800 product families
Intel® Core™ i7-3930K processor
2nd generation Intel® Core™ i7-2xxx, Intel® Core™ i5-2xxx, Intel® Core™ i3-2xxx processor series
Intel® Xeon® processor E3-1200 product family
Intel® Xeon® processor E5-2400/1400 product family
Intel® Xeon® processor E5-4600/2600/1600 product family
3rd generation Intel® Core™ processors
Intel® Xeon® processor E3-1200 v2 product family
Intel® Xeon® processor E5-2400/1400 v2 product families
Intel® Xeon® processor E5-4600/2600/1600 v2 product families
Intel® Xeon® processor E7-8800/4800/2800 v2 product families
4th generation Intel® Core™ processors
The Intel® Core™ M processor family
Intel® Core™ i7-59xx Processor Extreme Edition
Intel® Core™ i7-49xx Processor Extreme Edition
Intel® Xeon® processor E3-1200 v3 product family
Intel® Xeon® processor E5-2600/1600 v3 product families
5th generation Intel® Core™ processors
Intel® Xeon® processor D-1500 product family
Intel® Xeon® processor E5 v4 family
Intel Atom® processor X7-Z8000 and X5-Z8000 series
Intel Atom® processor Z3400 series
Intel Atom® processor Z3500 series
6th generation Intel® Core™ processors
Intel® Xeon® processor E3-1500m v5 product family
7th generation Intel® Core™ processors
Intel® Xeon Phi™ Processor 3200, 5200, 7200 Series
Intel® Xeon® Scalable Processor Family
8th generation Intel® Core™ processors
Intel® Xeon Phi™ Processor 7215, 7285, 7295 Series
Intel® Xeon® E processors
9th generation Intel® Core™ processors
1-2
Vol. 4
ABOUT THIS MANUAL
2nd generation Intel® Xeon® Scalable Processor Family
10th generation Intel® Core™ processors
11th generation Intel® Core™ processors
3rd generation Intel® Xeon® Scalable Processor Family
12th generation Intel® Core™ processors
13th generation Intel® Core™ processors
4th generation Intel® Xeon® Scalable Processor Family
5th generation Intel® Xeon® Scalable Processor Family
Intel® Core™ Ultra 7 processors
P6 family processors are IA-32 processors based on the P6 family microarchitecture. This includes the Pentium®
Pro, Pentium® II, Pentium® III, and Pentium® III Xeon® processors.
The Pentium® 4, Pentium® D, and Pentium® processor Extreme Editions are based on the Intel NetBurst® micro-
architecture. Most early Intel® Xeon® processors are based on the Intel NetBurst® microarchitecture. Intel Xeon
processor 5000, 7100 series are based on the Intel NetBurst® microarchitecture.
The Intel® Core™ Duo, Intel® Core™ Solo and dual-core Intel® Xeon® processor LV are based on an improved
Pentium® M processor microarchitecture.
The Intel® Xeon® processor 3000, 3200, 5100, 5300, 7200, and 7300 series, Intel® Pentium® dual-core, Intel®
Core™ 2 Duo, Intel® Core™ 2 Quad, and Intel® Core™ 2 Extreme processors are based on Intel® Core™ microar-
chitecture.
The Intel® Xeon® processor 5200, 5400, 7400 series, Intel® Core™ 2 Quad processor Q9000 series, and Intel®
Core™ 2 Extreme processors QX9000, X9000 series, Intel® Core™ 2 processor E8000 series are based on
Enhanced Intel® Core™ microarchitecture.
The Intel Atom® processors 200, 300, D400, D500, D2000, N200, N400, N2000, E2000, Z500, Z600, Z2000,
C1000 series are based on the Intel Atom® microarchitecture and supports Intel 64 architecture.
P6 family, Pentium® M, Intel® Core™ Solo, Intel® Core™ Duo processors, dual-core Intel® Xeon® processor LV,
and early generations of Pentium 4 and Intel Xeon processors support IA-32 architecture. The Intel® AtomTM
processor Z5xx series support IA-32 architecture.
The Intel® Xeon® processor 3000, 3200, 5000, 5100, 5200, 5300, 5400, 7100, 7200, 7300, 7400 series, Intel®
Core™ 2 Duo, Intel® Core™ 2 Extreme, Intel® Core™ 2 Quad processors, Pentium® D processors, Pentium® Dual-
Core processor, newer generations of Pentium 4 and Intel Xeon processor family support Intel® 64 architecture.
The Intel® Core™ i7 processor and Intel® Xeon® processor 3400, 5500, 7500 series are based on 45 nm Nehalem
microarchitecture. Westmere microarchitecture is a 32 nm version of the Nehalem microarchitecture. Intel®
Xeon® processor 5600 series, Intel Xeon processor E7 and various Intel Core i7, i5, i3 processors are based on the
Westmere microarchitecture. These processors support Intel 64 architecture.
The Intel® Xeon® processor E5 family, Intel® Xeon® processor E3-1200 family, Intel® Xeon® processor E7-
8800/4800/2800 product families, Intel® Core™ i7-3930K processor, and 2nd generation Intel® Core™ i7-2xxx,
Intel® CoreTM i5-2xxx, Intel® Core™ i3-2xxx processor series are based on the Sandy Bridge microarchitecture and
support Intel 64 architecture.
The Intel® Xeon® processor E7-8800/4800/2800 v2 product families, Intel® Xeon® processor E3-1200 v2 product
family and 3rd generation Intel® Core™ processors are based on the Ivy Bridge microarchitecture and support
Intel 64 architecture.
The Intel® Xeon® processor E5-4600/2600/1600 v2 product families, Intel® Xeon® processor E5-2400/1400 v2
product families and Intel® Core™ i7-49xx Processor Extreme Edition are based on the Ivy Bridge-E microarchitec-
ture and support Intel 64 architecture.
The Intel® Xeon® processor E3-1200 v3 product family and 4th Generation Intel® Core™ processors are based on
the Haswell microarchitecture and support Intel 64 architecture.
The Intel® Xeon® processor E5-2600/1600 v3 product families and the Intel® Core™ i7-59xx Processor Extreme
Edition are based on the Haswell-E microarchitecture and support Intel 64 architecture.
The Intel Atom® processor Z8000 series is based on the Airmont microarchitecture.
Vol. 4
1-3
ABOUT THIS MANUAL
The Intel Atom® processor Z3400 series and the Intel Atom® processor Z3500 series are based on the Silvermont
microarchitecture.
The Intel® Core™ M processor family, 5th generation Intel® Core™ processors, Intel® Xeon® processor D-1500
product family and the Intel® Xeon® processor E5 v4 family are based on the Broadwell microarchitecture and
support Intel 64 architecture.
The Intel® Xeon® Scalable Processor Family, Intel® Xeon® processor E3-1500m v5 product family and 6th gener-
ation Intel® Core™ processors are based on the Skylake microarchitecture and support Intel 64 architecture.
The 7th generation Intel® Core™ processors are based on the Kaby Lake microarchitecture and support Intel 64
architecture.
The Intel Atom® processor C series, the Intel Atom® processor X series, the Intel® Pentium® processor J series,
the Intel® Celeron® processor J series, and the Intel® Celeron® processor N series are based on the Goldmont
microarchitecture.
The Intel® Xeon Phi™ Processor 3200, 5200, 7200 Series is based on the Knights Landing microarchitecture and
supports Intel 64 architecture.
The Intel® Pentium® Silver processor series, the Intel® Celeron® processor J series, and the Intel® Celeron®
processor N series are based on the Goldmont Plus microarchitecture.
The 8th generation Intel® Core™ processors, 9th generation Intel® Core™ processors, and Intel® Xeon® E proces-
sors are based on the Coffee Lake microarchitecture and support Intel 64 architecture.
The Intel® Xeon Phi™ Processor 7215, 7285, 7295 Series is based on the Knights Mill microarchitecture and
supports Intel 64 architecture.
The 2nd generation Intel® Xeon® Scalable Processor Family is based on the Cascade Lake product and supports
Intel 64 architecture.
Some 10th generation Intel® Core™ processors are based on the Ice Lake microarchitecture, and some are based
on the Comet Lake microarchitecture; both support Intel 64 architecture.
Some 11th generation Intel® Core™ processors are based on the Tiger Lake microarchitecture, and some are
based on the Rocket Lake microarchitecture; both support Intel 64 architecture.
Some 3rd generation Intel® Xeon® Scalable Processor Family processors are based on the Cooper Lake product,
and some are based on the Ice Lake microarchitecture; both support Intel 64 architecture.
The 12th generation Intel® Core™ processors are based on the Alder Lake performance hybrid architecture and
support Intel 64 architecture.
The 13th generation Intel® Core™ processors are based on the Raptor Lake performance hybrid architecture and
support Intel 64 architecture.
The 4th generation Intel® Xeon® Scalable Processor Family is based on Sapphire Rapids microarchitecture and
supports Intel 64 architecture.
The 5th generation Intel® Xeon® Scalable Processor Family is based on Emerald Rapids microarchitecture and
supports Intel 64 architecture.
The Intel® Core™ Ultra 7 processor is based on Meteor Lake hybrid architecture and supports Intel 64 architecture.
IA-32 architecture is the instruction set architecture and programming environment for Intel's 32-bit microproces-
sors. Intel® 64 architecture is the instruction set architecture and programming environment which is the superset
of Intel’s 32-bit and 64-bit architectures. It is compatible with the IA-32 architecture.
1.2
OVERVIEW OF THE MODEL-SPECIFIC REGISTERS
A description of this manual’s content follows:
Chapter 1 - About This Manual. Gives an overview of all volumes of the Intel® 64 and IA-32 Architectures Soft-
ware Developer’s Manual. It also describes the notational conventions in these manuals and lists related Intel
manuals and documentation of interest to programmers and hardware designers.
1-4
Vol. 4
ABOUT THIS MANUAL
Chapter 2 - Model-Specific Registers (MSRs). Lists the MSRs available in Intel processors, and describes their
functions.
1.3
NOTATIONAL CONVENTIONS
This manual uses specific notation for data-structure formats, for symbolic representation of instructions, and for
hexadecimal and binary numbers. A review of this notation makes the manual easier to read.
1.3.1
Bit and Byte Order
In illustrations of data structures in memory, smaller addresses appear toward the bottom of the figure; addresses
increase toward the top. Bit positions are numbered from right to left. The numerical value of a set bit is equal to
two raised to the power of the bit position. Intel 64 and IA-32 processors are “little endian” machines; this means
the bytes of a word are numbered starting from the least significant byte. Figure 1-1 illustrates these conventions.
1.3.2
Reserved Bits and Software Compatibility
In many register and memory layout descriptions, certain bits are marked as reserved. When bits are marked as
reserved, it is essential for compatibility with future processors that software treat these bits as having a future,
though unknown, effect. The behavior of reserved bits should be regarded as not only undefined, but unpredict-
able. Software should follow these guidelines in dealing with reserved bits:
Do not depend on the states of any reserved bits when testing the values of registers which contain such bits.
Mask out the reserved bits before testing.
Do not depend on the states of any reserved bits when storing to memory or to a register.
Do not depend on the ability to retain information written into any reserved bits.
When loading a register, always load the reserved bits with the values indicated in the documentation, if any,
or reload them with values previously read from the same register.
NOTE
Avoid any software dependence upon the state of reserved bits in Intel 64 and IA-32 registers.
Depending upon the values of reserved register bits will make software dependent upon the
unspecified manner in which the processor handles these bits. Programs that depend upon
reserved values risk incompatibility with future processors.
Data Structure
Highest
31
24 23
16 15
8
7
0
Bit offset
Address
28
24
20
16
12
8
4
Lowest
Byte 3
Byte 2
Byte 1
Byte 0
0
Address
Byte Offset
Figure 1-1. Bit and Byte Order
Vol. 4
1-5
ABOUT THIS MANUAL
1.3.3
Instruction Operands
When instructions are represented symbolically, a subset of assembly language is used. In this subset, an instruc-
tion has the following format:
label: mnemonic argument1, argument2, argument3
where:
A label is an identifier which is followed by a colon.
A mnemonic is a reserved name for a class of instruction opcodes which have the same function.
The operands argument1, argument2, and argument3 are optional. There may be from zero to three
operands, depending on the opcode. When present, they take the form of either literals or identifiers for data
items. Operand identifiers are either reserved names of registers or are assumed to be assigned to data items
declared in another part of the program (which may not be shown in the example).
When two operands are present in an arithmetic or logical instruction, the right operand is the source and the left
operand is the destination.
For example:
LOADREG: MOV EAX, SUBTOTAL
In this example LOADREG is a label, MOV is the mnemonic identifier of an opcode, EAX is the destination operand,
and SUBTOTAL is the source operand. Some assembly languages put the source and destination in reverse order.
1.3.4
Hexadecimal and Binary Numbers
Base 16 (hexadecimal) numbers are represented by a string of hexadecimal digits followed by the character H (for
example, F82EH). A hexadecimal digit is a character from the following set: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,
E, and F.
Base 2 (binary) numbers are represented by a string of 1s and 0s, sometimes followed by the character B (for
example, 1010B). The “B” designation is only used in situations where confusion as to the type of number might
arise.
1.3.5
Segmented Addressing
The processor uses byte addressing. This means memory is organized and accessed as a sequence of bytes.
Whether one or more bytes are being accessed, a byte address is used to locate the byte or bytes memory. The
range of memory that can be addressed is called an address space.
The processor also supports segmented addressing. This is a form of addressing where a program may have many
independent address spaces, called segments. For example, a program can keep its code (instructions) and stack
in separate segments. Code addresses would always refer to the code space, and stack addresses would always
refer to the stack space. The following notation is used to specify a byte address within a segment:
Segment-register:Byte-address
For example, the following segment address identifies the byte at address FF79H in the segment pointed by the DS
register:
DS:FF79H
The following segment address identifies an instruction address in the code segment. The CS register points to the
code segment and the EIP register contains the address of the instruction.
CS:EIP
1-6
Vol. 4
ABOUT THIS MANUAL
1.3.6
Syntax for CPUID, CR, and MSR Values
Obtain feature flags, status, and system information by using the CPUID instruction, by checking control register
bits, and by reading model-specific registers. We are moving toward a single syntax to represent this type of infor-
mation. See Figure 1-2.
CPUID Input and Output
CPUID.01H:EDX.SSE[bit 25] = 1
Input value for EAX register
Output register and feature flag or field
name with bit position(s)
Value (or range) of output
Control Register Values
CR4.OSFXSR[bit 9] = 1
Example CR name
Feature flag or field name
with bit position(s)
Value (or range) of output
Model-Specific Register Values
IA32_MISC_ENABLE.ENABLEFOPCODE[bit 2] = 1
Example MSR name
Feature flag or field name with bit position(s)
Value (or range) of output
Figure 1-2. Syntax for CPUID, CR, and MSR Data Presentation
1.3.7
Exceptions
An exception is an event that typically occurs when an instruction causes an error. For example, an attempt to
divide by zero generates an exception. However, some exceptions, such as breakpoints, occur under other condi-
tions. Some types of exceptions may provide error codes. An error code reports additional information about the
error. An example of the notation used to show an exception and error code is shown below:
#PF(fault code)
This example refers to a page-fault exception under conditions where an error code naming a type of fault is
reported. Under some conditions, exceptions which produce error codes may not be able to report an accurate
code. In this case, the error code is zero, as shown below for a general-protection exception:
#GP(0)
Vol. 4
1-7
ABOUT THIS MANUAL
1.4
RELATED LITERATURE
Literature related to Intel 64 and IA-32 processors is listed and viewable on-line at:
See also:
The latest security information on Intel® products:
Software developer resources, guidance, and insights for security advisories:
The data sheet for a particular Intel 64 or IA-32 processor
The specification update for a particular Intel 64 or IA-32 processor
Intel® C++ Compiler documentation and online help:
Intel® Fortran Compiler documentation and online help:
Intel® Software Development Tools:
Intel® 64 and IA-32 Architectures Software Developer’s Manual (in one, four, or ten volumes):
Intel® 64 and IA-32 Architectures Optimization Reference Manual:
Intel® Trusted Execution Technology Measured Launched Environment Programming Guide:
Intel® Software Guard Extensions (Intel® SGX) Information:
Developing Multi-threaded Applications: A Platform Consistent Approach:
tions.pdf
Using Spin-Loops on Intel® Pentium® 4 Processor and Intel® Xeon® Processor:
Performance Monitoring Unit Sharing Guide:
Literature related to select features in future Intel processors are available at:
Intel® Architecture Instruction Set Extensions Programming Reference:
More relevant links are:
Intel® Developer Zone:
Developer centers:
Processor support general link:
Intel® Hyper-Threading Technology (Intel® HT Technology):
1-8
Vol. 4
20.Updates to Chapter 2, Volume 4
Change bars and violet text show changes to Chapter 2 of the Intel® 64 and IA-32 Architectures Software
Developer’s Manual, Volume 4: Model-Specific Registers.
------------------------------------------------------------------------------------------
Changes to this chapter:
Chapter 1:
- Added the 5th generation Intel® Xeon® Scalable Processor Family and the Intel® Core™ Ultra 7 processor
to the list of supported processors in Section 1.1, “Intel® 64 and IA-32 Processors Covered in this Manual.”
Chapter 2:
- Added the 5th generation Intel® Xeon® Scalable Processor Family and the Intel® Core™ Ultra 7 processor
to Table 2-1, “CPUID Signature Values of DisplayFamily_DisplayModel.”
- Added the following architectural MSRs:
• IA32_FEATURE_ACTIVATION (7AH)
• IA32_MC29_CTL (474H)
• IA32_MC29_STATUS (475H)
• IA32_MC29_ADDR (476H)
• IA32_MC29_MISC (477H)
• IA32_MC30_CTL (478H)
• IA32_MC30_STATUS (479H)
• IA32_MC30_ADDR (47AH)
• IA32_MC30_MISC (47BH)
• IA32_MC31_CTL (47CH)
• IA32_MC31_STATUS (47DH)
• IA32_MC31_ADDR (47EH)
• IA32_MC31_MISC (47FH)
• IA32_TME_CLEAR_SAVED_KEY (9FBH)
- Updated the IA32_MCG_STATUS MSR (17AH) to show the MSR is R/W, not R/W0 as previously indicated.
- Updated the IA32_TME_CAPABILITY MSR (981H) to add bit 30 details.
- Added the 5th generation Intel® Xeon® Scalable Processor Family and the Intel® Core™ Ultra 7
processors to Section 2.17, “MSRs In the 6th-13th Generation Intel® Core™ Processors, 1st-5th
Generation Intel® Xeon® Scalable Processor Families, Intel® Core™ Ultra 7 Processors, 8th Generation
Intel® Core™ i3 Processors, and Intel® Xeon® E Processors.”
- Added the 5th generation Intel® Xeon® Scalable Processor Family to Section 2.17.8, “MSRs Specific to the
4th and 5th Generation Intel® Xeon® Scalable Processor Families.”
- Added Section 2.17.9, “MSRs Introduced in the Intel® Core™ Ultra 7 Processor Supporting Performance
Hybrid Architecture.”
- Updated the layout of the MSR tables. No information was changed in the update.
- Removed MSR index.
- Typo corrections as necessary. If the correction does not change the meaning of the material, it is not
marked with change bars or violet font.
Intel® 64 and IA-32 Architectures Software Developer’s Manual Documentation Changes
13
CHAPTER 2
MODEL-SPECIFIC REGISTERS (MSRS)
This chapter lists MSRs across Intel processor families. All MSRs listed can be read with the RDMSR and written with
the WRMSR instructions. The scope of an MSR defines the set of processors that access the same MSR with RDMSR
and WRMSR. Thread-scope MSRs are unique to every logical processor. Core-scope MSRs are shared by the threads
in the same core; similarly for module-scope, die-scope, and package-scope.
When a processor package contains a single die, die-scope and package-scope are synonymous. When a package
contains multiple die, they are distinct.
NOTE
For information on hierarchical level types supported, refer to the CPUID Leaf 1FH definition for the
actual level type numbers: “V2 Extended Topology Enumeration Leaf” in the Intel® 64 and IA-32
Architectures Software Developer’s Manual, Volume 2A. Also see Section 9.9.1, “Hierarchical
Mapping of Shared Resources,” in the Intel® 64 and IA-32 Architectures Software Developer’s
Manual, Volume 3A.
Register addresses are given in both hexadecimal and decimal. The register name is the mnemonic register name
and the bit description describes individual bits in registers.
Model specific registers and its bit-fields may be supported for a finite range of processor families/models. To distin-
guish between different processor family and/or models, software must use CPUID.01H leaf function to query the
combination of DisplayFamily and DisplayModel to determine model-specific availability of MSRs (see CPUID
instruction in Chapter 3, “Instruction Set Reference, A-L,” in the Intel® 64 and IA-32 Architectures Software Devel-
oper’s Manual, Volume 2A). Table 2-1 lists the signature values of DisplayFamily and DisplayModel for various
processor families or processor number series.
Table 2-1. CPUID Signature Values of DisplayFamily_DisplayModel
DisplayFamily_DisplayModel
Processor Families/Processor Number Series
06_85H
Intel® Xeon Phi™ Processor 7215, 7285, 7295 Series based on Knights Mill microarchitecture
06_57H
Intel® Xeon Phi™ Processor 3200, 5200, 7200 Series based on Knights Landing microarchitecture
06_AAH
Intel® Core™ Ultra 7 processors supporting Meteor Lake performance hybrid architecture
06_CFH
5th generation Intel® Xeon® Scalable Processor Family based on Emerald Rapids microarchitecture
06_8FH
4th generation Intel® Xeon® Scalable Processor Family based on Sapphire Rapids microarchitecture
06_BAH, 06_B7H, 06_BFH
13th generation Intel® Core™ processors supporting Raptor Lake performance hybrid architecture
06_97H, 06_9AH
12th generation Intel® Core™ processors supporting Alder Lake performance hybrid architecture
06_8CH, 06_8DH
11th generation Intel® Core™ processors based on Tiger Lake microarchitecture
06_A7H
11th generation Intel® Core™ processors based on Rocket Lake microarchitecture
06_7DH, 06_7EH
10th generation Intel® Core™ processors based on Ice Lake microarchitecture
06_A5H, 06_A6H
10th generation Intel® Core™ processors based on Comet Lake microarchitecture
06_66H
Intel® Core™ processors based on Cannon Lake microarchitecture
06_8EH, 06_9EH
7th generation Intel® Core™ processors based on Kaby Lake microarchitecture, 8th and 9th generation
Intel® Core™ processors based on Coffee Lake microarchitecture, Intel® Xeon® E processors based on
Coffee Lake microarchitecture
06_6AH, 06_6CH
3rd generation Intel® Xeon® Scalable Processor Family based on Ice Lake microarchitecture
06_55H
Intel® Xeon® Scalable Processor Family based on Skylake microarchitecture, 2nd generation Intel®
Xeon® Scalable Processor Family based on Cascade Lake product, and 3rd generation Intel® Xeon®
Scalable Processor Family based on Cooper Lake product
Vol. 4
2-1
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-1. CPUID Signature Values of DisplayFamily_DisplayModel (Contd.)
DisplayFamily_DisplayModel
Processor Families/Processor Number Series
06_4EH, 06_5EH
6th generation Intel Core processors and Intel Xeon processor E3-1500m v5 product family and E3-
1200 v5 product family based on Skylake microarchitecture
06_56H
Intel Xeon processor D-1500 product family based on Broadwell microarchitecture
06_4FH
Intel Xeon processor E5 v4 Family based on Broadwell microarchitecture, Intel Xeon processor E7 v4
Family, Intel Core i7-69xx Processor Extreme Edition
06_47H
5th generation Intel Core processors, Intel Xeon processor E3-1200 v4 product family based on
Broadwell microarchitecture
06_3DH
Intel Core M-5xxx Processor, 5th generation Intel Core processors based on Broadwell
microarchitecture
06_3FH
Intel Xeon processor E5-4600/2600/1600 v3 product families, Intel Xeon processor E7 v3 product
families based on Haswell-E microarchitecture, Intel Core i7-59xx Processor Extreme Edition
06_3CH, 06_45H, 06_46H
4th Generation Intel Core processor and Intel Xeon processor E3-1200 v3 product family based on
Haswell microarchitecture
06_3EH
Intel Xeon processor E7-8800/4800/2800 v2 product families based on Ivy Bridge-E
microarchitecture
06_3EH
Intel Xeon processor E5-2600/1600 v2 product families and Intel Xeon processor E5-2400 v2
product family based on Ivy Bridge-E microarchitecture, Intel Core i7-49xx Processor Extreme Edition
06_3AH
3rd Generation Intel Core Processor and Intel Xeon processor E3-1200 v2 product family based on Ivy
Bridge microarchitecture
06_2DH
Intel Xeon processor E5 Family based on Sandy Bridge microarchitecture, Intel Core i7-39xx
Processor Extreme Edition
06_2FH
Intel Xeon Processor E7 Family
06_2AH
Intel Xeon processor E3-1200 product family; 2nd Generation Intel Core i7, i5, i3 Processors 2xxx
Series
06_2EH
Intel Xeon processor 7500, 6500 series
06_25H, 06_2CH
Intel Xeon processors 3600, 5600 series, Intel Core i7, i5, and i3 Processors
06_1EH, 06_1FH
Intel Core i7 and i5 Processors
06_1AH
Intel Core i7 Processor, Intel Xeon processor 3400, 3500, 5500 series
06_1DH
Intel Xeon processor MP 7400 series
06_17H
Intel Xeon processor 3100, 3300, 5200, 5400 series, Intel Core 2 Quad processors 8000, 9000
series
06_0FH
Intel Xeon processor 3000, 3200, 5100, 5300, 7300 series, Intel Core 2 Quad processor 6000 series,
Intel Core 2 Extreme 6000 series, Intel Core 2 Duo 4000, 5000, 6000, 7000 series processors, Intel
Pentium dual-core processors
06_0EH
Intel Core Duo, Intel Core Solo processors
06_0DH
Intel Pentium M processor
06_86H, 06_96H, 06_9CH
Intel Atom® processors, Intel® Celeron® processors, Intel® Pentium® processors, and Intel® Pentium®
Silver processors based on Tremont Microarchitecture
06_7AH
Intel Atom processors based on Goldmont Plus microarchitecture
06_5FH
Intel Atom processors based on Goldmont microarchitecture (Denverton)
06_5CH
Intel Atom processors based on Goldmont microarchitecture
06_4CH
Intel Atom processor X7-Z8000 and X5-Z8000 series based on Airmont microarchitecture
06_5DH
Intel Atom processor X3-C3000 based on Silvermont microarchitecture
06_5AH
Intel Atom processor Z3500 series
06_4AH
Intel Atom processor Z3400 series
2-2 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-1. CPUID Signature Values of DisplayFamily_DisplayModel (Contd.)
DisplayFamily_DisplayModel
Processor Families/Processor Number Series
06_37H
Intel Atom processor E3000 series, Z3600 series, Z3700 series
06_4DH
Intel Atom processor C2000 series
06_36H
Intel Atom processor S1000 Series
06_1CH, 06_26H, 06_27H,
Intel Atom processor family, Intel Atom processor D2000, N2000, E2000, Z2000, C1000 series
06_35H, 06_36H
0F_06H
Intel Xeon processor 7100, 5000 Series, Intel Xeon Processor MP, Intel Pentium 4, Pentium D
processors
0F_03H, 0F_04H
Intel Xeon processor, Intel Xeon processor MP, Intel Pentium 4, Pentium D processors
06_09H
Intel Pentium M processor
0F_02H
Intel Xeon Processor, Intel Xeon processor MP, Intel Pentium 4 processors
0F_0H, 0F_01H
Intel Xeon Processor, Intel Xeon processor MP, Intel Pentium 4 processors
06_7H, 06_08H, 06_0AH,
Intel Pentium III Xeon processor, Intel Pentium III processor
06_0BH
06_03H, 06_05H
Intel Pentium II Xeon processor, Intel Pentium II processor
06_01H
Intel Pentium Pro processor
05_01H, 05_02H, 05_04H
Intel Pentium processor, Intel Pentium processor with MMX Technology
The Intel® Quark™ SoC X1000 processor can be identified by the signature of DisplayFamily_DisplayModel = 05_09H and
SteppingID = 0
2.1
ARCHITECTURAL MSRS
Many MSRs have carried over from one generation of IA-32 processors to the next and to Intel 64 processors. A
subset of MSRs and associated bit fields, which do not change on future processor generations, are now considered
architectural MSRs. For historical reasons (beginning with the Pentium 4 processor), these “architectural MSRs”
were given the prefix “IA32_”. Table 2-2 lists the architectural MSRs, their addresses, their current names, their
names in previous IA-32 processors, and bit fields that are considered architectural. MSR addresses outside Table
2-2 and certain bit fields in an MSR address that may overlap with architectural MSR addresses are model-specific.
Code that accesses a model-specific MSR and that is executed on a processor that does not support that MSR will
generate an exception.
Architectural MSR or individual bit fields in an architectural MSR may be introduced or transitioned at the granu-
larity of certain processor family/model or the presence of certain CPUID feature flags. The right-most column of
Table 2-2 provides information on the introduction of each architectural MSR or its individual fields. This informa-
tion is expressed either as signature values of “DF_DM” (see Table 2-1) or via CPUID flags.
Certain bit field position may be related to the maximum physical address width, the value of which is expressed
as “MAXPHYADDR” in Table 2-2. “MAXPHYADDR” is reported by CPUID.8000_0008H leaf.
MSR address range between 40000000H - 4000FFFFH is marked as a specially reserved range. All existing and
future processors will not implement any features using any MSR in this range.
Table 2-2. IA-32 Architectural MSRs
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 0H, 0
IA32_P5_MC_ADDR (P5_MC_ADDR)
See Section 2.23, “MSRs in Pentium Processors.”
Pentium Processor (05_01H)
Register Address: 1H, 1
IA32_P5_MC_TYPE (P5_MC_TYPE)
See Section 2.23, “MSRs in Pentium Processors.”
DF_DM = 05_01H
Vol. 4
2-3
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 6H, 6
IA32_MONITOR_FILTER_SIZE
See Section 9.10.5, “Monitor/Mwait Address Range Determination.”
0F_03H
Register Address: 10H, 16
IA32_TIME_STAMP_COUNTER (TSC)
See Section 18.17, “Time-Stamp Counter.”
05_01H
Register Address: 17H, 23
IA32_PLATFORM_ID (MSR_PLATFORM_ID)
Platform ID (R/O)
06_01H
The operating system can use this MSR to determine “slot” information for the processor and the
proper microcode update to load.
49:0
Reserved.
52:50
Platform ID (R/O)
Contains information concerning the intended platform for the
processor.
52 51
50
0
0
0 Processor Flag 0
0
0
1 Processor Flag 1
0
1
0 Processor Flag 2
0
1
1 Processor Flag 3
1
0
0 Processor Flag 4
1
0
1 Processor Flag 5
1
1
0 Processor Flag 6
1
1
1 Processor Flag 7
63:53
Reserved.
Register Address: 1BH, 27
IA32_APIC_BASE (APIC_BASE)
This register holds the APIC base address, permitting the relocation of the APIC memory map. See
06_01H
Section 11.4.4, “Local APIC Status and Location,” and Section 11.4.5, “Relocating the Local APIC
Registers.”
7:0
Reserved.
8
BSP Flag (R/W)
9
Reserved.
10
Enable x2APIC mode.
06_1AH
11
APIC Global Enable (R/W)
(MAXPHYADDR -1):12
APIC Base (R/W)
63: MAXPHYADDR
Reserved.
Register Address: 3AH, 58
IA32_FEATURE_CONTROL
Control Features in Intel 64 Processor (R/W)
If any one enumeration condition
for defined bit field holds.
2-4 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
0
Lock bit (R/WO): (1 = locked).
If any one enumeration condition
for defined bit field position
When set, locks this MSR from being written; writes to this bit will result
greater than bit 0 holds.
in GP(0).
Note: Once the Lock bit is set, the contents of this register cannot be
modified. Therefore the lock bit must be set after configuring support for
Intel Virtualization Technology and prior to transferring control to an
option ROM or the OS. Hence, once the Lock bit is set, the entire
IA32_FEATURE_CONTROL contents are preserved across RESET when
PWRGOOD is not deasserted.
1
Enable VMX inside SMX operation (R/WL) This bit enables a system
If CPUID.01H:ECX[5] = 1 &&
executive to use VMX in conjunction with SMX to support Intel® Trusted
CPUID.01H:ECX[6] = 1
Execution Technology.
BIOS must set this bit only when the CPUID function 1 returns VMX
feature flag and SMX feature flag set (ECX bits 5 and 6 respectively).
2
Enable VMX outside SMX operation (R/WL) This bit enables VMX for a
If CPUID.01H:ECX[5] = 1
system executive that does not require SMX.
BIOS must set this bit only when the CPUID function 1 returns the VMX
feature flag set (ECX bit 5).
7:3
Reserved.
14:8
SENTER Local Function Enables (R/WL) When set, each bit in the field
If CPUID.01H:ECX[6] = 1
represents an enable control for a corresponding SENTER function. This
field is supported only if CPUID.1:ECX.[bit 6] is set.
15
SENTER Global Enable (R/WL)
If CPUID.01H:ECX[6] = 1
This bit must be set to enable SENTER leaf functions. This bit is
supported only if CPUID.1:ECX.[bit 6] is set.
16
Reserved.
17
SGX Launch Control Enable (R/WL)
If CPUID.(EAX=07H, ECX=0H):
This bit must be set to enable runtime re-configuration of SGX Launch
ECX[30] = 1
Control via the IA32_SGXLEPUBKEYHASHn MSR.
18
SGX Global Enable (R/WL)
If CPUID.(EAX=07H, ECX=0H):
EBX[2] = 1
This bit must be set to enable SGX leaf functions.
19
Reserved.
20
LMCE On (R/WL)
If IA32_MCG_CAP[27] = 1
When set, system software can program the MSRs associated with LMCE
to configure delivery of some machine check exceptions to a single
logical processor.
63:21
Reserved.
Register Address: 3BH, 59
IA32_TSC_ADJUST
Per Logical Processor TSC Adjust (R/Write to clear)
If CPUID.(EAX=07H, ECX=0H):
EBX[1] = 1
63:0
THREAD_ADJUST
Local offset value of the IA32_TSC for a logical processor. Reset value is
zero. A write to IA32_TSC will modify the local offset in
IA32_TSC_ADJUST and the content of IA32_TSC, but does not affect the
internal invariant TSC hardware.
Vol. 4
2-5
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 48H, 72
IA32_SPEC_CTRL
Speculation Control (R/W)
If any one of the enumeration
conditions for defined bit field
The MSR bits are defined as logical processor scope. On some core implementations, the bits may
impact sibling logical processors on the same core.
positions holds.
This MSR has a value of 0 after reset and is unaffected by INIT# or SIPI#.
0
Indirect Branch Restricted Speculation (IBRS). Restricts speculation of
If CPUID.(EAX=07H,
indirect branch.
ECX=0):EDX[26]=1
1
Single Thread Indirect Branch Predictors (STIBP). Prevents indirect
If CPUID.(EAX=07H,
branch predictions on all logical processors on the core from being
ECX=0):EDX[27]=1
controlled by any sibling logical processor in the same core.
2
Speculative Store Bypass Disable (SSBD) delays speculative execution of
If CPUID.(EAX=07H,
a load until the addresses for all older stores are known.
ECX=0):EDX[31]=1
3
IPRED_DIS_U
If CPUID.(EAX=07H,
ECX=2):EDX[1]=1
If 1, enables IPRED_DIS control for CPL3.
4
IPRED_DIS_S
If CPUID.(EAX=07H,
ECX=2):EDX[1]=1
If 1, enables IPRED_DIS control for CPL0/1/2.
5
RRSBA_DIS_U
If CPUID.(EAX=07H,
ECX=2):EDX[2]=1
If 1, disables RRSBA behavior for CPL3.
6
RRSBA_DIS_S
If CPUID.(EAX=07H,
ECX=2):EDX[2]=1
If 1, disables RRSBA behavior for CPL0/1/2.
7
PSFD
If CPUID.(EAX=07H,
ECX=2):EDX[0]=1
If 1, disables Fast Store Forwarding Predictor. Note that setting bit 2
(SSBD) also disables this.
8
DDPD_U
If CPUID.(EAX=07H,
ECX=2):EDX[3]=1
If 1, disables the Data Dependent Prefetcher that examines data values
in memory while CPL = 3. Note that setting bit 2 (SSBD) also disables
this.
9
Reserved.
10
BHI_DIS_S
If CPUID.(EAX=07H,
ECX=2):EDX[4]=1
When ‘1, enables BHI_DIS_S behavior.
63:11
Reserved.
Register Address: 49H, 73
IA32_PRED_CMD
Prediction Command (WO)
If any one of the enumeration
conditions for defined bit field
Gives software a way to issue commands that affect the state of predictors.
positions holds.
0
Indirect Branch Prediction Barrier (IBPB)
If CPUID.(EAX=07H,
ECX=0):EDX[26]=1
63:1
Reserved.
Register Address: 4EH, 78
IA32_PPIN_CTL
Protected Processor Inventory Number Enable Control (R/W)
If CPUID.(EAX=07H,
ECX=01H):EBX[0]=11
2-6 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
0
LockOut (R/WO)
If 0, indicates that further writes to IA32_PPIN_CTL is allowed.
If 1, indicates that further writes to IA32_PPIN_CTL is disallowed.
Writing 1 to this bit is only permitted if the Enable_PPIN bit is clear.
The Privileged System Software Inventory Agent should read
IA32_PPIN_CTL[bit 1] to determine if IA32_PPIN is accessible.
The Privileged System Software Inventory Agent is not expected to
write to this MSR.
1
Enable_PPIN (R/W)
If 1, indicates that IA32_PPIN is accessible using RDMSR.
If 0, indicates that IA32_PPIN is inaccessible using RDMSR. Any attempt
to read IA32_PPIN will cause #GP.
63:2
Reserved.
Register Address: 4FH, 79
IA32_PPIN
Protected Processor Inventory Number (R/O)
If CPUID.(EAX=07H,
ECX=01H):EBX[0]=11
63:0
Protected Processor Inventory Number (R/O)
A unique value within a given CPUID family/model/stepping signature
that a privileged inventory initialization agent can access to identify each
physical processor, when access to IA32_PPIN is enabled. Access to
IA32_PPIN is permitted only if IA32_PPIN_CTL[bits 1:0] = ‘10b’.
Register Address: 79H, 121
IA32_BIOS_UPDT_TRIG (BIOS_UPDT_TRIG)
BIOS Update Trigger (W)
06_01H
Executing a WRMSR instruction to this MSR causes a microcode update to be loaded into the
processor. See Section 10.11.6, “Microcode Update Loader.”
A processor may prevent writing to this MSR when loading guest states on VM entries or saving
guest states on VM exits.
Register Address: 7AH, 122
IA32_FEATURE_ACTIVATION
Feature Activation (R/W)
Implements Feature Activation command. WRMSR to this address activates all 'activatable'
features on this thread.
0
Reserved.
1
KL
Keylocker feature activation.
63:2
Reserved.
Register Address: 8BH, 139
IA32_BIOS_SIGN_ID (BIOS_SIGN/BBL_CR_D3)
BIOS Update Signature (R/W)
06_01H
Returns the microcode update signature following the execution of CPUID.01H.
A processor may prevent writing to this MSR when loading guest states on VM entries or saving
guest states on VM exits.
31:0
Reserved.
Register Address: 8CH, 140
IA32_SGXLEPUBKEYHASH0
Vol. 4
2-7
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
IA32_SGXLEPUBKEYHASH[63:0] (R/W)
Read permitted If
CPUID.(EAX=12H,ECX=0H):
Bits 63:0 of the SHA256 digest of the SIGSTRUCT.MODULUS for SGX Launch Enclave. On reset,
EAX[0]=1 && CPUID.(EAX=07H,
the default value is the digest of Intel’s signing key.
ECX=0H):ECX[30]=1.
Write permitted if
CPUID.(EAX=12H,ECX=0H):
EAX[0]=1 &&
IA32_FEATURE_CONTROL[17] = 1
&& IA32_FEATURE_CONTROL[0]
= 1.
Register Address: 8DH, 141
IA32_SGXLEPUBKEYHASH1
IA32_SGXLEPUBKEYHASH[127:64] (R/W)
Same comment in MSR listing for
IA32_SGXLEPUBKEYHASH0 (MSR
Bits 127:64 of the SHA256 digest of the SIGSTRUCT.MODULUS for SGX Launch Enclave. On reset,
address 8CH, 140) applies here.
the default value is the digest of Intel’s signing key.
Register Address: 8EH, 142
IA32_SGXLEPUBKEYHASH2
IA32_SGXLEPUBKEYHASH[191:128] (R/W)
Same comment in MSR listing for
IA32_SGXLEPUBKEYHASH0 (MSR
Bits 191:128 of the SHA256 digest of the SIGSTRUCT.MODULUS for SGX Launch Enclave. On
address 8CH, 140) applies here.
reset, the default value is the digest of Intel’s signing key.
Register Address: 8FH, 143
IA32_SGXLEPUBKEYHASH3
IA32_SGXLEPUBKEYHASH[255:192] (R/W)
Same comment in MSR listing for
IA32_SGXLEPUBKEYHASH0 (MSR
Bits 255:192 of the SHA256 digest of the SIGSTRUCT.MODULUS for SGX Launch Enclave. On
address 8CH, 140) applies here.
reset, the default value is the digest of Intel’s signing key.
Register Address: 9BH, 155
IA32_SMM_MONITOR_CTL
SMM Monitor Configuration (R/W)
If CPUID.01H: ECX[5]=1 ||
CPUID.01H: ECX[6] = 1
0
Valid (R/W)
1
Reserved.
2
Controls SMI unblocking by VMXOFF (see Section 32.14.4).
If IA32_VMX_MISC[28]
11:3
Reserved.
31:12
MSEG Base (R/W)
63:32
Reserved.
Register Address: 9EH, 158
IA32_SMBASE
Base address of the logical processor’s SMRAM image (R/O, SMM only).
If IA32_VMX_MISC[15]
Register Address: BCH, 188
IA32_MISC_PACKAGE_CTLS
Power Filtering Control (R/W)
If IA32_ARCH_CAPABILITIES
[10] = 1
This MSR has a value of 0 after reset and is unaffected by INIT# or SIPI#.
0
ENERGY_FILTERING_ENABLE (R/W)
If IA32_ARCH_CAPABILITIES
[11] = 1
If set, RAPL MSRs report filtered processor power consumption data.
This bit can be changed from 0 to 1, but cannot be changed from 1 to 0.
After setting, all attempts to clear it are ignored until the next processor
reset.
63:1
Reserved.
Register Address: BDH, 189
IA32_XAPIC_DISABLE_STATUS
2-8 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
xAPIC Disable Status (R/O)
If CPUID.(EAX-07H,
ECX=0):EDX[29]=1 and
IA32_ARCH_CAPABILITIES [21] =
1
0
LEGACY_XAPIC_DISABLED
When set, indicates that the local APIC is in x2APIC mode
(IA32_APIC_BASE.EXTD = 1) and that attempts to clear
IA32_APIC_BASE.EXTD will fail (e.g., WRMSR will #GP).
63:1
Reserved.
Register Address: C1H, 193
IA32_PMC0 (PERFCTR0)
General Performance Counter 0 (R/W)
If CPUID.0AH: EAX[15:8] > 0
Register Address: C2H, 194
IA32_PMC1 (PERFCTR1)
General Performance Counter 1 (R/W)
If CPUID.0AH: EAX[15:8] > 1
Register Address: C3H, 195
IA32_PMC2
General Performance Counter 2 (R/W)
If CPUID.0AH: EAX[15:8] > 2
Register Address: C4H, 196
IA32_PMC3
General Performance Counter 3 (R/W)
If CPUID.0AH: EAX[15:8] > 3
Register Address: C5H, 197
IA32_PMC4
General Performance Counter 4 (R/W)
If CPUID.0AH: EAX[15:8] > 4
Register Address: C6H, 198
IA32_PMC5
General Performance Counter 5 (R/W)
If CPUID.0AH: EAX[15:8] > 5
Register Address: C7H, 199
IA32_PMC6
General Performance Counter 6 (R/W)
If CPUID.0AH: EAX[15:8] > 6
Register Address: C8H, 200
IA32_PMC7
General Performance Counter 7 (R/W)
If CPUID.0AH: EAX[15:8] > 7
Register Address: CFH, 207
IA32_CORE_CAPABILITIES
IA32 Core Capabilities Register
If CPUID.(EAX=07H,
ECX=0):EDX[30] = 1
63:0
Reserved.
No architecturally defined bits.
Register Address: E1H, 225
IA32_UMWAIT_CONTROL
UMWAIT Control (R/W)
0
C0.2 is not allowed by the OS. Value of “1” means all C0.2 requests revert
to C0.1.
1
Reserved.
31:2
Determines the maximum time in TSC-quanta that the processor can
reside in either C0.1 or C0.2. A zero value indicates no maximum time.
The maximum time value is a 32-bit value where the upper 30 bits come
from this field and the lower two bits are zero.
Register Address: E7H, 231
IA32_MPERF
TSC Frequency Clock Counter (R/Write to clear)
If CPUID.06H: ECX[0] = 1
Vol. 4
2-9
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
63:0
C0_MCNT: C0 TSC Frequency Clock Count
Increments at fixed interval (relative to TSC freq.) when the logical
processor is in C0.
Cleared upon overflow / wrap-around of IA32_APERF.
Register Address: E8H, 232
IA32_APERF
Actual Performance Clock Counter (R/Write to clear)
If CPUID.06H: ECX[0] = 1
63:0
C0_ACNT: C0 Actual Frequency Clock Count
Accumulates core clock counts at the coordinated clock frequency, when
the logical processor is in C0.
Cleared upon overflow / wrap-around of IA32_MPERF.
Register Address: FEH, 254
IA32_MTRRCAP (MTRRcap)
MTRR Capability (R/O)
06_01H
See Section 12.11.2.1, “IA32_MTRR_DEF_TYPE MSR.”
7:0
VCNT: The number of variable memory type ranges in the processor.
8
Fixed range MTRRs are supported when set.
9
Reserved.
10
WC Supported when set.
11
SMRR Supported when set.
12
PRMRR supported when set.
63:13
Reserved.
Register Address: 10AH, 266
IA32_ARCH_CAPABILITIES
Enumeration of Architectural Features (R/O)
If CPUID.(EAX=07H,
ECX=0):EDX[29]=1
0
RDCL_NO: The processor is not susceptible to Rogue Data Cache Load
(RDCL).
1
IBRS_ALL: The processor supports enhanced IBRS.
2
RSBA: The processor supports RSB Alternate. Alternative branch
predictors may be used by RET instructions when the RSB is empty. SW
using retpoline may be affected by this behavior.
3
SKIP_L1DFL_VMENTRY: A value of 1 indicates the hypervisor need not
flush the L1D on VM entry.
4
SSB_NO: Processor is not susceptible to Speculative Store Bypass.
5
MDS_NO: Processor is not susceptible to Microarchitectural Data
Sampling (MDS).
6
IF_PSCHANGE_MC_NO: The processor is not susceptible to a machine
check error due to modifying the size of a code page without TLB
invalidation.
7
TSX_CTRL: If 1, indicates presence of IA32_TSX_CTRL MSR.
8
TAA_NO: If 1, processor is not affected by TAA.
9
MCU_CONTROL: If 1, the processor supports the IA32_MCU_CONTROL
MSR.
2-10 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
10
MISC_PACKAGE_CTLS: The processor supports
IA32_MISC_PACKAGE_CTLS MSR.
11
ENERGY_FILTERING_CTL: The processor supports setting and reading
the IA32_MISC_PACKAGE_CTLS[0] (ENERGY_FILTERING_ENABLE) bit.
12
DOITM: If 1, the processor supports Data Operand Independent Timing
Mode.
13
SBDR_SSDP_NO: The processor is not affected by either the Shared
Buffers Data Read (SBDR) vulnerability or the Sideband Stale Data
Propagator (SSDP).
14
FBSDP_NO: The processor is not affected by the Fill Buffer Stale Data
Propagator (FBSDP).
15
PSDP_NO: The processor is not affected by vulnerabilities involving the
Primary Stale Data Propagator (PSDP).
16
Reserved.
17
FB_CLEAR: If 1, the processor supports overwrite of fill buffer values as
part of MD_CLEAR operations with the VERW instruction.
18
FB_CLEAR_CTRL: If 1, the processor supports the IA32_MCU_OPT_CTRL
MSR and allows software to set bit 3 of that MSR (FB_CLEAR_DIS).
19
RRSBA: A value of 1 indicates the processor may have the RRSBA
alternate prediction behavior, if not disabled by RRSBA_DIS_U or
RRSBA_DIS_S.
20
BHI_NO: A value of 1 indicates BHI_NO branch prediction behavior,
regardless of the value of IA32_SPEC_CTRL[BHI_DIS_S] MSR bit.
21
XAPIC_DISABLE_STATUS: Enumerates that the
IA32_XAPIC_DISABLE_STATUS MSR exists, and that bit 0 specifies
whether the legacy xAPIC is disabled and APIC state is locked to x2APIC.
22
Reserved.
23
OVERCLOCKING_STATUS: If set, the IA32_OVERCLOCKING_STATUS MSR
exists.
24
PBRSB_NO: If 1, the processor is not affected by issues related to Post-
Barrier Return Stack Buffer Predictions.
63:25
Reserved.
Register Address: 10BH, 267
IA32_FLUSH_CMD
Flush Command (WO)
If any one of the enumeration
conditions for defined bit field
Gives software a way to invalidate structures with finer granularity than other architectural
methods.
positions holds.
0
L1D_FLUSH: Writeback and invalidate the L1 data cache.
If CPUID.(EAX=07H,
ECX=0):EDX[28]=1
63:1
Reserved.
Register Address: 10FH, 271
IA32_TSX_FORCE_ABORT
TSX Force Abort
If CPUID.(EAX=07H,
ECX=0):EDX[13]=1
Vol. 4
2-11
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
0
RTM_FORCE_ABORT
R/W, Default: 0
If 1, all RTM transactions abort with EAX code 0.
If CPUID.(EAX=07H,ECX=0):
EDX[11]=1, bit 0 is always 1 and
writes to change it are ignored.
If SDV_ENABLE_RTM is 1, bit 0 is
always 0 and writes to change it
are ignored.
1
TSX_CPUID_CLEAR
R/W, Default: 0
When set, CPUID.(EAX=07H,ECX=0):EBX[11]=0 and
Can be set only if
CPUID.(EAX=07H,ECX=0):EBX[4]=0.
CPUID.(EAX=07H,ECX=0):
EDX[11]=1 or if
SDV_ENABLE_RTM is 1.
2
SDV_ENABLE_RTM
R/W, Default: 0
When set, CPUID.(EAX=07H,ECX=0):EDX[11]=0 and the processor may
If 0, can be set only if
not force abort RTM. This unsupported mode should only be used for
CPUID.(EAX=07H,ECX=0):
software development and not for production usage.
EDX[11]=1.
63:3
Reserved.
Register Address: 122H, 290
IA32_TSX_CTRL
IA32_TSX_CTRL
Thread scope. Not architecturally
serializing.
Available when
CPUID.ARCH_CAP(EAX=7H, ECX =
0):EDX[29] = 1 and
IA32_ARCH_CAPABILITIES.bit 7 =
1.
0
RTM_DISABLE
When set to 1, XBEGIN will always abort with EAX code 0.
1
TSX_CPUID_CLEAR
When set to 1, CPUID.07H.EBX.RTM [bit 11] and CPUID.07H.EBX.HLE [bit
4] report 0.
When set to 0 and the SKU supports TSX, these bits will return 1.
63:2
Reserved.
Register Address: 123H, 291
IA32_MCU_OPT_CTRL
Microcode Update Option Control (R/W)
If CPUID.(EAX=07H,
ECX=0):EDX[9]=1 or
IA32_ARCH_CAPABILITIES [18] =
1 or IA32_ARCH_CAPABILITIES.
FB_CLEAR_CTRL=1
0
RNGDS_MITG_DIS (R/W)
If CPUID.(EAX=07H,
ECX=0):EDX[9]=1
If 0 (default), SRBDS mitigation is enabled for RDRAND and RDSEED.
If 1, SRBDS mitigation is disabled for RDRAND and RDSEED executed
outside of Intel SGX enclaves.
1
RTM_ALLOW
Read/Write
If 0, XBEGIN will always abort with EAX code 0.
Setting RTM_LOCKED prevents
writes to this bit.
If 1, XBEGIN behavior depends on the value of
IA32_TSX_CTRL[RTM_DISABLE].
2-12 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
2
RTM_LOCKED
Read-Only status bit.
When 1, RTM_ALLOW is locked at zero, writes to RTM_ALLOW will be
ignored.
3
FB_CLEAR_DIS
If IA32_ARCH_CAPABILITIES.
FB_CLEAR_CTRL=1
If 1, prevents the VERW instruction from performing an FB_CLEAR
action.
4
GDS_MITG_DIS
If 0, the Gather Data Sampling mitigation is enabled (patch load time
default).
If 1 on all threads for a given core, the Gather Data Sampling mitigation is
disabled.
5
GDS_MITG_LOCK
If 0, not locked, and GDS_MITG_DIS is under OS control.
If 1, locked and GDS_MITG_DIS is forced to 0 (writes are ignored).
63:6
Reserved.
Register Address: 174H, 372
IA32_SYSENTER_CS
SYSENTER_CS_MSR (R/W)
06_01H
15:0
CS Selector.
31:16
Not used.
Can be read and written.
63:32
Not used.
Writes ignored; reads
return zero.
Register Address: 175H, 373
IA32_SYSENTER_ESP
SYSENTER_ESP_MSR (R/W)
06_01H
Register Address: 176H, 374
IA32_SYSENTER_EIP
SYSENTER_EIP_MSR (R/W)
06_01H
Register Address: 179H, 377
IA32_MCG_CAP (MCG_CAP)
Global Machine Check Capability (R/O)
06_01H
7:0
Count: Number of reporting banks.
8
MCG_CTL_P: IA32_MCG_CTL is present if this bit is set.
9
MCG_EXT_P: Extended machine check state registers are present if this
bit is set.
10
MCP_CMCI_P: Support for corrected MC error event is present.
06_01H
11
MCG_TES_P: Threshold-based error status register are present if this bit
is set.
15:12
Reserved.
23:16
MCG_EXT_CNT: Number of extended machine check state registers
present.
24
MCG_SER_P: The processor supports software error recovery if this bit is
set.
25
Reserved.
Vol. 4
2-13
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
26
MCG_ELOG_P: Indicates that the processor allows platform firmware to
06_3EH
be invoked when an error is detected so that it may provide additional
platform specific information in an ACPI format “Generic Error Data
Entry” that augments the data included in machine check bank registers.
27
MCG_LMCE_P: Indicates that the processor supports extended state in
06_3EH
IA32_MCG_STATUS and associated MSR necessary to configure Local
Machine Check Exception (LMCE).
63:28
Reserved.
Register Address: 17AH, 378
IA32_MCG_STATUS (MCG_STATUS)
Global Machine Check Status (R/W)
06_01H
0
RIPV. Restart IP valid.
06_01H
1
EIPV. Error IP valid.
06_01H
2
MCIP. Machine check in progress.
06_01H
3
LMCE_S.
If IA32_MCG_CAP.LMCE_P[27] =1
63:4
Reserved.
Register Address: 17BH, 379
IA32_MCG_CTL (MCG_CTL)
Global Machine Check Control (R/W)
If IA32_MCG_CAP.CTL_P[8] =1
Register Address: 180H-185H, 384-389
N/A
Reserved
06_0EH2
Register Address: 186H, 390
IA32_PERFEVTSEL0 (PERFEVTSEL0)
Performance Event Select Register 0 (R/W)
If CPUID.0AH: EAX[15:8] > 0
7:0
Event Select: Selects a performance event logic unit.
15:8
UMask: Qualifies the microarchitectural condition to detect on the
selected event logic.
16
USR: Counts while in privilege level is not ring 0.
17
OS: Counts while in privilege level is ring 0.
18
Edge: Enables edge detection if set.
19
PC: Enables pin control.
20
INT: Enables interrupt on counter overflow.
21
AnyThread: When set to 1, it enables counting the associated event
conditions occurring across all logical processors sharing a processor
core. When set to 0, the counter only increments the associated event
conditions occurring in the logical processor which programmed the MSR.
22
EN: Enables the corresponding performance counter to commence
counting when this bit is set.
23
INV: Invert the CMASK.
31:24
CMASK: When CMASK is not zero, the corresponding performance
counter increments each cycle if the event count is greater than or equal
to the CMASK.
63:32
Reserved.
Register Address: 187H, 391
IA32_PERFEVTSEL1 (PERFEVTSEL1)
2-14 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Performance Event Select Register 1 (R/W)
If CPUID.0AH: EAX[15:8] > 1
Register Address: 188H, 392
IA32_PERFEVTSEL2
Performance Event Select Register 2 (R/W)
If CPUID.0AH: EAX[15:8] > 2
Register Address: 189H, 393
IA32_PERFEVTSEL3
Performance Event Select Register 3 (R/W)
If CPUID.0AH: EAX[15:8] > 3
Register Address: 18AH, 394
IA32_PERFEVTSEL4
Performance Event Select Register 4 (R/W)
If CPUID.0AH: EAX[15:8] > 4
Register Address: 18BH, 395
IA32_PERFEVTSEL5
Performance Event Select Register 5 (R/W)
If CPUID.0AH: EAX[15:8] > 5
Register Address: 18CH, 396
IA32_PERFEVTSEL6
Performance Event Select Register 6 (R/W)
If CPUID.0AH: EAX[15:8] > 6
Register Address: 18DH, 397
IA32_PERFEVTSEL7
Performance Event Select Register 7 (R/W)
If CPUID.0AH: EAX[15:8] > 7
Register Address: 18AH-194H, 394-404
N/A
Reserved.
06_0EH3
Register Address: 195H, 405
IA32_OVERCLOCKING_STATUS
Overclocking Status (R/O)
IA32_ARCH_CAPABILITIES[bit 23] enumerates support for this MSR.
0
Overclocking Utilized
Indicates if specific forms of overclocking have been enabled on this boot
or reset cycle: 0 indicates no, 1 indicates yes.
1
Undervolt Protection
Indicates if the “Dynamic OC Undervolt Protection” security feature is
active: 0 indicates disabled, 1indicates enabled.
2
Overclocking Secure Status
Indicates that overclocking capabilities have been unlocked by BIOS, with
or without overclocking: 0 indicates Not Secured, 1 indicates Secure.
63:4
Reserved.
Register Address: 196H-197H, 406-407
N/A
Reserved.
06_0EH3
Register Address: 198H, 408
IA32_PERF_STATUS
Current Performance Status (R/O)
0F_03H
See Section 15.1.1, “Software Interface For Initiating Performance State Transitions.”
15:0
Current Performance State Value.
63:16
Reserved.
Register Address: 199H, 409
IA32_PERF_CTL
Performance Control MSR (R/W)
0F_03H
Software makes a request for a new Performance state (P-State) by writing this MSR. See
Section 15.1.1, “Software Interface For Initiating Performance State Transitions.”
Vol. 4
2-15
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
15:0
Target performance State Value.
31:16
Reserved.
32
Intel® Dynamic Acceleration Technology Engage (R/W)
06_0FH (Mobile only)
When set to 1: Disengages Intel Dynamic Acceleration Technology.
63:33
Reserved.
Register Address: 19AH, 410
IA32_CLOCK_MODULATION
Clock Modulation Control (R/W)
If CPUID.01H:EDX[22] = 1
See Section 15.8.3, “Software Controlled Clock Modulation.”
0
Extended On-Demand Clock Modulation Duty Cycle.
If CPUID.06H:EAX[5] = 1
3:1
On-Demand Clock Modulation Duty Cycle: Specific encoded values for
If CPUID.01H:EDX[22] = 1
target duty cycle modulation.
4
On-Demand Clock Modulation Enable: Set 1 to enable modulation.
If CPUID.01H:EDX[22] = 1
63:5
Reserved.
Register Address: 19BH, 411
IA32_THERM_INTERRUPT
Thermal Interrupt Control (R/W)
If CPUID.01H:EDX[22] = 1
Enables and disables the generation of an interrupt on temperature transitions detected with the
processor’s thermal sensors and thermal monitor.
See Section 15.8.2, “Thermal Monitor.”
0
High-Temperature Interrupt Enable
If CPUID.01H:EDX[22] = 1
1
Low-Temperature Interrupt Enable
If CPUID.01H:EDX[22] = 1
2
PROCHOT# Interrupt Enable
If CPUID.01H:EDX[22] = 1
3
FORCEPR# Interrupt Enable
If CPUID.01H:EDX[22] = 1
4
Critical Temperature Interrupt Enable
If CPUID.01H:EDX[22] = 1
7:5
Reserved.
14:8
Threshold #1 Value
If CPUID.01H:EDX[22] = 1
15
Threshold #1 Interrupt Enable
If CPUID.01H:EDX[22] = 1
22:16
Threshold #2 Value
If CPUID.01H:EDX[22] = 1
23
Threshold #2 Interrupt Enable
If CPUID.01H:EDX[22] = 1
24
Power Limit Notification Enable
If CPUID.06H:EAX[4] = 1
25
Hardware Feedback Notification Enable
If CPUID.06H:EAX[24] = 1
63:26
Reserved.
Register Address: 19CH, 412
IA32_THERM_STATUS
Thermal Status Information (R/O)
If CPUID.01H:EDX[22] = 1
Contains status information about the processor’s thermal sensor and automatic thermal
monitoring facilities.
See Section 15.8.2, “Thermal Monitor.”
0
Thermal Status (R/O)
If CPUID.01H:EDX[22] = 1
1
Thermal Status Log (R/W)
If CPUID.01H:EDX[22] = 1
2
PROCHOT # or FORCEPR# event (R/O)
If CPUID.01H:EDX[22] = 1
2-16 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
3
PROCHOT # or FORCEPR# log (R/WC0)
If CPUID.01H:EDX[22] = 1
4
Critical Temperature Status (R/O)
If CPUID.01H:EDX[22] = 1
5
Critical Temperature Status log (R/WC0)
If CPUID.01H:EDX[22] = 1
6
Thermal Threshold #1 Status (R/O)
If CPUID.01H:ECX[8] = 1
7
Thermal Threshold #1 log (R/WC0)
If CPUID.01H:ECX[8] = 1
8
Thermal Threshold #2 Status (R/O)
If CPUID.01H:ECX[8] = 1
9
Thermal Threshold #2 log (R/WC0)
If CPUID.01H:ECX[8] = 1
10
Power Limitation Status (R/O)
If CPUID.06H:EAX[4] = 1
11
Power Limitation log (R/WC0)
If CPUID.06H:EAX[4] = 1
12
Current Limit Status (R/O)
If CPUID.06H:EAX[7] = 1
13
Current Limit log (R/WC0)
If CPUID.06H:EAX[7] = 1
14
Cross Domain Limit Status (R/O)
If CPUID.06H:EAX[7] = 1
15
Cross Domain Limit log (R/WC0)
If CPUID.06H:EAX[7] = 1
22:16
Digital Readout (R/O)
If CPUID.06H:EAX[0] = 1
26:23
Reserved.
30:27
Resolution in Degrees Celsius (R/O)
If CPUID.06H:EAX[0] = 1
31
Reading Valid (R/O)
If CPUID.06H:EAX[0] = 1
63:32
Reserved.
Register Address: 1A0H, 416
IA32_MISC_ENABLE
Enable Misc. Processor Features (R/W)
Allows a variety of processor functions to be enabled and disabled.
0
Fast-Strings Enable
0F_0H
When set, the fast-strings feature (for REP MOVS and REP STORS) is
enabled (default). When clear, fast-strings are disabled.
2:1
Reserved.
3
Automatic Thermal Control Circuit Enable (R/W)
0F_0H
1 = Setting this bit enables the thermal control circuit (TCC) portion of
the Intel Thermal Monitor feature. This allows the processor to
automatically reduce power consumption in response to TCC
activation.
0 = Disabled.
Note: In some products clearing this bit might be ignored in critical
thermal conditions, and TM1, TM2, and adaptive thermal throttling will
still be activated.
The default value of this field varies with product. See respective tables
where default value is listed.
6:4
Reserved.
7
Performance Monitoring Available (R)
0F_0H
1 = Performance monitoring enabled.
0 = Performance monitoring disabled.
10:8
Reserved.
Vol. 4
2-17
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
11
Branch Trace Storage Unavailable (R/O)
0F_0H
1 = Processor doesn’t support branch trace storage (BTS).
0 = BTS is supported.
12
Processor Event Based Sampling (PEBS) Unavailable (R/O)
06_0FH
1 = PEBS is not supported.
0 = PEBS is supported.
15:13
Reserved.
16
Enhanced Intel SpeedStep Technology Enable (R/W)
If CPUID.01H: ECX[7] =1
0= Enhanced Intel SpeedStep Technology disabled.
1 = Enhanced Intel SpeedStep Technology enabled.
17
Reserved.
18
ENABLE MONITOR FSM (R/W)
0F_03H
When this bit is set to 0, the MONITOR feature flag is not set
(CPUID.01H:ECX[bit 3] = 0). This indicates that MONITOR/MWAIT are not
supported.
Software attempts to execute MONITOR/MWAIT will cause #UD when
this bit is 0.
When this bit is set to 1 (default), MONITOR/MWAIT are supported
(CPUID.01H:ECX[bit 3] = 1).
If the SSE3 feature flag ECX[0] is not set (CPUID.01H:ECX[bit 0] = 0), the
OS must not attempt to alter this bit. BIOS must leave it in the default
state. Writing this bit when the SSE3 feature flag is set to 0 may
generate a #GP exception.
21:19
Reserved.
22
Limit CPUID Maxval (R/W)
0F_03H
When this bit is set to 1, CPUID.00H returns a maximum value in
EAX[7:0] of 2.
BIOS should contain a setup question that allows users to specify when
the installed OS does not support CPUID functions greater than 2.
Before setting this bit, BIOS must execute the CPUID.0H and examine
the maximum value returned in EAX[7:0]. If the maximum value is
greater than 2, this bit is supported.
Otherwise, this bit is not supported. Setting this bit when the maximum
value is not greater than 2 may generate a #GP exception.
Setting this bit may cause unexpected behavior in software that
depends on the availability of CPUID leaves greater than 2.
23
xTPR Message Disable (R/W)
If CPUID.01H:ECX[14] = 1
When set to 1, xTPR messages are disabled. xTPR messages are optional
messages that allow the processor to inform the chipset of its priority.
63:24
Reserved.
Note: Some older processors defined one of these bits as a disable for
the execute-disable feature of paging. If a processor supports this bit,
this information is provided in the model-specific tables. See Table 2-3
for the definition of this bit.
Register Address: 1B0H, 432
IA32_ENERGY_PERF_BIAS
2-18 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Performance Energy Bias Hint (R/W)
If CPUID.6H:ECX[3] = 1
3:0
Power Policy Preference:
0 indicates preference to highest performance.
15 indicates preference to maximize energy saving.
63:4
Reserved.
Register Address: 1B1H, 433
IA32_PACKAGE_THERM_STATUS
Package Thermal Status Information (R/O)
If CPUID.06H: EAX[6] = 1
Contains status information about the package’s thermal sensor.
See Section 15.9, “Package Level Thermal Management.”
0
Pkg Thermal Status (R/O)
1
Pkg Thermal Status Log (R/W)
2
Pkg PROCHOT # event. (R/O)
3
Pkg PROCHOT # log. (R/WC0)
4
Pkg Critical Temperature Status. (R/O)
5
Pkg Critical Temperature Status Log. (R/WC0)
6
Pkg Thermal Threshold #1 Status. (R/O)
7
Pkg Thermal Threshold #1 Log. (R/WC0)
8
Pkg Thermal Threshold #2 Status. (R/O)
9
Pkg Thermal Threshold #1 Log. (R/WC0)
10
Pkg Power Limitation Status. (R/O)
11
Pkg Power Limitation Log. (R/WC0)
15:12
Reserved.
22:16
Pkg Digital Readout. (R/O)
25:23
Reserved.
26
Hardware Feedback Interface Structure Change Status.
If CPUID.06H:EAX.[19] = 1
63:27
Reserved.
Register Address: 1B2H, 434
IA32_PACKAGE_THERM_INTERRUPT
Pkg Thermal Interrupt Control (R/W)
If CPUID.06H: EAX[6] = 1
Enables and disables the generation of an interrupt on temperature transitions detected with the
package’s thermal sensor.
See Section 15.9, “Package Level Thermal Management.”
0
Pkg High-Temperature Interrupt Enable.
1
Pkg Low-Temperature Interrupt Enable.
2
Pkg PROCHOT# Interrupt Enable.
3
Reserved.
4
Pkg Overheat Interrupt Enable.
7:5
Reserved.
14:8
Pkg Threshold #1 Value.
15
Pkg Threshold #1 Interrupt Enable.
Vol. 4
2-19
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
22:16
Pkg Threshold #2 Value.
23
Pkg Threshold #2 Interrupt Enable.
24
Pkg Power Limit Notification Enable.
25
Hardware Feedback Interrupt Enable.
If CPUID.06H:EAX.[19] = 1
63:26
Reserved.
Register Address: 1C4H, 452
IA32_XFD
Extended Feature Disable Control (R/W)
If CPUID.(EAX=0DH,ECX=1):
Controls which XSAVE-enabled features are temporarily disabled.
EAX[4] = 1
See Section 13.14 of the Intel® 64 and IA-32 Architectures Software Developer’s Manual,
Volume 1.
Register Address: 1C5H, 453
IA32_XFD_ERR
Extended Feature Disable Error Code (R/W)
If CPUID.(EAX=0DH,ECX=1):
EAX[4] = 1
Reports which XSAVE-enabled features caused a fault due to being disabled.
See Section 13.14 of the Intel® 64 and IA-32 Architectures Software Developer’s Manual,
Volume 1.
Register Address: 1D9H, 473
IA32_DEBUGCTL (MSR_DEBUGCTLA, MSR_DEBUGCTLB)
Trace/Profile Resource Control (R/W)
06_0EH
0
LBR: Setting this bit to 1 enables the processor to record a running trace
06_01H
of the most recent branches taken by the processor in the LBR stack.
1
BTF: Setting this bit to 1 enables the processor to treat EFLAGS.TF as
06_01H
single-step on branches instead of single-step on instructions.
2
BLD: Enable OS bus-lock detection. See Section 18.3.1.6 of the Intel® 64
If (CPUID.(EAX=07H,
and IA-32 Architectures Software Developer’s Manual, Volume 3B.
ECX=0):ECX[24] = 1)
5:3
Reserved.
6
TR: Setting this bit to 1 enables branch trace messages to be sent.
06_0EH
7
BTS: Setting this bit enables branch trace messages (BTMs) to be logged
06_0EH
in a BTS buffer.
8
BTINT: When clear, BTMs are logged in a BTS buffer in circular fashion.
06_0EH
When this bit is set, an interrupt is generated by the BTS facility when
the BTS buffer is full.
9
1: BTS_OFF_OS: When set, BTS or BTM is skipped if CPL = 0.
06_0FH
10
BTS_OFF_USR: When set, BTS or BTM is skipped if CPL > 0.
06_0FH
11
FREEZE_LBRS_ON_PMI: When set, the LBR stack is frozen on a PMI
If CPUID.01H: ECX[15] = 1 &&
request.
CPUID.0AH: EAX[7:0] > 1
12
FREEZE_PERFMON_ON_PMI: When set, each ENABLE bit of the global
If CPUID.01H: ECX[15] = 1 &&
counter control MSR are frozen (address 38FH) on a PMI request.
CPUID.0AH: EAX[7:0] > 1
13
ENABLE_UNCORE_PMI: When set, enables the logical processor to
06_1AH
receive and generate PMI on behalf of the uncore.
14
FREEZE_WHILE_SMM: When set, freezes perfmon and trace messages
If IA32_PERF_CAPABILITIES[12]
while in SMM.
= 1
15
RTM_DEBUG: When set, enables DR7 debug bit on XBEGIN.
If (CPUID.(EAX=07H,
ECX=0):EBX[11] = 1)
2-20 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
63:16
Reserved.
Register Address: 1DDH, 477
IA32_LER_FROM_IP
Last Event Record Source IP Register (R/W)
63:0
FROM_IP
Reset Value: 0
The source IP of the recorded branch or event, in canonical form.
Register Address: 1DEH, 478
IA32_LER_TO_IP
Last Event Record Destination IP Register (R/W)
63:0
TO_IP
Reset Value: 0
The destination IP of the recorded branch or event, in canonical form.
Register Address: 1E0H, 480
IA32_LER_INFO
Last Event Record Info Register (R/W)
55:0
Undefined, may be zero or non-zero. Writes of non- zero values do not
Reset Value: 0
fault, but reads may return a different value.
59:56
BR_TYPE
Reset Value: 0
The branch type recorded by this LBR. Encodings match those of
IA32_LBR_x_INFO.
60
Undefined, may be zero or non-zero. Writes of non- zero values do not
Reset Value: 0
fault, but reads may return a different value.
61
TSX_ABORT
Reset Value: 0
This LBR record is a TSX abort. On processors that do not support Intel®
TSX (CPUID.07H.EBX.HLE[bit 4]=0 and CPUID.07H.EBX.RTM[bit 11]=0),
this bit is undefined.
62
IN_TSX
Reset Value: 0
This LBR record records a branch that retired during a TSX transaction.
On processors that do not support Intel® TSX (CPUID.07H.EBX.HLE[bit
4]=0 and CPUID.07H.EBX.RTM[bit 11]=0), this bit is undefined.
63
MISPRED
Reset Value: 0
The recorded branch taken/not-taken resolution (for conditional
branches) or target (for any indirect branch, including RETs) was
mispredicted.
Register Address: 1F2H, 498
IA32_SMRR_PHYSBASE
SMRR Base Address (Writeable only in SMM)
If IA32_MTRRCAP.SMRR[11] = 1
Base address of SMM memory range.
7:0
Type. Specifies memory type of the range.
11:8
Reserved.
31:12
PhysBase
SMRR physical Base Address.
63:32
Reserved.
Register Address: 1F3H, 499
IA32_SMRR_PHYSMASK
SMRR Range Mask (Writeable only in SMM)
If IA32_MTRRCAP[SMRR] = 1
Range Mask of SMM memory range.
Vol. 4
2-21
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
10:0
Reserved.
11
Valid
Enable range mask.
31:12
PhysMask
SMRR address range mask.
63:32
Reserved.
Register Address: 1F8H, 504
IA32_PLATFORM_DCA_CAP
DCA Capability (R)
If CPUID.01H: ECX[18] = 1
Register Address: 1F9H, 505
IA32_CPU_DCA_CAP
If set, CPU supports Prefetch-Hint type.
If CPUID.01H: ECX[18] = 1
Register Address: 1FAH, 506
IA32_DCA_0_CAP
DCA type 0 Status and Control register.
If CPUID.01H: ECX[18] = 1
0
DCA_ACTIVE: Set by HW when DCA is fuse-enabled and no defeatures
are set.
2:1
TRANSACTION
6:3
DCA_TYPE
10:7
DCA_QUEUE_SIZE
12:11
Reserved.
16:13
DCA_DELAY: Writes will update the register but have no HW side-effect.
23:17
Reserved.
24
SW_BLOCK: SW can request DCA block by setting this bit.
25
Reserved.
26
HW_BLOCK: Set when DCA is blocked by HW (e.g., CR0.CD = 1).
31:27
Reserved.
Register Address: 200H, 512
IA32_MTRR_PHYSBASE0 (MTRRphysBase0)
See Section 12.11.2.3, “Variable Range MTRRs.”
If IA32_MTRRCAP[7:0] > 0
Register Address: 201H, 513
IA32_MTRR_PHYSMASK0
MTRRphysMask0
If IA32_MTRRCAP[7:0] > 0
Register Address: 202H, 514
IA32_MTRR_PHYSBASE1
MTRRphysBase1
If IA32_MTRRCAP[7:0] > 1
Register Address: 203H, 515
IA32_MTRR_PHYSMASK1
MTRRphysMask1
If IA32_MTRRCAP[7:0] > 1
Register Address: 204H, 516
IA32_MTRR_PHYSBASE2
MTRRphysBase2
If IA32_MTRRCAP[7:0] > 2
Register Address: 205H, 517
IA32_MTRR_PHYSMASK2
MTRRphysMask2
If IA32_MTRRCAP[7:0] > 2
Register Address: 206H, 518
IA32_MTRR_PHYSBASE3
MTRRphysBase3
If IA32_MTRRCAP[7:0] > 3
2-22 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 207H, 519
IA32_MTRR_PHYSMASK3
MTRRphysMask3
If IA32_MTRRCAP[7:0] > 3
Register Address: 208H, 520
IA32_MTRR_PHYSBASE4
MTRRphysBase4
If IA32_MTRRCAP[7:0] > 4
Register Address: 209H, 521
IA32_MTRR_PHYSMASK4
MTRRphysMask4
If IA32_MTRRCAP[7:0] > 4
Register Address: 20AH, 522
IA32_MTRR_PHYSBASE5
MTRRphysBase5
If IA32_MTRRCAP[7:0] > 5
Register Address: 20BH, 523
IA32_MTRR_PHYSMASK5
MTRRphysMask5
If IA32_MTRRCAP[7:0] > 5
Register Address: 20CH, 524
IA32_MTRR_PHYSBASE6
MTRRphysBase6
If IA32_MTRRCAP[7:0] > 6
Register Address: 20DH, 525
IA32_MTRR_PHYSMASK6
MTRRphysMask6
If IA32_MTRRCAP[7:0] > 6
Register Address: 20EH, 526
IA32_MTRR_PHYSBASE7
MTRRphysBase7
If IA32_MTRRCAP[7:0] > 7
Register Address: 20FH, 527
IA32_MTRR_PHYSMASK7
MTRRphysMask7
If IA32_MTRRCAP[7:0] > 7
Register Address: 210H, 528
IA32_MTRR_PHYSBASE8
MTRRphysBase8
If IA32_MTRRCAP[7:0] > 8
Register Address: 211H, 529
IA32_MTRR_PHYSMASK8
MTRRphysMask8
If IA32_MTRRCAP[7:0] > 8
Register Address: 212H, 530
IA32_MTRR_PHYSBASE9
MTRRphysBase9
If IA32_MTRRCAP[7:0] > 9
Register Address: 213H, 531
IA32_MTRR_PHYSMASK9
MTRRphysMask9
If IA32_MTRRCAP[7:0] > 9
Register Address: 250H, 592
IA32_MTRR_FIX64K_00000
MTRRfix64K_00000
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 258H, 600
IA32_MTRR_FIX16K_80000
MTRRfix16K_80000
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 259H, 601
IA32_MTRR_FIX16K_A0000
MTRRfix16K_A0000
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 268H, 616
IA32_MTRR_FIX4K_C0000 (MTRRfix4K_C0000)
See Section 12.11.2.2, “Fixed Range MTRRs.”
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 269H, 617
IA32_MTRR_FIX4K_C8000
MTRRfix4K_C8000
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 26AH, 618
IA32_MTRR_FIX4K_D0000
Vol. 4
2-23
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
MTRRfix4K_D0000
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 26BH, 619
IA32_MTRR_FIX4K_D8000
MTRRfix4K_D8000
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 26CH, 620
IA32_MTRR_FIX4K_E0000
MTRRfix4K_E0000
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 26DH, 621
IA32_MTRR_FIX4K_E8000
MTRRfix4K_E8000
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 26EH, 622
IA32_MTRR_FIX4K_F0000
MTRRfix4K_F0000
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 26FH, 623
IA32_MTRR_FIX4K_F8000
MTRRfix4K_F8000.
If CPUID.01H: EDX.MTRR[12] =1
Register Address: 277H, 631
IA32_PAT
IA32_PAT (R/W)
If CPUID.01H: EDX.MTRR[16] =1
2:0
PA0
7:3
Reserved.
10:8
PA1
15:11
Reserved.
18:16
PA2
23:19
Reserved.
26:24
PA3
31:27
Reserved.
34:32
PA4
39:35
Reserved.
42:40
PA5
47:43
Reserved.
50:48
PA6
55:51
Reserved.
58:56
PA7
63:59
Reserved.
Register Address: 280H, 640
IA32_MC0_CTL2
MSR to enable/disable CMCI capability for bank 0. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 0
See Section 16.3.2.5, “IA32_MCi_CTL2 MSRs.”
14:0
Corrected error count threshold.
29:15
Reserved.
30
CMCI_EN
63:31
Reserved.
Register Address: 281H, 641
IA32_MC1_CTL2
2-24 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 1
Register Address: 282H, 642
IA32_MC2_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 2
Register Address: 283H, 643
IA32_MC3_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 3
Register Address: 284H, 644
IA32_MC4_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 4
Register Address: 285H, 645
IA32_MC5_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 5
Register Address: 286H, 646
IA32_MC6_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 6
Register Address: 287H, 647
IA32_MC7_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 7
Register Address: 288H, 648
IA32_MC8_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 8
Register Address: 289H, 649
IA32_MC9_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 9
Register Address: 28AH, 650
IA32_MC10_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 10
Register Address: 28BH, 651
IA32_MC11_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 11
Register Address: 28CH, 652
IA32_MC12_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 12
Register Address: 28DH, 653
IA32_MC13_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 13
Register Address: 28EH, 654
IA32_MC14_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 14
Register Address: 28FH, 655
IA32_MC15_CTL2
Vol. 4
2-25
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 15
Register Address: 290H, 656
IA32_MC16_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 16
Register Address: 291H, 657
IA32_MC17_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 17
Register Address: 292H, 658
IA32_MC18_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 18
Register Address: 293H, 659
IA32_MC19_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 19
Register Address: 294H, 660
IA32_MC20_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 20
Register Address: 295H, 661
IA32_MC21_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 21
Register Address: 296H, 662
IA32_MC22_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 22
Register Address: 297H, 663
IA32_MC23_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 23
Register Address: 298H, 664
IA32_MC24_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 24
Register Address: 299H, 665
IA32_MC25_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 25
Register Address: 29AH, 666
IA32_MC26_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 26
Register Address: 29BH, 667
IA32_MC27_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 27
Register Address: 29CH, 668
IA32_MC28_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 28
Register Address: 29DH, 669
IA32_MC29_CTL2
2-26 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 29
Register Address: 29EH, 670
IA32_MC30_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 30
Register Address: 29FH, 671
IA32_MC31_CTL2
Same fields as IA32_MC0_CTL2. (R/W)
If IA32_MCG_CAP[10] = 1 &&
IA32_MCG_CAP[7:0] > 31
Register Address: 2FFH, 767
IA32_MTRR_DEF_TYPE
MTRRdefType (R/W)
If CPUID.01H: EDX.MTRR[12] =1
2:0
Default Memory Type
9:3
Reserved.
10
Fixed Range MTRR Enable
11
MTRR Enable
63:12
Reserved.
Register Address: 309H, 777
IA32_FIXED_CTR0
Fixed-Function Performance Counter 0 (R/W): Counts Instr_Retired.Any.
If CPUID.0AH: EDX[4:0] > 0
Register Address: 30AH, 778
IA32_FIXED_CTR1
Fixed-Function Performance Counter 1 (R/W): Counts CPU_CLK_Unhalted.Core.
If CPUID.0AH: EDX[4:0] > 1
Register Address: 30BH, 779
IA32_FIXED_CTR2
Fixed-Function Performance Counter 2 (R/W): Counts CPU_CLK_Unhalted.Ref.
If CPUID.0AH: EDX[4:0] > 2
Register Address: 345H, 837
IA32_PERF_CAPABILITIES
Read Only MSR that enumerates the existence of performance monitoring features. (R/O)
If CPUID.01H: ECX[15] = 1
5:0
LBR format
6
PEBS Trap
7
PEBSSaveArchRegs
11:8
PEBS Record Format
12
1: Freeze while SMM is supported.
13
1: Full width of counter writable via IA32_A_PMCx.
14
PEBS_BASELINE
15
1: Performance metrics available.
16
1: PEBS output will be written into the Intel PT trace stream.
If CPUID.0x7.0.EBX[25]=1
63:17
Reserved.
Register Address: 38DH, 909
IA32_FIXED_CTR_CTRL
Fixed-Function Performance Counter Control (R/W)
If CPUID.0AH: EAX[7:0] > 1
Counter increments while the results of ANDing respective enable bit in
IA32_PERF_GLOBAL_CTRL with the corresponding OS or USR bits in this MSR is true.
0
EN0_OS: Enable Fixed Counter 0 to count while CPL = 0.
1
EN0_Usr: Enable Fixed Counter 0 to count while CPL > 0.
Vol. 4
2-27
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
2
AnyThr0: When set to 1, it enables counting the associated event
If CPUID.0AH:EAX[7:0] > 2 &&
conditions occurring across all logical processors sharing a processor
CPUID.0AH:EDX[15]=0
core. When set to 0, the counter only increments the associated event
conditions occurring in the logical processor which programmed the MSR.
3
EN0_PMI: Enable PMI when fixed counter 0 overflows.
4
EN1_OS: Enable Fixed Counter 1to count while CPL = 0.
5
EN1_Usr: Enable Fixed Counter 1to count while CPL > 0.
6
AnyThr1: When set to 1, it enables counting the associated event
If CPUID.0AH:EAX[7:0] > 2 &&
conditions occurring across all logical processors sharing a processor
CPUID.0AH:EDX[15]=0
core. When set to 0, the counter only increments the associated event
conditions occurring in the logical processor which programmed the MSR.
7
EN1_PMI: Enable PMI when fixed counter 1 overflows.
8
EN2_OS: Enable Fixed Counter 2 to count while CPL = 0.
9
EN2_Usr: Enable Fixed Counter 2 to count while CPL > 0.
10
AnyThr2: When set to 1, it enables counting the associated event
If CPUID.0AH:EAX[7:0] > 2 &&
conditions occurring across all logical processors sharing a processor
CPUID.0AH:EDX[15]=0
core. When set to 0, the counter only increments the associated event
conditions occurring in the logical processor which programmed the MSR.
11
EN2_PMI: Enable PMI when fixed counter 2 overflows.
12
EN3_OS: Enable Fixed Counter 3 to count while CPL = 0.
13
EN3_Usr: Enable Fixed Counter 3 to count while CPL > 0.
14
Reserved.
15
EN3_PMI: Enable PMI when fixed counter 3 overflows.
63:16
Reserved.
Register Address: 38EH, 910
IA32_PERF_GLOBAL_STATUS
Global Performance Counter Status (R/O)
If CPUID.0AH: EAX[7:0] > 0 II
(CPUID.(EAX=07H,
ECX=0):EBX[25] = 1 &&
CPUID.(EAX=014H, ECX=0):ECX[0]
= 1)
0
Ovf_PMC0: Overflow status of IA32_PMC0.
If CPUID.0AH: EAX[15:8] > 0
1
Ovf_PMC1: Overflow status of IA32_PMC1.
If CPUID.0AH: EAX[15:8] > 1
2
Ovf_PMC2: Overflow status of IA32_PMC2.
If CPUID.0AH: EAX[15:8] > 2
3
Ovf_PMC3: Overflow status of IA32_PMC3.
If CPUID.0AH: EAX[15:8] > 3
n
Ovf_PMCn: Overflow status of IA32_PMCn.
If CPUID.0AH: EAX[15:8] > n
31:n+1
Reserved.
32
Ovf_FixedCtr0: Overflow status of IA32_FIXED_CTR0.
If CPUID.0AH: EAX[7:0] > 1
33
Ovf_FixedCtr1: Overflow status of IA32_FIXED_CTR1.
If CPUID.0AH: EAX[7:0] > 1
34
Ovf_FixedCtr2: Overflow status of IA32_FIXED_CTR2.
If CPUID.0AH: EAX[7:0] > 1
47:35
Reserved.
2-28 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
48
OVF_PERF_METRICS: If this bit is set, it indicates that PERF_METRIC
counter has overflowed and a PMI is triggered; however, an overflow of
fixed counter 3 should normally happen first. If this bit is clear no
overflow occurred.
54:49
Reserved.
55
Trace_ToPA_PMI: A PMI occurred due to a ToPA entry memory buffer
If CPUID.(EAX=07H,
that was completely filled.
ECX=0):EBX[25] = 1 &&
CPUID.(EAX=014H, ECX=0):ECX[0]
= 1
57:56
Reserved.
58
LBR_Frz. LBRs are frozen due to:
If CPUID.0AH: EAX[7:0] > 3
• IA32_DEBUGCTL.FREEZE_LBR_ON_PMI=1.
• The LBR stack overflowed.
59
CTR_Frz. Performance counters in the core PMU are frozen due to:
If CPUID.0AH: EAX[7:0] > 3
• IA32_DEBUGCTL.FREEZE_PERFMON_ON_PMI=1.
• One or more core PMU counters overflowed.
60
ASCI: Data in the performance counters in the core PMU may include
If CPUID.(EAX=07H,
contributions from the direct or indirect operation Intel SGX to protect an
ECX=0):EBX[2] = 1
enclave.
61
Ovf_Uncore: Uncore counter overflow status.
If CPUID.0AH: EAX[7:0] > 2
62
OvfBuf: DS SAVE area Buffer overflow status.
If CPUID.0AH: EAX[7:0] > 0
63
CondChgd: Status bits of this register have changed.
If CPUID.0AH: EAX[7:0] > 0
Register Address: 38FH, 911
IA32_PERF_GLOBAL_CTRL
Global Performance Counter Control (R/W)
If CPUID.0AH: EAX[7:0] > 0
Counter increments while the result of ANDing the respective enable bit in this MSR with the
corresponding OS or USR bits in the general-purpose or fixed counter control MSR is true.
0
EN_PMC0
If CPUID.0AH: EAX[15:8] > 0
1
EN_PMC1
If CPUID.0AH: EAX[15:8] > 1
2
EN_PMC2
If CPUID.0AH: EAX[15:8] > 2
n
EN_PMCn
If CPUID.0AH: EAX[15:8] > n
31:n+1
Reserved.
32
EN_FIXED_CTR0
If CPUID.0AH: EDX[4:0] > 0
33
EN_FIXED_CTR1
If CPUID.0AH: EDX[4:0] > 1
34
EN_FIXED_CTR2
If CPUID.0AH: EDX[4:0] > 2
47:35
Reserved.
48
EN_PERF_METRICS: If this bit is set and fixed counter 3 is effectively
enabled, built-in performance metrics are enabled.
63:49
Reserved.
Register Address: 390H, 912
IA32_PERF_GLOBAL_OVF_CTRL
Global Performance Counter Overflow Control (R/W)
If CPUID.0AH: EAX[7:0] > 0 &&
CPUID.0AH: EAX[7:0] <= 3
0
Set 1 to Clear Ovf_PMC0 bit.
If CPUID.0AH: EAX[15:8] > 0
Vol. 4
2-29
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
1
Set 1 to Clear Ovf_PMC1 bit.
If CPUID.0AH: EAX[15:8] > 1
2
Set 1 to Clear Ovf_PMC2 bit.
If CPUID.0AH: EAX[15:8] > 2
n
Set 1 to Clear Ovf_PMCn bit.
If CPUID.0AH: EAX[15:8] > n
31:n
Reserved.
32
Set 1 to Clear Ovf_FIXED_CTR0 bit.
If CPUID.0AH: EDX[4:0] > 0
33
Set 1 to Clear Ovf_FIXED_CTR1 bit.
If CPUID.0AH: EDX[4:0] > 1
34
Set 1 to Clear Ovf_FIXED_CTR2 bit.
If CPUID.0AH: EDX[4:0] > 2
54:35
Reserved.
55
Set 1 to Clear Trace_ToPA_PMI bit.
If (CPUID.(EAX=07H,
ECX=0):EBX[25] = 1) &&
IA32_RTIT_CTL.ToPA = 1
60:56
Reserved.
61
Set 1 to Clear Ovf_Uncore bit.
06_2EH
62
Set 1 to Clear OvfBuf bit.
If CPUID.0AH: EAX[7:0] > 0
63
Set 1 to clear CondChgd bit.
If CPUID.0AH: EAX[7:0] > 0
Register Address: 390H, 912
IA32_PERF_GLOBAL_STATUS_RESET
Global Performance Counter Overflow Reset Control (R/W)
If CPUID.0AH: EAX[7:0] > 3 II
(CPUID.(EAX=07H,
ECX=0):EBX[25] = 1 &&
CPUID.(EAX=014H, ECX=0):ECX[0]
= 1)
0
Set 1 to Clear Ovf_PMC0 bit.
If CPUID.0AH: EAX[15:8] > 0
1
Set 1 to Clear Ovf_PMC1 bit.
If CPUID.0AH: EAX[15:8] > 1
2
Set 1 to Clear Ovf_PMC2 bit.
If CPUID.0AH: EAX[15:8] > 2
n
Set 1 to Clear Ovf_PMCn bit.
If CPUID.0AH: EAX[15:8] > n
31:n
Reserved.
32
Set 1 to Clear Ovf_FIXED_CTR0 bit.
If CPUID.0AH: EDX[4:0] > 0
33
Set 1 to Clear Ovf_FIXED_CTR1 bit.
If CPUID.0AH: EDX[4:0] > 1
34
Set 1 to Clear Ovf_FIXED_CTR2 bit.
If CPUID.0AH: EDX[4:0] > 2
47:35
Reserved.
48
RESET_OVF_PERF_METRICS: If this bit is set, it will clear the status bit in
the IA32_PERF_GLOBAL_STATUS register for the PERF_METRICS
counters.
54:49
Reserved.
55
Set 1 to Clear Trace_ToPA_PMI bit.
If CPUID.(EAX=07H,
ECX=0):EBX[25] = 1 &&
CPUID.(EAX=014H, ECX=0):ECX[0]
= 1
57:56
Reserved.
58
Set 1 to Clear LBR_Frz bit.
If CPUID.0AH: EAX[7:0] > 3
59
Set 1 to Clear CTR_Frz bit.
If CPUID.0AH: EAX[7:0] > 3
2-30 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
58
Set 1 to Clear ASCI bit.
If CPUID.0AH: EAX[7:0] > 3
61
Set 1 to Clear Ovf_Uncore bit.
06_2EH
62
Set 1 to Clear OvfBuf bit.
If CPUID.0AH: EAX[7:0] > 0
63
Set 1 to clear CondChgd bit.
If CPUID.0AH: EAX[7:0] > 0
Register Address: 391H, 913
IA32_PERF_GLOBAL_STATUS_SET
Global Performance Counter Overflow Set Control (R/W)
If CPUID.0AH: EAX[7:0] > 3 II
(CPUID.(EAX=07H,
ECX=0):EBX[25] = 1 &&
CPUID.(EAX=014H, ECX=0):ECX[0]
= 1)
0
Set 1 to cause Ovf_PMC0 = 1.
If CPUID.0AH: EAX[7:0] > 3
1
Set 1 to cause Ovf_PMC1 = 1.
If CPUID.0AH: EAX[15:8] > 1
2
Set 1 to cause Ovf_PMC2 = 1.
If CPUID.0AH: EAX[15:8] > 2
n
Set 1 to cause Ovf_PMCn = 1.
If CPUID.0AH: EAX[15:8] > n
31:n
Reserved.
32
Set 1 to cause Ovf_FIXED_CTR0 = 1.
If CPUID.0AH: EAX[7:0] > 3
33
Set 1 to cause Ovf_FIXED_CTR1 = 1.
If CPUID.0AH: EAX[7:0] > 3
34
Set 1 to cause Ovf_FIXED_CTR2 = 1.
If CPUID.0AH: EAX[7:0] > 3
47:35
Reserved.
48
SET_OVF_PERF_METRICS: If this bit is set, it will set the status bit in the
IA32_PERF_GLOBAL_STATUS register for the PERF_METRICS counters.
54:49
Reserved.
55
Set 1 to cause Trace_ToPA_PMI = 1.
If CPUID.(EAX=07H,
ECX=0):EBX[25] = 1 &&
CPUID.(EAX=014H, ECX=0):ECX[0]
= 1
57:56
Reserved.
58
Set 1 to cause LBR_Frz = 1.
If CPUID.0AH: EAX[7:0] > 3
59
Set 1 to cause CTR_Frz = 1.
If CPUID.0AH: EAX[7:0] > 3
58
Set 1 to cause ASCI = 1.
If CPUID.0AH: EAX[7:0] > 3
61
Set 1 to cause Ovf_Uncore = 1.
If CPUID.0AH: EAX[7:0] > 3
62
Set 1 to cause OvfBuf = 1.
If CPUID.0AH: EAX[7:0] > 3
63
Reserved.
Register Address: 392H, 914
IA32_PERF_GLOBAL_INUSE
Indicator that core perfmon interface is in use. (R/O)
If CPUID.0AH: EAX[7:0] > 3
0
IA32_PERFEVTSEL0 in use.
1
IA32_PERFEVTSEL1 in use.
If CPUID.0AH: EAX[15:8] > 1
2
IA32_PERFEVTSEL2 in use.
If CPUID.0AH: EAX[15:8] > 2
n
IA32_PERFEVTSELn in use.
If CPUID.0AH: EAX[15:8] > n
31:n+1
Reserved.
Vol. 4
2-31
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
32
IA32_FIXED_CTR0 in use.
33
IA32_FIXED_CTR1 in use.
34
IA32_FIXED_CTR2 in use.
62:35
Reserved or model specific.
63
PMI in use.
Register Address: 3F1H, 1009
IA32_PEBS_ENABLE
PEBS Control (R/W)
0
Enable PEBS on IA32_PMC0.
06_0FH
3:1
Reserved or model specific.
31:4
Reserved.
35:32
Reserved or model specific.
63:36
Reserved.
Register Address: 400H, 1024
IA32_MC0_CTL
MC0_CTL
If IA32_MCG_CAP.CNT >0
Register Address: 401H, 1025
IA32_MC0_STATUS
MC0_STATUS
If IA32_MCG_CAP.CNT >0
Register Address: 402H, 1026
IA32_MC0_ADDR1
MC0_ADDR
If IA32_MCG_CAP.CNT >0
Register Address: 403H, 1027
IA32_MC0_MISC
MC0_MISC
If IA32_MCG_CAP.CNT >0
Register Address: 404H, 1028
IA32_MC1_CTL
MC1_CTL
If IA32_MCG_CAP.CNT >1
Register Address: 405H, 1029
IA32_MC1_STATUS
MC1_STATUS
If IA32_MCG_CAP.CNT >1
Register Address: 406H, 1030
IA32_MC1_ADDR2
MC1_ADDR
If IA32_MCG_CAP.CNT >1
Register Address: 407H, 1031
IA32_MC1_MISC
MC1_MISC
If IA32_MCG_CAP.CNT >1
Register Address: 408H, 1032
IA32_MC2_CTL
MC2_CTL
If IA32_MCG_CAP.CNT >2
Register Address: 409H, 1033
IA32_MC2_STATUS
MC2_STATUS
If IA32_MCG_CAP.CNT >2
Register Address: 40AH, 1034
IA32_MC2_ADDR1
MC2_ADDR
If IA32_MCG_CAP.CNT >2
Register Address: 40BH, 1035
IA32_MC2_MISC
MC2_MISC
If IA32_MCG_CAP.CNT >2
Register Address: 40CH, 1036
IA32_MC3_CTL
2-32 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
MC3_CTL
If IA32_MCG_CAP.CNT >3
Register Address: 40DH, 1037
IA32_MC3_STATUS
MC3_STATUS
If IA32_MCG_CAP.CNT >3
Register Address: 40EH, 1038
IA32_MC3_ADDR1
MC3_ADDR
If IA32_MCG_CAP.CNT >3
Register Address: 40FH, 1039
IA32_MC3_MISC
MC3_MISC
If IA32_MCG_CAP.CNT >3
Register Address: 410H, 1040
IA32_MC4_CTL
MC4_CTL
If IA32_MCG_CAP.CNT >4
Register Address: 411H, 1041
IA32_MC4_STATUS
MC4_STATUS
If IA32_MCG_CAP.CNT >4
Register Address: 412H, 1042
IA32_MC4_ADDR1
MC4_ADDR
If IA32_MCG_CAP.CNT >4
Register Address: 413H, 1043
IA32_MC4_MISC
MC4_MISC
If IA32_MCG_CAP.CNT >4
Register Address: 414H, 1044
IA32_MC5_CTL
MC5_CTL
If IA32_MCG_CAP.CNT >5
Register Address: 415H, 1045
IA32_MC5_STATUS
MC5_STATUS
If IA32_MCG_CAP.CNT >5
Register Address: 416H, 1046
IA32_MC5_ADDR1
MC5_ADDR
If IA32_MCG_CAP.CNT >5
Register Address: 417H, 1047
IA32_MC5_MISC
MC5_MISC
If IA32_MCG_CAP.CNT >5
Register Address: 418H, 1048
IA32_MC6_CTL
MC6_CTL
If IA32_MCG_CAP.CNT >6
Register Address: 419H, 1049
IA32_MC6_STATUS
MC6_STATUS
If IA32_MCG_CAP.CNT >6
Register Address: 41AH, 1050
IA32_MC6_ADDR1
MC6_ADDR
If IA32_MCG_CAP.CNT >6
Register Address: 41BH, 1051
IA32_MC6_MISC
MC6_MISC
If IA32_MCG_CAP.CNT >6
Register Address: 41CH, 1052
IA32_MC7_CTL
MC7_CTL
If IA32_MCG_CAP.CNT >7
Register Address: 41DH, 1053
IA32_MC7_STATUS
MC7_STATUS
If IA32_MCG_CAP.CNT >7
Register Address: 41EH, 1054
IA32_MC7_ADDR1
MC7_ADDR
If IA32_MCG_CAP.CNT >7
Vol. 4
2-33
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 41FH, 1055
IA32_MC7_MISC
MC7_MISC
If IA32_MCG_CAP.CNT >7
Register Address: 420H, 1056
IA32_MC8_CTL
MC8_CTL
If IA32_MCG_CAP.CNT >8
Register Address: 421H, 1057
IA32_MC8_STATUS
MC8_STATUS
If IA32_MCG_CAP.CNT >8
Register Address: 422H, 1058
IA32_MC8_ADDR1
MC8_ADDR
If IA32_MCG_CAP.CNT >8
Register Address: 423H, 1059
IA32_MC8_MISC
MC8_MISC
If IA32_MCG_CAP.CNT >8
Register Address: 424H, 1060
IA32_MC9_CTL
MC9_CTL
If IA32_MCG_CAP.CNT >9
Register Address: 425H, 1061
IA32_MC9_STATUS
MC9_STATUS
If IA32_MCG_CAP.CNT >9
Register Address: 426H, 1062
IA32_MC9_ADDR1
MC9_ADDR
If IA32_MCG_CAP.CNT >9
Register Address: 427H, 1063
IA32_MC9_MISC
MC9_MISC
If IA32_MCG_CAP.CNT >9
Register Address: 428H, 1064
IA32_MC10_CTL
MC10_CTL
If IA32_MCG_CAP.CNT >10
Register Address: 429H, 1065
IA32_MC10_STATUS
MC10_STATUS
If IA32_MCG_CAP.CNT >10
Register Address: 42AH, 1066
IA32_MC10_ADDR1
MC10_ADDR
If IA32_MCG_CAP.CNT >10
Register Address: 42BH, 1067
IA32_MC10_MISC
MC10_MISC
If IA32_MCG_CAP.CNT >10
Register Address: 42CH, 1068
IA32_MC11_CTL
MC11_CTL
If IA32_MCG_CAP.CNT >11
Register Address: 42DH, 1069
IA32_MC11_STATUS
MC11_STATUS
If IA32_MCG_CAP.CNT >11
Register Address: 42EH, 1070
IA32_MC11_ADDR1
MC11_ADDR
If IA32_MCG_CAP.CNT >11
Register Address: 42FH, 1071
IA32_MC11_MISC
MC11_MISC
If IA32_MCG_CAP.CNT >11
Register Address: 430H, 1072
IA32_MC12_CTL
MC12_CTL
If IA32_MCG_CAP.CNT >12
Register Address: 431H, 1073
IA32_MC12_STATUS
2-34 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
MC12_STATUS
If IA32_MCG_CAP.CNT >12
Register Address: 432H, 1074
IA32_MC12_ADDR1
MC12_ADDR
If IA32_MCG_CAP.CNT >12
Register Address: 433H, 1075
IA32_MC12_MISC
MC12_MISC
If IA32_MCG_CAP.CNT >12
Register Address: 434H, 1076
IA32_MC13_CTL
MC13_CTL
If IA32_MCG_CAP.CNT >13
Register Address: 435H, 1077
IA32_MC13_STATUS
MC13_STATUS
If IA32_MCG_CAP.CNT >13
Register Address: 436H, 1078
IA32_MC13_ADDR1
MC13_ADDR
If IA32_MCG_CAP.CNT >13
Register Address: 437H, 1079
IA32_MC13_MISC
MC13_MISC
If IA32_MCG_CAP.CNT >13
Register Address: 438H, 1080
IA32_MC14_CTL
MC14_CTL
If IA32_MCG_CAP.CNT >14
Register Address: 439H, 1081
IA32_MC14_STATUS
MC14_STATUS
If IA32_MCG_CAP.CNT >14
Register Address: 43AH, 1082
IA32_MC14_ADDR1
MC14_ADDR
If IA32_MCG_CAP.CNT >14
Register Address: 43BH, 1083
IA32_MC14_MISC
MC14_MISC
If IA32_MCG_CAP.CNT >14
Register Address: 43CH, 1084
IA32_MC15_CTL
MC15_CTL
If IA32_MCG_CAP.CNT >15
Register Address: 43DH, 1085
IA32_MC15_STATUS
MC15_STATUS
If IA32_MCG_CAP.CNT >15
Register Address: 43EH, 1086
IA32_MC15_ADDR1
MC15_ADDR
If IA32_MCG_CAP.CNT >15
Register Address: 43FH, 1087
IA32_MC15_MISC
MC15_MISC
If IA32_MCG_CAP.CNT >15
Register Address: 440H, 1088
IA32_MC16_CTL
MC16_CTL
If IA32_MCG_CAP.CNT >16
Register Address: 441H, 1089
IA32_MC16_STATUS
MC16_STATUS
If IA32_MCG_CAP.CNT >16
Register Address: 442H, 1090
IA32_MC16_ADDR1
MC16_ADDR
If IA32_MCG_CAP.CNT >16
Register Address: 443H, 1091
IA32_MC16_MISC
MC16_MISC
If IA32_MCG_CAP.CNT >16
Vol. 4
2-35
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 444H, 1092
IA32_MC17_CTL
MC17_CTL
If IA32_MCG_CAP.CNT >17
Register Address: 445H, 1093
IA32_MC17_STATUS
MC17_STATUS
If IA32_MCG_CAP.CNT >17
Register Address: 446H, 1094
IA32_MC17_ADDR1
MC17_ADDR
If IA32_MCG_CAP.CNT >17
Register Address: 447H, 1095
IA32_MC17_MISC
MC17_MISC
If IA32_MCG_CAP.CNT >17
Register Address: 448H, 1096
IA32_MC18_CTL
MC18_CTL
If IA32_MCG_CAP.CNT >18
Register Address: 449H, 1097
IA32_MC18_STATUS
MC18_STATUS
If IA32_MCG_CAP.CNT >18
Register Address: 44AH, 1098
IA32_MC18_ADDR1
MC18_ADDR
If IA32_MCG_CAP.CNT >18
Register Address: 44BH, 1099
IA32_MC18_MISC
MC18_MISC
If IA32_MCG_CAP.CNT >18
Register Address: 44CH, 1100
IA32_MC19_CTL
MC19_CTL
If IA32_MCG_CAP.CNT >19
Register Address: 44DH, 1101
IA32_MC19_STATUS
MC19_STATUS
If IA32_MCG_CAP.CNT >19
Register Address: 44EH, 1102
IA32_MC19_ADDR1
MC19_ADDR
If IA32_MCG_CAP.CNT >19
Register Address: 44FH, 1103
IA32_MC19_MISC
MC19_MISC
If IA32_MCG_CAP.CNT >19
Register Address: 450H, 1104
IA32_MC20_CTL
MC20_CTL
If IA32_MCG_CAP.CNT >20
Register Address: 451H, 1105
IA32_MC20_STATUS
MC20_STATUS
If IA32_MCG_CAP.CNT >20
Register Address: 452H, 11061106
IA32_MC20_ADDR1
MC20_ADDR
If IA32_MCG_CAP.CNT >20
Register Address: 453H, 1107
IA32_MC20_MISC
MC20_MISC
If IA32_MCG_CAP.CNT >20
Register Address: 454H, 1108
IA32_MC21_CTL
MC21_CTL
If IA32_MCG_CAP.CNT >21
Register Address: 455H, 1109
IA32_MC21_STATUS
MC21_STATUS
If IA32_MCG_CAP.CNT >21
Register Address: 456H, 1110
IA32_MC21_ADDR1
2-36 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
MC21_ADDR
If IA32_MCG_CAP.CNT >21
Register Address: 457H, 1111
IA32_MC21_MISC
MC21_MISC
If IA32_MCG_CAP.CNT >21
Register Address: 458H, 1112
IA32_MC22_CTL
MC22_CTL
If IA32_MCG_CAP.CNT >22
Register Address: 459H, 1113
IA32_MC22_STATUS
MC22_STATUS
If IA32_MCG_CAP.CNT >22
Register Address: 45AH, 1114
IA32_MC22_ADDR1
MC22_ADDR
If IA32_MCG_CAP.CNT >22
Register Address: 45BH, 1115
IA32_MC22_MISC
MC22_MISC
If IA32_MCG_CAP.CNT >22
Register Address: 45CH, 1116
IA32_MC23_CTL
MC23_CTL
If IA32_MCG_CAP.CNT >23
Register Address: 45DH, 1117
IA32_MC23_STATUS
MC23_STATUS
If IA32_MCG_CAP.CNT >23
Register Address: 45EH, 1118
IA32_MC23_ADDR1
MC23_ADDR
If IA32_MCG_CAP.CNT >23
Register Address: 45FH, 1119
IA32_MC23_MISC
MC23_MISC
If IA32_MCG_CAP.CNT >23
Register Address: 460H, 1120
IA32_MC24_CTL
MC24_CTL
If IA32_MCG_CAP.CNT >24
Register Address: 461H, 1121
IA32_MC24_STATUS
MC24_STATUS
If IA32_MCG_CAP.CNT >24
Register Address: 462H, 1122
IA32_MC24_ADDR1
MC24_ADDR
If IA32_MCG_CAP.CNT >24
Register Address: 463H, 1123
IA32_MC24_MISC
MC24_MISC
If IA32_MCG_CAP.CNT >24
Register Address: 464H, 1124
IA32_MC25_CTL
MC25_CTL
If IA32_MCG_CAP.CNT >25
Register Address: 465H, 1125
IA32_MC25_STATUS
MC25_STATUS
If IA32_MCG_CAP.CNT >25
Register Address: 466H, 1126
IA32_MC25_ADDR1
MC25_ADDR
If IA32_MCG_CAP.CNT >25
Register Address: 467H, 1127
IA32_MC25_MISC
MC25_MISC
If IA32_MCG_CAP.CNT >25
Register Address: 468H, 1128
IA32_MC26_CTL
MC26_CTL
If IA32_MCG_CAP.CNT >26
Vol. 4
2-37
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 469H, 1129
IA32_MC26_STATUS
MC26_STATUS
If IA32_MCG_CAP.CNT >26
Register Address: 46AH, 1130
IA32_MC26_ADDR1
MC26_ADDR
If IA32_MCG_CAP.CNT >26
Register Address: 46BH, 1131
IA32_MC26_MISC
MC26_MISC
If IA32_MCG_CAP.CNT >26
Register Address: 46CH, 1132
IA32_MC27_CTL
MC27_CTL
If IA32_MCG_CAP.CNT >27
Register Address: 46DH, 1133
IA32_MC27_STATUS
MC27_STATUS
If IA32_MCG_CAP.CNT >27
Register Address: 46EH, 1134
IA32_MC27_ADDR1
MC27_ADDR
If IA32_MCG_CAP.CNT >27
Register Address: 46FH, 1135
IA32_MC27_MISC
MC27_MISC
If IA32_MCG_CAP.CNT >27
Register Address: 470H, 1136
IA32_MC28_CTL
MC28_CTL
If IA32_MCG_CAP.CNT >28
Register Address: 471H, 1137
IA32_MC28_STATUS
MC28_STATUS
If IA32_MCG_CAP.CNT >28
Register Address: 472H, 1138
IA32_MC28_ADDR1
MC28_ADDR
If IA32_MCG_CAP.CNT >28
Register Address: 473H, 1139
IA32_MC28_MISC
MC28_MISC
If IA32_MCG_CAP.CNT >28
Register Address: 474H, 1140
IA32_MC29_CTL
MC29_CTL
If IA32_MCG_CAP.CNT >29
Register Address: 475H, 1141
IA32_MC29_STATUS
MC29_STATUS
If IA32_MCG_CAP.CNT >29
Register Address: 476H, 1142
IA32_MC29_ADDR
MC29_ADDR
If IA32_MCG_CAP.CNT >29
Register Address: 477H, 1143
IA32_MC29_MISC
MC29_MISC
If IA32_MCG_CAP.CNT >29
Register Address: 478H, 1144
IA32_MC30_CTL
MC30_CTL
If IA32_MCG_CAP.CNT >30
Register Address: 479H, 1145
IA32_MC30_STATUS
MC30_STATUS
If IA32_MCG_CAP.CNT >30
Register Address: 47AH, 1146
IA32_MC30_ADDR
MC30_ADDR
If IA32_MCG_CAP.CNT >30
Register Address: 47BH, 1147
IA32_MC30_MISC
2-38 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
MC30_MISC
If IA32_MCG_CAP.CNT >30
Register Address: 47CH, 1148
IA32_MC31_CTL
MC31_CTL
If IA32_MCG_CAP.CNT >31
Register Address: 47DH, 1149
IA32_MC31_STATUS
MC31_STATUS
If IA32_MCG_CAP.CNT >31
Register Address: 47EH, 1150
IA32_MC31_ADDR
MC31_ADDR
If IA32_MCG_CAP.CNT >31
Register Address: 47FH, 1151
IA32_MC31_MISC
MC31_MISC
If IA32_MCG_CAP.CNT >31
Register Address: 480H, 1152
IA32_VMX_BASIC
Reporting Register of Basic VMX Capabilities (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.1, “Basic VMX Information.”
Register Address: 481H, 1153
IA32_VMX_PINBASED_CTLS
Capability Reporting Register of Pin-Based VM-Execution Controls (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.3.1, “Pin-Based VM-Execution Controls.”
Register Address: 482H, 1154
IA32_VMX_PROCBASED_CTLS
Capability Reporting Register of Primary Processor-Based VM-Execution Controls (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.3.2, “Primary Processor-Based VM-Execution Controls.”
Register Address: 483H, 1155
IA32_VMX_EXIT_CTLS
Capability Reporting Register of Primary VM-Exit Controls (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.4.1, “Primary VM-Exit Controls.”
Register Address: 484H, 1156
IA32_VMX_ENTRY_CTLS
Capability Reporting Register of VM-Entry Controls (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.5, “VM-Entry Controls.”
Register Address: 485H, 1157
IA32_VMX_MISC
Reporting Register of Miscellaneous VMX Capabilities (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.6, “Miscellaneous Data.”
Register Address: 486H, 1158
IA32_VMX_CR0_FIXED0
Capability Reporting Register of CR0 Bits Fixed to 0 (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.7, “VMX-Fixed Bits in CR0.”
Register Address: 487H, 1159
IA32_VMX_CR0_FIXED1
Capability Reporting Register of CR0 Bits Fixed to 1 (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.7, “VMX-Fixed Bits in CR0.”
Register Address: 488H, 1160
IA32_VMX_CR4_FIXED0
Capability Reporting Register of CR4 Bits Fixed to 0 (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.8, “VMX-Fixed Bits in CR4.”
Register Address: 489H, 1161
IA32_VMX_CR4_FIXED1
Capability Reporting Register of CR4 Bits Fixed to 1 (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.8, “VMX-Fixed Bits in CR4.”
Vol. 4
2-39
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 48AH, 1162
IA32_VMX_VMCS_ENUM
Capability Reporting Register of VMCS Field Enumeration (R/O)
If CPUID.01H:ECX.[5] = 1
See Appendix A.9, “VMCS Enumeration.”
Register Address: 48BH, 1163
IA32_VMX_PROCBASED_CTLS2
Capability Reporting Register of Secondary Processor-Based VM-Execution Controls (R/O)
If ( CPUID.01H:ECX.[5] &&
IA32_VMX_PROCBASED_CTLS[63
See Appendix A.3.3, “Secondary Processor-Based VM-Execution Controls.”
])
Register Address: 48CH, 1164
IA32_VMX_EPT_VPID_CAP
Capability Reporting Register of EPT and VPID (R/O)
If ( CPUID.01H:ECX.[5] &&
IA32_VMX_PROCBASED_CTLS[63
See Appendix A.10, “VPID and EPT Capabilities.”
] && (
IA32_VMX_PROCBASED_CTLS2[3
3] ||
IA32_VMX_PROCBASED_CTLS2[3
7]) )
Register Address: 48DH, 1165
IA32_VMX_TRUE_PINBASED_CTLS
Capability Reporting Register of Pin-Based VM-Execution Flex Controls (R/O)
If ( CPUID.01H:ECX.[5] &&
IA32_VMX_BASIC[55] )
See Appendix A.3.1, “Pin-Based VM-Execution Controls.”
Register Address: 48EH, 1166
IA32_VMX_TRUE_PROCBASED_CTLS
Capability Reporting Register of Primary Processor-Based VM-Execution Flex Controls (R/O)
If( CPUID.01H:ECX.[5] &&
IA32_VMX_BASIC[55] )
See Appendix A.3.2, “Primary Processor-Based VM-Execution Controls.”
Register Address: 48FH, 1167
IA32_VMX_TRUE_EXIT_CTLS
Capability Reporting Register of VM-Exit Flex Controls (R/O)
If( CPUID.01H:ECX.[5] &&
See Appendix A.4, “VM-Exit Controls.”
IA32_VMX_BASIC[55] )
Register Address: 490H, 1168
IA32_VMX_TRUE_ENTRY_CTLS
Capability Reporting Register of VM-Entry Flex Controls (R/O)
If( CPUID.01H:ECX.[5] &&
IA32_VMX_BASIC[55] )
See Appendix A.5, “VM-Entry Controls.”
Register Address: 491H, 1169
IA32_VMX_VMFUNC
Capability Reporting Register of VM-Function Controls (R/O)
If( CPUID.01H:ECX.[5] &&
IA32_VMX_PROCBASED_CTLS[63
] &&
IA32_VMX_PROCBASED_CTLS2[4
5])
Register Address: 492H, 1170
IA32_VMX_PROCBASED_CTLS3
Capability Reporting Register of Tertiary Processor-Based VM-Execution Controls (R/O)
If ( CPUID.01H:ECX.[5] &&
See Appendix A.3.4, “Tertiary Processor-Based VM-Execution Controls.”
IA32_VMX_PROCBASED_CTLS[49
])
Register Address: 493H, 1171
IA32_VMX_EXIT_CTLS2
Capability Reporting Register of Secondary VM-Exit Controls (R/O)
If ( CPUID.01H:ECX.[5] &&
See Appendix A.4.2, “Secondary VM-Exit Controls.”
IA32_VMX_EXIT_CTLS[63])
Register Address: 4C1H, 1217
IA32_A_PMC0
Full Width Writable IA32_PMC0 Alias (R/W)
(If CPUID.0AH: EAX[15:8] > 0) &&
IA32_PERF_CAPABILITIES[13] = 1
2-40 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 4C2H, 1218
IA32_A_PMC1
Full Width Writable IA32_PMC1 Alias (R/W)
(If CPUID.0AH: EAX[15:8] > 1) &&
IA32_PERF_CAPABILITIES[13] = 1
Register Address: 4C3H, 1219
IA32_A_PMC2
Full Width Writable IA32_PMC2 Alias (R/W)
(If CPUID.0AH: EAX[15:8] > 2) &&
IA32_PERF_CAPABILITIES[13] = 1
Register Address: 4C4H, 1220
IA32_A_PMC3
Full Width Writable IA32_PMC3 Alias (R/W)
(If CPUID.0AH: EAX[15:8] > 3) &&
IA32_PERF_CAPABILITIES[13] = 1
Register Address: 4C5H, 1221
IA32_A_PMC4
Full Width Writable IA32_PMC4 Alias (R/W)
(If CPUID.0AH: EAX[15:8] > 4) &&
IA32_PERF_CAPABILITIES[13] = 1
Register Address: 4C6H, 1222
IA32_A_PMC5
Full Width Writable IA32_PMC5 Alias (R/W)
(If CPUID.0AH: EAX[15:8] > 5) &&
IA32_PERF_CAPABILITIES[13] = 1
Register Address: 4C7H, 1223
IA32_A_PMC6
Full Width Writable IA32_PMC6 Alias (R/W)
(If CPUID.0AH: EAX[15:8] > 6) &&
IA32_PERF_CAPABILITIES[13] = 1
Register Address: 4C8H, 1224
IA32_A_PMC7
Full Width Writable IA32_PMC7 Alias (R/W)
(If CPUID.0AH: EAX[15:8] > 7) &&
IA32_PERF_CAPABILITIES[13] = 1
Register Address: 4D0H, 1232
IA32_MCG_EXT_CTL
Allows software to signal some MCEs to only a single logical processor in the system. (R/W)
If IA32_MCG_CAP.LMCE_P =1
See Section 16.3.1.4, “IA32_MCG_EXT_CTL MSR.”
0
LMCE_EN
63:1
Reserved.
Register Address: 500H, 1280
IA32_SGX_SVN_STATUS
Status and SVN Threshold of SGX Support for ACM (R/O)
If CPUID.(EAX=07H, ECX=0H):
EBX[2] = 1
0
Lock.
See Section 39.11.3, “Interactions
with Authenticated Code Modules
(ACMs).”
15:1
Reserved.
23:16
SGX_SVN_SINIT
See Section 39.11.3, “Interactions
with Authenticated Code Modules
(ACMs).”
63:24
Reserved.
Register Address: 560H, 1376
IA32_RTIT_OUTPUT_BASE
Vol. 4
2-41
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Trace Output Base Register (R/W)
If ((CPUID.(EAX=07H,
ECX=0):EBX[25] = 1) && (
(CPUID.(EAX=14H,ECX=0):ECX[0]
= 1) ||
(CPUID.(EAX=14H,ECX=0):ECX[2]
= 1) ) )
6:0
Reserved.
MAXPHYADDR4-1:7
Base physical address.
63:MAXPHYADDR
Reserved.
Register Address: 561H, 1377
IA32_RTIT_OUTPUT_MASK_PTRS
Trace Output Mask Pointers Register (R/W)
If ((CPUID.(EAX=07H,
ECX=0):EBX[25] = 1) && (
(CPUID.(EAX=14H,ECX=0):ECX[0]
= 1) ||
(CPUID.(EAX=14H,ECX=0):ECX[2]
= 1) ) )
6:0
Reserved.
31:7
MaskOrTableOffset.
63:32
Output Offset.
Register Address: 570H, 1392
IA32_RTIT_CTL
Trace Control Register (R/W)
If (CPUID.(EAX=07H,
ECX=0):EBX[25] = 1)
0
TraceEn
1
CYCEn
If (CPUID.(EAX=07H,
ECX=0):EBX[1] = 1)
2
OS
3
User
4
PwrEvtEn
If (CPUID.(EAX=07H,
ECX=1):EBX[5] = 1)
5
FUPonPTW
If (CPUID.(EAX=07H,
ECX=1):EBX[4] = 1)
6
FabricEn
If (CPUID.(EAX=07H,
ECX=0):ECX[3] = 1)
7
CR3Filter
If (CPUID.(EAX=14H,
ECX=0):EBX[0] = 1)
8
ToPA
9
MTCEn
If (CPUID.(EAX=07H,
ECX=0):EBX[3] = 1)
10
TSCEn
11
DisRETC
12
PTWEn
If (CPUID.(EAX=07H,
ECX=1):EBX[4] = 1)
13
BranchEn
2-42 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
17:14
MTCFreq.
If (CPUID.(EAX=07H,
ECX=0):EBX[3] = 1)
18
Reserved, must be zero.
22:19
CycThresh
If (CPUID.(EAX=07H,
ECX=0):EBX[1] = 1)
23
Reserved, must be zero.
27:24
PSBFreq
If (CPUID.(EAX=07H,
ECX=0):EBX[1] = 1)
30:28
Reserved, must be zero.
31
EventEn
If (CPUID.(EAX=14H,
ECX=0):EBX[7] = 1)
35:32
ADDR0_CFG
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 0)
39:36
ADDR1_CFG
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 1)
43:40
ADDR2_CFG
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 2)
47:44
ADDR3_CFG
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 3)
54:48
Reserved, must be zero.
55
DisTNT
If (CPUID.(EAX=14H,
ECX=0):EBX[8] = 1)
56
InjectPsbPmiOnEnable
If (CPUID.(EAX=07H,
ECX=1):EBX[6] = 1)
63:57
Reserved, must be zero.
Register Address: 571H, 1393
IA32_RTIT_STATUS
Tracing Status Register (R/W)
If (CPUID.(EAX=07H,
ECX=0):EBX[25] = 1)
0
FilterEn (writes ignored).
If (CPUID.(EAX=07H,
ECX=0):EBX[2] = 1)
1
ContexEn (writes ignored).
2
TriggerEn (writes ignored).
3
Reserved.
4
Error
5
Stopped
6
PendPSB
If (CPUID.(EAX=07H,
ECX=0):EBX[6] = 1)
7
PendToPAPMI
If (CPUID.(EAX=07H,
ECX=0):EBX[6] = 1)
31:8
Reserved, must be zero.
48:32
PacketByteCnt
If (CPUID.(EAX=07H,
ECX=0):EBX[1] > 3)
Vol. 4
2-43
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
63:49
Reserved.
Register Address: 572H, 1394
IA32_RTIT_CR3_MATCH
Trace Filter CR3 Match Register (R/W)
If (CPUID.(EAX=07H,
ECX=0):EBX[25] = 1)
4:0
Reserved.
63:5
CR3[63:5] value to match.
Register Address: 580H, 1408
IA32_RTIT_ADDR0_A
Region 0 Start Address (R/W)
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 0)
47:0
Virtual Address.
63:48
SignExt_VA
Register Address: 581H, 1409
IA32_RTIT_ADDR0_B
Region 0 End Address (R/W)
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 0)
47:0
Virtual Address.
63:48
SignExt_VA
Register Address: 582H, 1410
IA32_RTIT_ADDR1_A
Region 1 Start Address (R/W)
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 1)
47:0
Virtual Address.
63:48
SignExt_VA
Register Address: 583H, 1411
IA32_RTIT_ADDR1_B
Region 1 End Address (R/W)
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 1)
47:0
Virtual Address.
63:48
SignExt_VA
Register Address: 584H, 1412
IA32_RTIT_ADDR2_A
Region 2 Start Address (R/W)
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 2)
47:0
Virtual Address.
63:48
SignExt_VA
Register Address: 585H, 1413
IA32_RTIT_ADDR2_B
Region 2 End Address (R/W)
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 2)
47:0
Virtual Address.
63:48
SignExt_VA
Register Address: 586H, 1414
IA32_RTIT_ADDR3_A
Region 3 Start Address (R/W)
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 3)
47:0
Virtual Address.
2-44 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
63:48
SignExt_VA
Register Address: 587H, 1415
IA32_RTIT_ADDR3_B
Region 3 End Address (R/W)
If (CPUID.(EAX=07H,
ECX=1):EAX[2:0] > 3)
47:0
Virtual Address.
63:48
SignExt_VA
Register Address: 600H, 1536
IA32_DS_AREA
DS Save Area (R/W)
If( CPUID.01H:EDX.DS[21] = 1
Points to the linear address of the first byte of the DS buffer management area, which is used to
manage the BTS and PEBS buffers.
See Section 20.6.3.4, “Debug Store (DS) Mechanism.”
63:0
The linear address of the first byte of the DS buffer management area, if
IA-32e mode is active.
31:0
The linear address of the first byte of the DS buffer management area, if
not in IA-32e mode.
63:32
Reserved if not in IA-32e mode.
Register Address: 6A0H, 1696
IA32_U_CET
Configure User Mode CET (R/W)
Bits 1:0 are defined if
CPUID.(EAX=07H,
ECX=0H):ECX.CET_SS[07] = 1.
Bits 5:2 and bits 63:10 are defined
if CPUID.(EAX=07H,
ECX=0H):EDX.CET_IBT[20] = 1.
0
SH_STK_EN: When set to 1, enable shadow stacks at CPL3.
1
WR_SHSTK_EN: When set to 1, enables the WRSSD/WRSSQ instructions.
2
ENDBR_EN: When set to 1, enables indirect branch tracking.
3
LEG_IW_EN: Enable legacy compatibility treatment for indirect branch
tracking.
4
NO_TRACK_EN: When set to 1, enables use of no-track prefix for indirect
branch tracking.
5
SUPPRESS_DIS: When set to 1, disables suppression of CET indirect
branch tracking on legacy compatibility.
9:6
Reserved; must be zero.
10
SUPPRESS: When set to 1, indirect branch tracking is suppressed. This bit
can be written to 1 only if TRACKER is written as IDLE.
11
TRACKER: Value of the indirect branch tracking state machine. Values:
IDLE (0), WAIT_FOR_ENDBRANCH(1).
63:12
EB_LEG_BITMAP_BASE: Linear address bits 63:12 of a legacy code page
bitmap used for legacy compatibility when indirect branch tracking is
enabled.
If the processor does not support Intel 64 architecture, these fields have
only 32 bits; bits 63:32 of the MSRs are reserved. On processors that
support Intel 64 architecture this value cannot represent a non-canonical
address. In protected mode, only 31:0 are used.
Vol. 4
2-45
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 6A2H, 1698
IA32_S_CET
Configure Supervisor Mode CET (R/W)
See IA32_U_CET (6A0H) for
reference; similar format.
Register Address: 6A4H, 1700
IA32_PL0_SSP
Linear address to be loaded into SSP on transition to privilege level 0. (R/W)
If CPUID.(EAX=07H,
ECX=0H):ECX.CET_SS[07] = 1
If the processor does not support Intel 64 architecture, these fields have only 32 bits; bits 63:32
of the MSRs are reserved. On processors that support Intel 64 architecture this value cannot
represent a non-canonical address. In protected mode, only 31:0 are loaded. Bits 1:0 of the MSR
must be 0. Transitions to privilege level 0 will check that bit 2 is also 0.
Register Address: 6A5H, 1701
IA32_PL1_SSP
Linear address to be loaded into SSP on transition to privilege level 1. (R/W)
If CPUID.(EAX=07H,
If the processor does not support Intel 64 architecture, these fields have only 32 bits; bits 63:32
ECX=0H):ECX.CET_SS[07] = 1
of the MSRs are reserved. On processors that support Intel 64 architecture this value cannot
represent a non-canonical address. In protected mode, only 31:0 are loaded. Bits 1:0 of the MSR
must be 0. Transitions to privilege level 1 from a higher privilege level will check that bit 2 is also
0.
Register Address: 6A6H, 1702
IA32_PL2_SSP
Linear address to be loaded into SSP on transition to privilege level 2. (R/W)
If CPUID.(EAX=07H,
If the processor does not support Intel 64 architecture, these fields have only 32 bits; bits 63:32
ECX=0H):ECX.CET_SS[07] = 1
of the MSRs are reserved. On processors that support Intel 64 architecture this value cannot
represent a non-canonical address. In protected mode, only 31:0 are loaded. Bits 1:0 of the MSR
must be 0. Transitions to privilege level 2 from a higher privilege level will check that bit 2 is also
0.
Register Address: 6A7H, 1703
IA32_PL3_SSP
Linear address to be loaded into SSP on transition to privilege level 3. (R/W)
If CPUID.(EAX=07H,
If the processor does not support Intel 64 architecture, these fields have only 32 bits; bits 63:32
ECX=0H):ECX.CET_SS[07] = 1
of the MSRs are reserved. On processors that support Intel 64 architecture this value cannot
represent a non-canonical address. In protected mode, only 31:0 are loaded. Bits 1:0 of the MSR
must be 0.
Register Address: 6A8H, 1704
IA32_INTERRUPT_SSP_TABLE_ADDR
Linear address of a table of seven shadow stack pointers that are selected in IA-32e mode using
If CPUID.(EAX=07H,
the IST index (when not 0) from the interrupt gate descriptor. (R/W)
ECX=0H):ECX.CET_SS[07] = 1
This MSR is not present on processors that do not support Intel 64 architecture. This field cannot
represent a non-canonical address.
Register Address: 6E0H, 1760
IA32_TSC_DEADLINE
TSC Target of Local APIC’s TSC Deadline Mode (R/W)
If CPUID.01H:ECX.[24] = 1
Register Address: 6E1H, 1761
IA32_PKRS
Specifies the PK permissions associated with each protection domain for supervisor pages (R/W)
If CPUID.(EAX=07H,
ECX=0H):ECX.PKS [31] = 1
31:0
For domain i (i between 0 and 15), bits 2i and 2i+1 contain the AD and
WD permissions, respectively.
63:32
Reserved.
Register Address: 770H, 1904
IA32_PM_ENABLE
Enable/disable HWP (R/W)
If CPUID.06H:EAX.[7] = 1
2-46 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
0
HWP_ENABLE (R/W1-Once)
If CPUID.06H:EAX.[7] = 1
See Section 15.4.2, “Enabling HWP.”
63:1
Reserved.
Register Address: 771H, 1905
IA32_HWP_CAPABILITIES
HWP Performance Range Enumeration (R/O)
If CPUID.06H:EAX.[7] = 1
7:0
Highest_Performance
If CPUID.06H:EAX.[7] = 1
See Section 15.4.3, “HWP Performance Range and Dynamic Capabilities.”
15:8
Guaranteed_Performance
If CPUID.06H:EAX.[7] = 1
See Section 15.4.3, “HWP Performance Range and Dynamic Capabilities.”
23:16
Most_Efficient_Performance
If CPUID.06H:EAX.[7] = 1
See Section 15.4.3, “HWP Performance Range and Dynamic Capabilities”.
31:24
Lowest_Performance
If CPUID.06H:EAX.[7] = 1
See Section 15.4.3, “HWP Performance Range and Dynamic Capabilities.”
63:32
Reserved.
Register Address: 772H, 1906
IA32_HWP_REQUEST_PKG
Power Management Control Hints for All Logical Processors in a Package (R/W)
If CPUID.06H:EAX.[11] = 1
7:0
Minimum_Performance
If CPUID.06H:EAX.[11] = 1
See Section 15.4.4, “Managing HWP.”
15:8
Maximum_Performance
If CPUID.06H:EAX.[11] = 1
See Section 15.4.4, “Managing HWP.”
23:16
Desired_Performance
If CPUID.06H:EAX.[11] = 1
See Section 15.4.4, “Managing HWP.”
31:24
Energy_Performance_Preference
If CPUID.06H:EAX.[11] = 1 &&
See Section 15.4.4, “Managing HWP.”
CPUID.06H:EAX.[10] = 1
41:32
Activity_Window
If CPUID.06H:EAX.[11] = 1 &&
See Section 15.4.4, “Managing HWP.”
CPUID.06H:EAX.[9] = 1
63:42
Reserved.
Register Address: 773H, 1907
IA32_HWP_INTERRUPT
Control HWP Native Interrupts (R/W)
If CPUID.06H:EAX.[8] = 1
0
EN_Guaranteed_Performance_Change
If CPUID.06H:EAX.[8] = 1
See Section 15.4.6, “HWP Notifications.”
1
EN_Excursion_Minimum
If CPUID.06H:EAX.[8] = 1
See Section 15.4.6, “HWP Notifications.”
63:2
Reserved.
Register Address: 774H, 1908
IA32_HWP_REQUEST
Power Management Control Hints to a Logical Processor (R/W)
If CPUID.06H:EAX.[7] = 1
7:0
Minimum_Performance
If CPUID.06H:EAX.[7] = 1
See Section 15.4.4, “Managing HWP.”
Vol. 4
2-47
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
15:8
Maximum_Performance
If CPUID.06H:EAX.[7] = 1
See Section 15.4.4, “Managing HWP.”
23:16
Desired_Performance
If CPUID.06H:EAX.[7] = 1
See Section 15.4.4, “Managing HWP.”
31:24
Energy_Performance_Preference
If CPUID.06H:EAX.[7] = 1 &&
CPUID.06H:EAX.[10] = 1
See Section 15.4.4, “Managing HWP.”
41:32
Activity_Window
If CPUID.06H:EAX.[7] = 1 &&
CPUID.06H:EAX.[9] = 1
See Section 15.4.4, “Managing HWP.”
42
Package_Control
If CPUID.06H:EAX.[7] = 1 &&
CPUID.06H:EAX.[11] = 1
See Section 15.4.4, “Managing HWP.”
63:43
Reserved.
Register Address: 775H, 1909
IA32_PECI_HWP_REQUEST_INFO
IA32_PECI_HWP_REQUEST_INFO
7:0
Minimum Performance (MINIMUM_PERFORMANCE): Used by OS to read
the latest value of PECI minimum performance input. Default value is 0.
15:8
Maximum Performance (MAXIMUM_PERFORMANCE): Used by OS to read
the latest value of PECI maximum performance input. Default value is 0.
23:16
Reserved.
31:24
Energy Performance Preference
(ENERGY_PERFORMANCE_PREFERENCE): Used by OS to read the latest
value of PECI Energy Performance Preference input. Default value is 0.
59:32
Reserved.
60
EPP PECI Override (EPP_PECI_OVERRIDE):
Indicates whether PECI is currently overriding the Energy Performance
Preference input. If set to ‘1’, PECI is overriding the Energy Performance
Preference input. If clear (0), OS has control over Energy Performance
Preference input. Default value is 0.
61
Reserved.
62
Max PECI Override (MAX_PECI_OVERRIDE):
Indicates whether PECI is currently overriding the Maximum
Performance input. If set to ‘1’, PECI is overriding the Maximum
Performance input. If clear (0), OS has control over Maximum
Performance input. Default value is 0.
63
Min PECI Override (MIN_PECI_OVERRIDE):
Indicates whether PECI is currently overriding the Minimum Performance
input. If set to ‘1’, PECI is overriding the Minimum Performance input. If
clear (0), OS has control over Minimum Performance input. Default value
is 0.
Register Address: 776H, 1910
IA32_HWP_CTL
IA32_HWP_CTL
If CPUID.06H:EAX.[22] = 1
2-48 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
0
PKG_CTL_POLARITY
If CPUID.06H:EAX.[22] = 1
Defines which HWP Request MSR is used whether Thread level or
package level. When package MSR is used, the thread MSR valid bits
define which thread MSR fields override the package.
Default value is 0.
63:1
Reserved.
Register Address: 777H, 1911
IA32_HWP_STATUS
Log bits indicating changes to Guaranteed & excursions to Minimum (R/W)
If CPUID.06H:EAX.[7] = 1
0
Guaranteed_Performance_Change (R/WC0)
If CPUID.06H:EAX.[7] = 1
See Section 15.4.5, “HWP Feedback.”
1
Reserved.
2
Excursion_To_Minimum (R/WC0)
If CPUID.06H:EAX.[7] = 1
See Section 15.4.5, “HWP Feedback.”
63:3
Reserved.
Register Address: 802H, 2050
IA32_X2APIC_APICID
x2APIC ID Register (R/O)
If CPUID.01H:ECX[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 803H, 2051
IA32_X2APIC_VERSION
x2APIC Version Register (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 808H, 2056
IA32_X2APIC_TPR
x2APIC Task Priority Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 80AH, 2058
IA32_X2APIC_PPR
x2APIC Processor Priority Register (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 80BH, 2059
IA32_X2APIC_EOI
x2APIC EOI Register (W/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 80DH, 2061
IA32_X2APIC_LDR
x2APIC Logical Destination Register (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 80FH, 2063
IA32_X2APIC_SIVR
x2APIC Spurious Interrupt Vector Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 810H, 2064
IA32_X2APIC_ISR0
x2APIC In-Service Register Bits 31:0 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 811H, 2065
IA32_X2APIC_ISR1
x2APIC In-Service Register Bits 63:32 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Vol. 4
2-49
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 812H, 2066
IA32_X2APIC_ISR2
x2APIC In-Service Register Bits 95:64 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 813H, 2067
IA32_X2APIC_ISR3
x2APIC In-Service Register Bits 127:96 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 814H, 2068
IA32_X2APIC_ISR4
x2APIC In-Service Register Bits 159:128 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 815H, 2069
IA32_X2APIC_ISR5
x2APIC In-Service Register Bits 191:160 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 816H, 2070
IA32_X2APIC_ISR6
x2APIC In-Service Register Bits 223:192 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 817H, 2071
IA32_X2APIC_ISR7
x2APIC In-Service Register Bits 255:224 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 818H, 2072
IA32_X2APIC_TMR0
x2APIC Trigger Mode Register Bits 31:0 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 819H, 2073
IA32_X2APIC_TMR1
x2APIC Trigger Mode Register Bits 63:32 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 81AH, 2074
IA32_X2APIC_TMR2
x2APIC Trigger Mode Register Bits 95:64 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 81BH, 2075
IA32_X2APIC_TMR3
x2APIC Trigger Mode Register Bits 127:96 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 81CH, 2076
IA32_X2APIC_TMR4
x2APIC Trigger Mode Register Bits 159:128 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 81DH, 2077
IA32_X2APIC_TMR5
x2APIC Trigger Mode Register Bits 191:160 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 81EH, 2078
IA32_X2APIC_TMR6
x2APIC Trigger Mode Register Bits 223:192 (R/O)
If ( CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1)
Register Address: 81FH, 2079
IA32_X2APIC_TMR7
x2APIC Trigger Mode Register Bits 255:224 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
2-50 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 820H, 2080
IA32_X2APIC_IRR0
x2APIC Interrupt Request Register Bits 31:0 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 821H, 2081
IA32_X2APIC_IRR1
x2APIC Interrupt Request Register Bits 63:32 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 822H, 2082
IA32_X2APIC_IRR2
x2APIC Interrupt Request Register Bits 95:64 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 823H, 2083
IA32_X2APIC_IRR3
x2APIC Interrupt Request Register Bits 127:96 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 824H, 2084
IA32_X2APIC_IRR4
x2APIC Interrupt Request Register Bits 159:128 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 825H, 2085
IA32_X2APIC_IRR5
x2APIC Interrupt Request Register Bits 191:160 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 826H, 2086
IA32_X2APIC_IRR6
x2APIC Interrupt Request Register Bits 223:192 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 827H, 2087
IA32_X2APIC_IRR7
x2APIC Interrupt Request Register Bits 255:224 (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 828H, 2088
IA32_X2APIC_ESR
x2APIC Error Status Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 82FH, 2095
IA32_X2APIC_LVT_CMCI
x2APIC LVT Corrected Machine Check Interrupt Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 830H, 2096
IA32_X2APIC_ICR
x2APIC Interrupt Command Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 832H, 2098
IA32_X2APIC_LVT_TIMER
x2APIC LVT Timer Interrupt Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 833H, 2099
IA32_X2APIC_LVT_THERMAL
x2APIC LVT Thermal Sensor Interrupt Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 834H, 2100
IA32_X2APIC_LVT_PMI
x2APIC LVT Performance Monitor Interrupt Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Vol. 4
2-51
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 835H, 2101
IA32_X2APIC_LVT_LINT0
x2APIC LVT LINT0 Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 836H, 2102
IA32_X2APIC_LVT_LINT1
x2APIC LVT LINT1 Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 837H, 2103
IA32_X2APIC_LVT_ERROR
x2APIC LVT Error Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 838H, 2104
IA32_X2APIC_INIT_COUNT
x2APIC Initial Count Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 839H, 2105
IA32_X2APIC_CUR_COUNT
x2APIC Current Count Register (R/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 83EH, 2110
IA32_X2APIC_DIV_CONF
x2APIC Divide Configuration Register (R/W)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 83FH, 2111
IA32_X2APIC_SELF_IPI
x2APIC Self IPI Register (W/O)
If CPUID.01H:ECX.[21] = 1 &&
IA32_APIC_BASE.[10] = 1
Register Address: 981H, 2433
IA32_TME_CAPABILITY
Memory Encryption Capability MSR
If CPUID.07H:ECX.[13] = 1
0
Support for AES-XTS 128-bit encryption algorithm.
(NIST standard)
1
Support for AES-XTS 128-bit encryption with integrity algorithm.
2
Support for AES-XTS 256-bit encryption algorithm.
29:3
Reserved.
30
SUPPORT_IA32_TME_CLEAR_SAVED_KEY
Support for the IA32_TME_CLEAR_SAVED_KEY MSR.
31
TME encryption bypass supported.
35:32
MK_TME_MAX_KEYID_BITS
Number of bits which can be allocated for usage as key identifiers for
multi-key memory encryption.
4 bits allow for a maximum value of 15, which could address 32K keys.
Zero if TME-MK is not supported.
50:36
MK_TME_MAX_KEYS
Indicates the maximum number of keys which are available for usage.
This value may not be a power of 2.
KeyID 0 is specially reserved and is not accounted for in this field.
63:51
Reserved.
2-52 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: 982H, 2434
IA32_TME_ACTIVATE
Memory Encryption Activation MSR
If CPUID.07H:ECX.[13] = 1
This MSR is used to lock the MSRs listed below. Any write to the following MSRs will be ignored
after they are locked. The lock is reset when CPU is reset.
• IA32_TME_ACTIVATE
• IA32_TME_EXCLUDE_MASK
• IA32_TME_EXCLUDE_BASE
Note that IA32_TME_EXCLUDE_MASK and IA32_TME_EXCLUDE_BASE must be configured before
IA32_TME_ACTIVATE.
0
Lock R/O - Will be set upon successful WRMSR (or first SMI); written
value ignored.
1
Hardware Encryption Enable
This bit also enables TME-MK; TME-MK cannot be enabled without
enabling encryption hardware.
2
Key Select
0: Create a new TME key (expected cold/warm boot).
1: Restore the TME key from storage (Expected when resume from
standby).
3
Save TME Key for Standby
Save key into storage to be used when resume from standby.
Note: This may not be supported in all processors.
7:4
TME Policy/Encryption Algorithm
Only algorithms enumerated in IA32_TME_CAPABILITY are allowed.
For example:
0000 - AES-XTS-128.
0001 - AES-XTS-128 with integrity.
0010 - AES-XTS-256.
Other values are invalid.
30:8
Reserved.
31
TME Encryption Bypass Enable
When encryption hardware is enabled:
• Total Memory Encryption is enabled using a CPU generated ephemeral
key based on a hardware random number generator when this bit is
set to 0.
• Total Memory Encryption is bypassed (no encryption/decryption for
KeyID0) when this bit is set to 1.
Software must inspect Hardware Encryption Enable (bit 1) and TME
encryption bypass Enable (bit 31) to determine if TME encryption is
enabled.
Vol. 4
2-53
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
35:32
MK_TME_KEYID_BITS
Reserved if TME-MK is not enumerated, otherwise:
The number of key identifier bits to allocate to TME-MK usage. Similar to
enumeration, this is an encoded value.
Writing a value greater than MK_TME_MAX_KEYID_BITS will result in
#GP.
Writing a non-zero value to this field will #GP if bit 1 of EAX (Hardware
Encryption Enable) is not also set to ‘1, as encryption hardware must be
enabled to use TME-MK.
Example: To support 255 keys, this field would be set to a value of 8.
47:36
Reserved.
63:48
MK_TME_CRYPTO_ALGS
Reserved if TME-MK is not enumerated, otherwise:
Bit 48: AES-XTS 128.
Bit 49: AES-XTS 128 with integrity.
Bit 50: AES-XTS 256.
Bit 63:51: Reserved (#GP)
Bitmask for BIOS to set which encryption algorithms are allowed for
TME-MK, would be later enforced by the key loading ISA (‘1 = allowed).
Register Address: 983H, 2435
IA32_TME_EXCLUDE_MASK
Memory Encryption Exclude Mask
If CPUID.07H:ECX.[13] = 1
10:0
Reserved.
11
Enable: When set to ‘1’, then TME_EXCLUDE_BASE and
TME_EXCLUDE_MASK are used to define an exclusion region for
TME/TME-MK (for KeyID=0).
MAXPHYSADDR-1:12
TMEEMASK: This field indicates the bits that must match TMEEBASE in
order to qualify as a TME/TME-MK (for KeyID=0) exclusion memory range
access.
63:MAXPHYSADDR
Reserved; must be zero.
Register Address: 984H, 2436
IA32_TME_EXCLUDE_BASE
Memory Encryption Exclude Base
IF CPUID.07H:ECX.[13] = 1
11:0
Reserved.
MAXPHYSADDR-1:12
TMEEBASE: Base physical address to be excluded for TME/TME-MK (for
KeyID=0) encryption.
63:MAXPHYSADDR
Reserved; must be zero.
Register Address: 985H, 2437
IA32_UINTR_RR
User Interrupt Request Register (R/W)
IF CPUID.07H.01H:EDX[13]=1
63:0
UIRR
Bitmap of requested user interrupt vectors.
Register Address: 986H, 2438
IA32_UINTR_HANDLER
User Interrupt Handler Address (R/W)
IF CPUID.07H.01H:EDX[13]=1
2-54 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
63:0
UIHANDLER
User interrupt handler linear address.
Register Address: 987H, 2439
IA32_UINTR_STACKADJUST
User Interrupt Stack Adjustment (R/W)
IF CPUID.07H.01H:EDX[13]=1
0
LOAD_RSP
User interrupt stack mode.
2:1
Reserved.
63:3
STACK_ADJUST
Stack adjust value.
Register Address: 988H, 2440
IA32_UINTR_MISC
User-Interrupt Target-Table Size and Notification Vector (R/W)
If CPUID.07H.01H:EDX[13]=1
31:0
UITTSZ
The highest index of a valid entry in the user-interrupt target table. Valid
entries are indices 0..UITTSZ (inclusive).
39:32
UINV
User-interrupt notification vector.
63:40
Reserved.
Register Address: 989H, 2441
IA32_UINTR_PD
User Interrupt PID Address (R/W)
If CPUID.07H.01H:EDX[13]=1
5:0
Reserved.
63:6
UPIDADDR
User-interrupt notification processing accesses a UPID at this linear
address.
Register Address: 98AH, 2442
IA32_UINTR_TT
User-Interrupt Target Table (R/W)
If CPUID.07H.01H:EDX[13]=1
0
SENDUIPI_ENABLE
User-interrupt target table is valid.
3:1
Reserved.
63:4
UITTADDR
User-interrupt target table base linear address.
Register Address: 990H, 2448
IA32_COPY_STATUS5
Status of Most Recent Platform to Local or Local to Platform Copies (R/O)
If ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(07H,0).ECX[23] = 1))
0
IWKEY_COPY_SUCCESSFUL
If ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(07H,0).ECX[23] = 1))
Status of most recent copy to or from IWKeyBackup.
63:1
Reserved.
Register Address: 991H, 2449
IA32_IWKEYBACKUP_STATUS5
Information about IWKeyBackup Register (R/O)
If ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(07H,0).ECX[23] =1))
Vol. 4
2-55
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
0
Backup/Restore Valid
IF ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(07H,0).ECX[23] =1))
Cleared when a write to IWKeyBackup is initiated, and then set when the
latest write of IWKeyBackup has been written to storage that persists
across S3/S4 sleep state. If S3/S4 is entered between when an
IWKeyBackup write occurs and when this bit is set, then IWKeyBackup
may not be recovered after S3/S4 exit. During S3/S4 sleep state exit
(system wake up), this bit is cleared. It is set again when IWKeyBackup is
restored from persistent storage and thus available to be copied to
IWKey using IA32_COPY_PLATFORM_TO_LOCAL MSR. Another write to
IWKeyBackup (via IA32_COPY_LOCAL_TO_PLATFORM MSR) may fail if a
previous write has not yet set this bit.
1
Reserved.
2
Backup Key Storage Read/Write Error
IF ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(07H,0).ECX[23] =1))
Updated prior to backup/restore valid being set. Set when an error is
encountered while backing up or restoring a key to persistent storage.
3
IWKeyBackup Consumed
IF ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(07H,0).ECX[23] =1))
Set after the previous backup operation has been consumed by the
platform. This does not indicate that the system is ready for a second
IWKeyBackup write as the previous IWKeyBackup write may still need to
set Backup/restore valid.
63:4
Reserved.
Register Address: 9FBH, 2555
IA32_TME_CLEAR_SAVED_KEY
IA32_TME_CLEAR_SAVED_KEY (W/O)
0
TME_CLEAR_SAVED_KEY
Clear saved TME keys.
63:1
Reserved.
Register Address: C80H, 3200
IA32_DEBUG_INTERFACE
Silicon Debug Feature Control (R/W)
If CPUID.01H:ECX.[11] = 1
0
Enable (R/W)
If CPUID.01H:ECX.[11] = 1
BIOS set 1 to enable Silicon debug features. Default is 0.
29:1
Reserved.
30
Lock (R/W): If 1, locks any further change to the MSR. The lock bit is set
If CPUID.01H:ECX.[11] = 1
automatically on the first SMI assertion even if not explicitly set by BIOS.
Default is 0.
31
Debug Occurred (R/O): This “sticky bit” is set by hardware to indicate the
If CPUID.01H:ECX.[11] = 1
status of bit 0. Default is 0.
63:32
Reserved.
Register Address: C81H, 3201
IA32_L3_QOS_CFG
L3 QOS Configuration (R/W)
If (CPUID.(EAX=10H,
ECX=1):ECX.[2] = 1)
0
Enable (R/W)
Set 1 to enable L3 CAT masks and COS to operate in Code and Data
Prioritization (CDP) mode.
63:1
Reserved. Attempts to write to reserved bits result in a #GP(0).
2-56 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: C82H, 3202
IA32_L2_QOS_CFG
L2 QOS Configuration (R/W)
If (CPUID.(EAX=10H,
ECX=2):ECX.[2] = 1)
0
Enable (R/W)
Set 1 to enable L2 CAT masks and COS to operate in Code and Data
Prioritization (CDP) mode.
63:1
Reserved. Attempts to write to reserved bits result in a #GP(0).
Register Address: C83H, 3203
IA32_L3_IO_QOS_CFG
L3 I/O QOS Configuration (R/W)
If (CPUID.(EAX=0FH,
ECX=1):EAX.[10:9] = 1)
This MSR is used to enable the I/O RDT features.
0
L3 I/O RDT Allocation Enable.
1
L3 I/O RDT Monitoring Enable.
63:2
Reserved.
Register Address: C8DH, 3213
IA32_QM_EVTSEL
Monitoring Event Select Register (R/W)
If (CPUID.(EAX=07H,
ECX=0):EBX.[12] = 1)
7:0
Event ID: ID of a supported monitoring event to report via IA32_QM_CTR.
31: 8
Reserved.
N+31:32
Resource Monitoring ID: ID for monitoring hardware to report monitored
N = Ceil (Log2 (CPUID.(EAX= 0FH,
data via IA32_QM_CTR.
ECX=0H).EBX[31:0] +1))
63:N+32
Reserved.
Register Address: C8EH, 3214
IA32_QM_CTR
Monitoring Counter Register (R/O)
If (CPUID.(EAX=07H,
ECX=0):EBX.[12] = 1)
61:0
Resource Monitored Data.
62
Unavailable: If 1, indicates data for this RMID is not available or not
monitored for this resource or RMID.
63
Error: If 1, indicates an unsupported RMID or event type was written to
IA32_PQR_QM_EVTSEL.
Register Address: C8FH, 3215
IA32_PQR_ASSOC
Resource Association Register (R/W)
If ((CPUID.(EAX=07H,
ECX=0):EBX[12] =1) or
(CPUID.(EAX=07H,
ECX=0):EBX[15] =1))
N-1:0
Resource Monitoring ID (R/W): ID for monitoring hardware to track
N = Ceil (Log2 (CPUID.(EAX= 0FH,
internal operation, e.g., memory access.
ECX=0H).EBX[31:0] +1))
31:N
Reserved.
63:32
COS (R/W): The class of service (COS) to enforce (on writes); returns the
If ( CPUID.(EAX=07H,
current COS when read.
ECX=0):EBX.[15] = 1 )
Register Address: C90H-D8FH, 3216-3471
Reserved MSR Address Space for CAT Mask Registers
See Section 18.19.4.1, “Enumeration and Detection Support of Cache Allocation Technology.”
Vol. 4
2-57
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Register Address: C90H, 3216
IA32_L3_MASK_0
L3 CAT Mask for COS0 (R/W)
If (CPUID.(EAX=10H,
ECX=0H):EBX[1] != 0)
31:0
Capacity Bit Mask (R/W)
63:32
Reserved.
Register Address: C90H+n, 3216+n
IA32_L3_MASK_n
L3 CAT Mask for COSn (R/W)
n = CPUID.(EAX=10H,
ECX=1H):EDX[15:0]
31:0
Capacity Bit Mask (R/W)
63:32
Reserved.
Register Address: D10H-D4FH, 3344-3407
Reserved MSR Address Space for L2 CAT Mask Registers
See Section 18.19.4.1, “Enumeration and Detection Support of Cache Allocation Technology.”
Register Address: D10H, 3344
IA32_L2_MASK_0
L2 CAT Mask for COS0 (R/W)
If (CPUID.(EAX=10H,
ECX=0H):EBX[2] != 0)
31:0
Capacity Bit Mask (R/W)
63:32
Reserved.
Register Address: D10H+n, 3344+n
IA32_L2_MASK_n
L2 CAT Mask for COSn (R/W)
n = CPUID.(EAX=10H,
ECX=2H):EDX[15:0]
31:0
Capacity Bit Mask (R/W)
63:32
Reserved.
Register Address: D90H, 3472
IA32_BNDCFGS
Supervisor State of MPX Configuration (R/W)
If (CPUID.(EAX=07H,
ECX=0H):EBX[14] = 1)
0
EN: Enable Intel MPX in supervisor mode.
1
BNDPRESERVE: Preserve the bounds registers for near branch
instructions in the absence of the BND prefix.
11:2
Reserved, must be zero.
63:12
Base Address of Bound Directory.
Register Address: D91H, 3473
IA32_COPY_LOCAL_TO_PLATFORM5
Copy Local State to Platform State (W)
IF ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(EAX=07H,
ECX=0H).ECX[23] = 1))
0
IWKeyBackup
IF ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(EAX=07H,
Copy IWKey to IWKeyBackup.
ECX=0H).ECX[23] = 1))
63:1
Reserved.
Register Address: D92H, 3474
IA32_COPY_PLATFORM_TO_LOCAL5
2-58 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Copy Platform State to Local State (W)
IF ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(EAX=07H,
ECX=0H).ECX[23] = 1))
0
IWKeyBackup
IF ((CPUID.19H:EBX[4] = 1) &&
(CPUID.(EAX=07H,
Copy IWKeyBackup to IWKey.
ECX=0H).ECX[23] = 1))
63:1
Reserved.
Register Address: D93H, 3475
IA32_PASID
Process Address Space Identifier. (R/W)
19:0
Process address space identifier (PASID). Specifies the PASID of the
currently running software thread.
30:20
Reserved.
31
Valid. Execution of ENQCMD causes a #GP if this bit is clear.
63:32
Reserved.
Register Address: DA0H, 3488
IA32_XSS
Extended Supervisor State Mask (R/W)
If( CPUID.(0DH, 1):EAX.[3] = 1
7:0
Reserved.
8
PT State (R/W)
9
Reserved.
10
PASID State (R/W)
11
CET_U State (R/W)
12
CET_S State (R/W)
13
HDC State (R/W)
14
UINTR State (R/W)
15
LBR State (R/W)
16
HWP State (R/W)
63:17
Reserved.
Register Address: DB0H, 3504
IA32_PKG_HDC_CTL
Package Level Enable/disable HDC (R/W)
If CPUID.06H:EAX.[13] = 1
0
HDC_Pkg_Enable (R/W)
If CPUID.06H:EAX.[13] = 1
Force HDC idling or wake up HDC-idled logical processors in the package.
See Section 15.5.2, “Package level Enabling HDC.”
63:1
Reserved.
Register Address: DB1H, 3505
IA32_PM_CTL1
Enable/disable HWP (R/W)
If CPUID.06H:EAX.[13] = 1
0
HDC_Allow_Block (R/W)
If CPUID.06H:EAX.[13] = 1
Allow/Block this logical processor for package level HDC control. See
Section 15.5.3.
63:1
Reserved.
Register Address: DB2H, 3506
IA32_THREAD_STALL
Vol. 4
2-59
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
Per-Logical_Processor_ID HDC Idle Residency (R/0)
If CPUID.06H:EAX.[13] = 1
63:0
Stall_Cycle_Cnt (R/W)
If CPUID.06H:EAX.[13] = 1
Stalled cycles due to HDC forced idle on this logical processor. See
Section 15.5.4.1.
Register Address: 1200H-121FH, 4608-4639
IA32_LBR_x_INFO
Last Branch Record Entry X Info Register (R/W)
An attempt to read or write IA32_LBR_x_INFO such that x IA32_LBR_DEPTH.DEPTH will #GP.
15:0
CYC_CNT
Reset Value: 0
The elapsed CPU cycles (saturating) since the last LBR was recorded. See
Section 18.1.3.3.
55:16
Undefined, may be zero or non-zero. Writes of non- zero values do not
Reset Value: 0
fault, but reads may return a different value.
59:56
BR_TYPE
Reset Value: 0
The branch type recorded by this LBR. Encodings:
0000B: COND
0001B: JMP Indirect
0010B: JMP Direct
0011B: CALL Indirect
0100B: CALL Direct
0101B: RET
011xB: Reserved
1xxxB: Other Branch
60
CYC_CNT_VALID
Reset Value: 0
CYC_CNT value is valid. See Section 19.1.3.3.
61
TSX_ABORT
Reset Value: 0
This LBR record is a TSX abort. On processors that do not support Intel
TSX (CPUID.07H.EBX.HLE[bit 4]=0 and CPUID.07H.EBX.RTM[bit 11]=0),
this bit is undefined.
62
IN_TSX
Reset Value: 0
This LBR record records a branch that retired during a TSX transaction.
On processors that do not support Intel TSX (CPUID.07H.EBX.HLE[bit
4]=0 and CPUID.07H.EBX.RTM[bit 11]=0), this bit is undefined.
63
MISPRED
Reset Value: 0
The recorded branch direction (conditional branch) or target (indirect
branch) was mispredicted.
Register Address: 1406H, 5126
IA32_MCU_CONTROL
MCU Control (R/W)
If CPUID.07H.0H:EDX[29]=1 &&
Controls the behavior of the Microcode Update Trigger MSR, IA32_BIOS_UPDT_TRIG.
MSR.IA32_ARCH_CAPABILITIES.M
CU_CONTROL=1
0
LOCK
Once set, further writes to this MSR will cause a #GP(0) fault. Bypassed
during SMM if EN_SMM_BYPASS (bit 2) is set.
2-60 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
1
DIS_MCU_LOAD
If this bit is set on a given logical processor, then any subsequent
attempts to load a microcode update by that logical processor will be
silently dropped (WRMSR 0x79 has no effect).
2
EN_SMM_BYPASS
If set, then writes to IA32_MCU_CONTROL are allowed during SMM
regardless of the LOCK bit. This enables BIOS to Opt-In to the SMM
Bypass functionality.
63:3
Reserved.
Register Address: 14CEH, 5326
IA32_LBR_CTL
Last Branch Record Enabling and Configuration Register (R/W)
0
LBREn
Reset Value: 0
When set, enables LBR recording.
1
OS
Reset Value: 0
When set, allows LBR recording when CPL == 0.
2
USR
Reset Value: 0
When set, allows LBR recording when CPL != 0.
3
CALL_STACK
Reset Value: 0
When set, records branches in call-stack mode. See Section 19.1.2.4.
15:4
Reserved.
Reset Value: 0
16
COND
When set, records taken conditional branches. See Section 19.1.2.3.
17
NEAR_REL_JMP
When set, records near relative JMPs. See Section 19.1.2.3.
18
NEAR_IND_JMP
When set, records near indirect JMPs. See Section 19.1.2.3.
19
NEAR_REL_CALL
When set, records near relative CALLs. See Section 19.1.2.3.
20
NEAR_IND_CALL
When set, records near indirect CALLs. See Section 19.1.2.3.
21
NEAR_RET
When set, records near RETs. See Section 19.1.2.3.
22
OTHER_BRANCH
When set, records other branches. See Section 19.1.2.3.
63:23
Reserved.
Register Address: 14CFH, 5327
IA32_LBR_DEPTH
Last Branch Record Maximum Stack Depth Register (R/W)
Vol. 4
2-61
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
N:0
DEPTH
Reset Value: Varies
The number of LBRs to be used for recording. Supported values are
indicated by the bitmap in CPUID.(EAX=01CH,ECX=0):EAX[7:0]. The reset
value will match the maximum supported by the CPU. Writes of
unsupported values will #GP fault.
63:N+1
Reserved.
Reset Value: 0
Register Address: 1500H-151FH, 5376-5407
IA32_LBR_x_FROM_IP
Last Branch Record entry X source IP register (R/W).
An attempt to read or write IA32_LBR_x_FROM_IP such that x IA32_LBR_DEPTH.DEPTH will
#GP.
63:0
FROM_IP
Reset Value: 0
The source IP of the recorded branch or event, in canonical form. Writes
to bits above MAXLINADDR-1 are ignored.
Register Address: 1600H-161FH, 5632-5663
IA32_LBR_x_TO_IP
Last Branch Record Entry X Destination IP Register (R/W)
An attempt to read or write IA32_LBR_x_TO_IP such that x IA32_LBR_DEPTH.DEPTH will #GP.
63:0
TO_IP
Reset Value: 0
The destination IP of the recorded branch or event, in canonical form.
Writes to bits above MAXLINADDR-1 are ignored.
Register Address: 17D0H, 6096
IA32_HW_FEEDBACK_PTR
Hardware Feedback Interface Pointer
If CPUID.06H:EAX.[19] = 1
0
Valid (R/W)
When set to 1, indicates a valid pointer is programmed into the ADDR
field of the MSR.
11:1
Reserved.
(MAXPHYADDR-1):12
ADDR (R/W)
Physical address of the page frame of the first page of the hardware
feedback interface structure.
63:MAXPHYADDR
Reserved.
Register Address: 17D1H, 6097
IA32_HW_FEEDBACK_CONFIG
Hardware Feedback Interface Configuration
If CPUID.06H:EAX.[19] = 1
0
Enable (R/W)
When set to 1, enables the hardware feedback interface.
63:1
Reserved.
Register Address: 17D2H, 6098
IA32_THREAD_FEEDBACK_CHAR
Thread Feedback Characteristics (R/O)
If CPUID.06H:EAX.[23] = 1
7:0
Application Class ID, pointing into the Intel Thread Director structure.
62:8
Reserved.
2-62 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
63
Valid bit. When set to 1 the OS Scheduler can use the Class ID (in bits 7:0)
for its scheduling decisions.
If this bit is 0, the Class ID field should be ignored. It is recommended that
the OS uses the last known Class ID of the software thread for its
scheduling decisions.
Register Address: 17D4H, 6100
IA32_HW_FEEDBACK_THREAD_CONFIG
Hardware Feedback Thread Configuration (R/W)
0
Enables Intel Thread Director. When set to 1, logical processor scope Intel
Thread Director is enabled. Default is 0 (disabled).
63:1
Reserved.
Register Address: 17DAH, 6106
IA32_HRESET_ENABLE
History Reset Enable (R/W)
0
Enable reset of the Intel Thread Director history.
31:1
Reserved for other capabilities that can be reset by the HRESET
instruction.
63:32
Reserved.
Register Address: 1B01H, 6913
IA32_UARCH_MISC_CTL
IA32_UARCH_MISC_CTL
If
IA32_ARCH_CAPABILITIES[12]=1
0
Data Operand Independent Timing Mode (DOITM).
If
IA32_ARCH_CAPABILITIES[12]=1
63:1
Reserved.
Register Address: 4000_0000H-4000_00FFH
Reserved MSR Address Space
All existing and future processors will not implement MSRs in this range.
Register Address: C000_0080H
IA32_EFER
Extended Feature Enables
If ( CPUID.80000001H:EDX.[20] ||
CPUID.80000001H:EDX.[29])
0
SYSCALL Enable: IA32_EFER.SCE (R/W)
Enables SYSCALL/SYSRET instructions in 64-bit mode.
7:1
Reserved.
8
IA-32e Mode Enable: IA32_EFER.LME (R/W)
Enables IA-32e mode operation.
9
Reserved.
10
IA-32e Mode Active: IA32_EFER.LMA (R)
Indicates IA-32e mode is active when set.
11
Execute Disable Bit Enable: IA32_EFER.NXE (R/W)
63:12
Reserved.
Register Address: C000_0081H
IA32_STAR
System Call Target Address (R/W)
If CPUID.80000001:EDX.[29] = 1
Register Address: C000_0082H
IA32_LSTAR
Vol. 4
2-63
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-2. IA-32 Architectural MSRs (Contd.)
Register Address: Hex, Decimal
Architectural MSR Name (Former MSR Name)
Bit Fields
MSR/Bit Description
Comment
IA-32e Mode System Call Target Address (R/W)
If CPUID.80000001:EDX.[29] = 1
Target RIP for the called procedure when SYSCALL is executed in 64-bit mode.
Register Address: C000_0083H
IA32_CSTAR
IA-32e Mode System Call Target Address (R/W)
If CPUID.80000001:EDX.[29] = 1
Not used, as the SYSCALL instruction is not recognized in compatibility mode.
Register Address: C000_0084H
IA32_FMASK
System Call Flag Mask (R/W)
If CPUID.80000001:EDX.[29] = 1
Register Address: C000_0100H
IA32_FS_BASE
Map of BASE Address of FS (R/W)
If CPUID.80000001:EDX.[29] = 1
Register Address: C000_0101H
IA32_GS_BASE
Map of BASE Address of GS (R/W)
If CPUID.80000001:EDX.[29] = 1
Register Address: C000_0102H
IA32_KERNEL_GS_BASE
Swap Target of BASE Address of GS (R/W)
If CPUID.80000001:EDX.[29] = 1
Register Address: C000_0103H
IA32_TSC_AUX
Auxiliary TSC (R/W)
If CPUID.80000001H: EDX[27] = 1
or CPUID.(EAX=7,ECX=0):ECX[bit
22] = 1
31:0
AUX: Auxiliary signature of TSC.
63:32
Reserved.
NOTES:
1. Some older processors may have supported this MSR as model-specific and do not enumerate it with CPUID.
2. In processors based on Intel NetBurst® microarchitecture, MSR addresses 180H-197H are supported, software must treat them as
model-specific. Starting with Intel Core Duo processors, MSR addresses 180H-185H, 188H-197H are reserved.
3. The *_ADDR MSRs may or may not be present; this depends on flag settings in IA32_MCi_STATUS. See Section 16.3.2.3 and Section
16.3.2.4 for more information.
4. MAXPHYADDR is reported by CPUID.80000008H:EAX[7:0].
5. Further details on Key Locker and usage of this MSR can be found here:
https://software.intel.com/content/www/us/en/develop/download/intel-key-locker-specification.html.
2.2
MSRS IN THE INTEL® CORE™ 2 PROCESSOR FAMILY
Table 2-3 lists model-specific registers (MSRs) for the Intel Core 2 processor family and for Intel Xeon processors
based on Intel Core microarchitecture, architectural MSR addresses are also included in Table 2-3. These proces-
sors have a CPUID Signature DisplayFamily_DisplayModel value of 06_0FH, see Table 2-1.
MSRs listed in Table 2-2 and Table 2-3 are also supported by processors based on the Enhanced Intel Core microar-
chitecture. Processors based on the Enhanced Intel Core microarchitecture have a CPUID Signature DisplayFami-
ly_DisplayModel value of 06_17H.
2-64 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
The column “Shared/Unique” applies to multi-core processors based on Intel Core microarchitecture. “Unique”
means each processor core has a separate MSR, or a bit field in an MSR governs only a core independently.
“Shared” means the MSR or the bit field in an MSR address governs the operation of both processor cores.
Table 2-3. MSRs in Processors Based on Intel® Core™ Microarchitecture
Register Address: Hex, Decimal
Register Name
Shared/
Register Information / Bit Fields
Bit Description
Unique
Register Address: 0H, 0
IA32_P5_MC_ADDR
See Section 2.23, “MSRs in Pentium Processors.”
Unique
Register Address: 1H, 1
IA32_P5_MC_TYPE
See Section 2.23, “MSRs in Pentium Processors.”
Unique
Register Address: 6H, 6
IA32_MONITOR_FILTER_SIZE
See Section 9.10.5, “Monitor/Mwait Address Range Determination,” and Table 2-2.
Unique
Register Address: 10H, 16
IA32_TIME_STAMP_COUNTER
See Section 18.17, “Time-Stamp Counter,” and Table 2-2.
Unique
Register Address: 17H, 23
IA32_PLATFORM_ID
Platform ID (R)
Shared
See Table 2-2.
Register Address: 17H, 23
MSR_PLATFORM_ID
Model Specific Platform ID (R)
Shared
7:0
Reserved.
12:8
Maximum Qualified Ratio (R)
The maximum allowed bus ratio.
49:13
Reserved.
52:50
See Table 2-2.
63:53
Reserved.
Register Address: 1BH, 27
IA32_APIC_BASE
See Section 11.4.4, “Local APIC Status and Location,” and Table 2-2.
Unique
Register Address: 2AH, 42
MSR_EBL_CR_POWERON
Processor Hard Power-On Configuration (R/W)
Shared
Enables and disables processor features; (R) indicates current processor configuration.
0
Reserved.
1
Data Error Checking Enable (R/W)
1 = Enabled; 0 = Disabled.
Note: Not all processors implement R/W.
2
Response Error Checking Enable (R/W)
1 = Enabled; 0 = Disabled.
Note: Not all processor implements R/W.
3
MCERR# Drive Enable (R/W)
1 = Enabled; 0 = Disabled.
Note: Not all processors implement R/W.
Vol. 4
2-65
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-3. MSRs in Processors Based on Intel® Core™ Microarchitecture (Contd.)
Register Address: Hex, Decimal
Register Name
Shared/
Register Information / Bit Fields
Bit Description
Unique
4
Address Parity Enable (R/W)
1 = Enabled; 0 = Disabled.
Note: Not all processors implement R/W.
5
Reserved.
6
Reserved.
7
BINIT# Driver Enable (R/W)
1 = Enabled; 0 = Disabled.
Note: Not all processors implement R/W.
8
Output Tri-state Enabled (R/O)
1 = Enabled; 0 = Disabled.
9
Execute BIST (R/O)
1 = Enabled; 0 = Disabled.
10
MCERR# Observation Enabled (R/O)
1 = Enabled; 0 = Disabled.
11
Intel TXT Capable Chipset. (R/O)
1 = Present; 0 = Not Present.
12
BINIT# Observation Enabled (R/O)
1 = Enabled; 0 = Disabled.
13
Reserved.
14
1 MByte Power on Reset Vector (R/O)
1 = 1 MByte; 0 = 4 GBytes.
15
Reserved.
17:16
APIC Cluster ID (R/O)
18
N/2 Non-Integer Bus Ratio (R/O)
0 = Integer ratio; 1 = Non-integer ratio.
19
Reserved.
21: 20
Symmetric Arbitration ID (R/O)
26:22
Integer Bus Frequency Ratio (R/O)
Register Address: 3AH, 58
MSR_FEATURE_CONTROL
Control Features in Intel 64 Processor (R/W)
Unique
See Table 2-2.
3
SMRR Enable (R/WL)
Unique
When this bit is set and the lock bit is set, this makes the SMRR_PHYS_BASE
and SMRR_PHYS_MASK registers read visible and writeable while in SMM.
Register Address: 40H, 64
MSR_LASTBRANCH_0_FROM_IP
2-66 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-3. MSRs in Processors Based on Intel® Core™ Microarchitecture (Contd.)
Register Address: Hex, Decimal
Register Name
Shared/
Register Information / Bit Fields
Bit Description
Unique
Last Branch Record 0 From IP (R/W)
Unique
One of four pairs of last branch record registers on the last branch record stack. The From_IP part of the stack
contains pointers to the source instruction. See also:
• Last Branch Record Stack TOS at 1C9H.
• Section 18.5.
Register Address: 41H, 65
MSR_LASTBRANCH_1_FROM_IP
Last Branch Record 1 From IP (R/W)
Unique
See description of MSR_LASTBRANCH_0_FROM_IP.
Register Address: 42H, 66
MSR_LASTBRANCH_2_FROM_IP
Last Branch Record 2 From IP (R/W)
Unique
See description of MSR_LASTBRANCH_0_FROM_IP.
Register Address: 43H, 67
MSR_LASTBRANCH_3_FROM_IP
Last Branch Record 3 From IP (R/W)
Unique
See description of MSR_LASTBRANCH_0_FROM_IP.
Register Address: 60H, 96
MSR_LASTBRANCH_0_TO_IP
Last Branch Record 0 To IP (R/W)
Unique
One of four pairs of last branch record registers on the last branch record stack. This To_IP part of the stack contains
pointers to the destination instruction.
Register Address: 61H, 97
MSR_LASTBRANCH_1_TO_IP
Last Branch Record 1 To IP (R/W)
Unique
See description of MSR_LASTBRANCH_0_TO_IP.
Register Address: 62H, 98
MSR_LASTBRANCH_2_TO_IP
Last Branch Record 2 To IP (R/W)
Unique
See description of MSR_LASTBRANCH_0_TO_IP.
Register Address: 63H, 99
MSR_LASTBRANCH_3_TO_IP
Last Branch Record 3 To IP (R/W)
Unique
See description of MSR_LASTBRANCH_0_TO_IP.
Register Address: 79H, 121
IA32_BIOS_UPDT_TRIG
BIOS Update Trigger Register (W)
Unique
See Table 2-2.
Register Address: 8BH, 139
IA32_BIOS_SIGN_ID
BIOS Update Signature ID (R/W)
Unique
See Table 2-2.
Register Address: A0H, 160
MSR_SMRR_PHYSBASE
System Management Mode Base Address register (WO in SMM)
Unique
Model-specific implementation of SMRR-like interface, read visible and write only in SMM.
11:0
Reserved.
31:12
PhysBase: SMRR physical Base Address.
Vol. 4
2-67
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-3. MSRs in Processors Based on Intel® Core™ Microarchitecture (Contd.)
Register Address: Hex, Decimal
Register Name
Shared/
Register Information / Bit Fields
Bit Description
Unique
63:32
Reserved.
Register Address: A1H, 161
MSR_SMRR_PHYSMASK
System Management Mode Physical Address Mask register (WO in SMM)
Unique
Model-specific implementation of SMRR-like interface, read visible and write only in SMM.
10:0
Reserved.
11
Valid: Physical address base and range mask are valid.
31:12
PhysMask: SMRR physical address range mask.
63:32
Reserved.
Register Address: C1H, 193
IA32_PMC0
Performance Counter Register
Unique
See Table 2-2.
Register Address: C2H, 194
IA32_PMC1
Performance Counter Register
Unique
See Table 2-2.
Register Address: CDH, 205
MSR_FSB_FREQ
Scaleable Bus Speed (R/O)
Shared
This field indicates the intended scalable bus clock speed for processors based on Intel Core microarchitecture.
2:0
101B: 100 MHz (FSB 400)
001B: 133 MHz (FSB 533)
011B: 167 MHz (FSB 667)
010B: 200 MHz (FSB 800)
000B: 267 MHz (FSB 1067)
100B: 333 MHz (FSB 1333)
133.33 MHz should be utilized if performing calculation with System Bus
Speed when encoding is 001B.
166.67 MHz should be utilized if performing calculation with System Bus
Speed when encoding is 011B.
266.67 MHz should be utilized if performing calculation with System Bus
Speed when encoding is 000B.
333.33 MHz should be utilized if performing calculation with System Bus
Speed when encoding is 100B.
63:3
Reserved.
Register Address: CDH, 205
MSR_FSB_FREQ
Scaleable Bus Speed (R/O)
Shared
This field indicates the intended scalable bus clock speed for processors based on Enhanced Intel Core
microarchitecture.
2-68 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-3. MSRs in Processors Based on Intel® Core™ Microarchitecture (Contd.)
Register Address: Hex, Decimal
Register Name
Shared/
Register Information / Bit Fields
Bit Description
Unique
2:0
101B: 100 MHz (FSB 400)
001B: 133 MHz (FSB 533)
011B: 167 MHz (FSB 667)
010B: 200 MHz (FSB 800)
000B: 267 MHz (FSB 1067)
100B: 333 MHz (FSB 1333)
110B: 400 MHz (FSB 1600)
133.33 MHz should be utilized if performing calculation with System Bus
Speed when encoding is 001B.
166.67 MHz should be utilized if performing calculation with System Bus
Speed when encoding is 011B.
266.67 MHz should be utilized if performing calculation with System Bus
Speed when encoding is 110B.
333.33 MHz should be utilized if performing calculation with System Bus
Speed when encoding is 111B.
63:3
Reserved.
Register Address: E7H, 231
IA32_MPERF
Maximum Performance Frequency Clock Count (R/W)
Unique
See Table 2-2.
Register Address: E8H, 232
IA32_APERF
Actual Performance Frequency Clock Count (R/W)
Unique
See Table 2-2.
Register Address: FEH, 254
IA32_MTRRCAP
See Table 2-2.
Unique
11
SMRR Capability Using MSR 0A0H and 0A1H (R)
Unique
Register Address: 174H, 372
IA32_SYSENTER_CS
See Table 2-2.
Unique
Register Address: 175H, 373
IA32_SYSENTER_ESP
See Table 2-2.
Unique
Register Address: 176H, 374
IA32_SYSENTER_EIP
See Table 2-2.
Unique
Register Address: 179H, 377
IA32_MCG_CAP
See Table 2-2.
Unique
Register Address: 17AH, 378
IA32_MCG_STATUS
Global Machine Check Status
Unique
0
RIPV
When set, bit indicates that the instruction addressed by the instruction
pointer pushed on the stack (when the machine check was generated) can be
used to restart the program. If cleared, the program cannot be reliably
restarted.
Vol. 4
2-69
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-3. MSRs in Processors Based on Intel® Core™ Microarchitecture (Contd.)
Register Address: Hex, Decimal
Register Name
Shared/
Register Information / Bit Fields
Bit Description
Unique
1
EIPV
When set, bit indicates that the instruction addressed by the instruction
pointer pushed on the stack (when the machine check was generated) is
directly associated with the error.
2
MCIP
When set, bit indicates that a machine check has been generated. If a second
machine check is detected while this bit is still set, the processor enters a
shutdown state. Software should write this bit to 0 after processing a
machine check exception.
63:3
Reserved.
Register Address: 186H, 390
IA32_PERFEVTSEL0
See Table 2-2.
Unique
Register Address: 187H, 391
IA32_PERFEVTSEL1
See Table 2-2.
Unique
Register Address: 198H, 408
IA32_PERF_STATUS
See Table 2-2.
Shared
Register Address: 198H, 408
MSR_PERF_STATUS
Current performance status. See Section 15.1.1, “Software Interface For Initiating Performance State Transitions.”
Shared
15:0
Current Performance State Value
30:16
Reserved.
31
XE Operation (R/O).
If set, XE operation is enabled. Default is cleared.
39:32
Reserved.
44:40
Maximum Bus Ratio (R/O)
Indicates maximum bus ratio configured for the processor.
45
Reserved.
46
Non-Integer Bus Ratio (R/O)
Indicates non-integer bus ratio is enabled. Applies processors based on
Enhanced Intel Core microarchitecture.
63:47
Reserved.
Register Address: 199H, 409
IA32_PERF_CTL
See Table 2-2.
Unique
Register Address: 19AH, 410
IA32_CLOCK_MODULATION
Clock Modulation (R/W)
Unique
See Table 2-2.
IA32_CLOCK_MODULATION MSR was originally named IA32_THERM_CONTROL MSR.
Register Address: 19BH, 411
IA32_THERM_INTERRUPT
2-70 Vol. 4
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-3. MSRs in Processors Based on Intel® Core™ Microarchitecture (Contd.)
Register Address: Hex, Decimal
Register Name
Shared/
Register Information / Bit Fields
Bit Description
Unique
Thermal Interrupt Control (R/W)
Unique
See Table 2-2.
Register Address: 19CH, 412
IA32_THERM_STATUS
Thermal Monitor Status (R/W)
Unique
See Table 2-2.
Register Address: 19DH, 413
MSR_THERM2_CTL
Thermal Monitor 2 Control
Unique
15:0
Reserved.
16
TM_SELECT (R/W)
Mode of automatic thermal monitor:
0 = Thermal Monitor 1 (thermally-initiated on-die modulation of the stop-
clock duty cycle).
1 = Thermal Monitor 2 (thermally-initiated frequency transitions).
If bit 3 of the IA32_MISC_ENABLE register is cleared, TM_SELECT has no
effect. Neither TM1 nor TM2 are enabled.
63:16
Reserved.
Register Address: 1A0H, 416
IA32_MISC_ENABLE
Enable Misc. Processor Features (R/W)
Allows a variety of processor functions to be enabled and disabled.
0
Fast-Strings Enable
See Table 2-2.
2:1
Reserved.
3
Automatic Thermal Control Circuit Enable (R/W)
Unique
See Table 2-2.
6:4
Reserved.
7
Performance Monitoring Available (R)
Shared
See Table 2-2.
8
Reserved.
9
Hardware Prefetcher Disable (R/W)
When set, disables the hardware prefetcher operation on streams of data.
When clear (default), enables the prefetch queue.
Disabling of the hardware prefetcher may impact processor performance.
10
FERR# Multiplexing Enable (R/W)
Shared
1 = FERR# asserted by the processor to indicate a pending break event
within the processor.
0 = Indicates compatible FERR# signaling behavior.
This bit must be set to 1 to support XAPIC interrupt model usage.
11
Branch Trace Storage Unavailable (R/O)
Shared
See Table 2-2.
Vol. 4
2-71
MODEL-SPECIFIC REGISTERS (MSRS)
Table 2-3. MSRs in Processors Based on Intel® Core™ Microarchitecture (Contd.)
Register Address: Hex, Decimal
Register Name
Shared/
Register Information / Bit Fields
Bit Description
Unique
12
Processor Event Based Sampling Unavailable (R/O)
Shared
See Table 2-2.
13
TM2 Enable (R/W)
Shared
When this bit is set (1) and the thermal sensor indicates that the die
temperature is at the pre-determined threshold, the Thermal Monitor 2
mechanism is engaged. TM2 will reduce the bus to core ratio and voltage
according to the value last written to MSR_THERM2_CTL bits 15:0.
When this bit is clear (0, default), the processor does not change the VID
signals or the bus to core ratio when the processor enters a thermally
managed state.
The BIOS must enable this feature if the TM2 feature flag (CPUID.1:ECX[8]) is
set; if the TM2 feature flag is not set, this feature is not supported and BIOS
must not alter the contents of the TM2 bit location.
The processor is operating out of specification if both this bit and the TM1 bit
are set to 0.
15:14
Reserved.
16
Enhanced Intel SpeedStep Technology Enable (R/W)
Shared
See Table 2-2.
18
ENABLE MONITOR FSM (R/W)
Shared
See Table 2-2.
19
Adjacent Cache Line Prefetch Disable (R/W)
Shared
When set to 1, the processor fetches the cache line that contains data
currently required by the processor. When set to 0, the processor fetches
cache lines that comprise a cache line pair (128 bytes).
Single processor platforms should not set this bit. Server platforms should set
or clear this bit based on platform performance observed in validation and
testing.
BIOS may contain a setup option that controls the setting of this bit.
20
Enhanced Intel SpeedStep Technology Select Lock (R/WO)
Shared
When set, this bit causes the following bits to become read-only:
• Enhanced Intel SpeedStep Technology Select Lock (this bit).
• Enhanced Intel SpeedStep Technology Enable bit.
The bit must be set before an Enhanced Intel SpeedStep Technology
transition is requested. This bit is cleared on reset.
21
Reserved.
22
Limit CPUID Maxval (R/W)
Shared
See Table 2-2.
23
xTPR Message Disable (R/W)
Shared
See Table 2-2.
33:24
Reserved.
2-72 Vol. 4

 

 

 

 

 

 

 

Content      ..     6      7      8      9     ..