TianoCore EDK2 master
Loading...
Searching...
No Matches
AtomMsr.h File Reference

Go to the source code of this file.

Data Structures

union  MSR_ATOM_PLATFORM_ID_REGISTER
 
union  MSR_ATOM_EBL_CR_POWERON_REGISTER
 
union  MSR_ATOM_FSB_FREQ_REGISTER
 
union  MSR_ATOM_BBL_CR_CTL3_REGISTER
 
union  MSR_ATOM_PERF_STATUS_REGISTER
 
union  MSR_ATOM_THERM2_CTL_REGISTER
 
union  MSR_ATOM_IA32_MISC_ENABLE_REGISTER
 
union  MSR_ATOM_PEBS_ENABLE_REGISTER
 

Macros

#define IS_ATOM_PROCESSOR(DisplayFamily, DisplayModel)
 
#define MSR_ATOM_PLATFORM_ID   0x00000017
 
#define MSR_ATOM_EBL_CR_POWERON   0x0000002A
 
#define MSR_ATOM_FSB_FREQ   0x000000CD
 
#define MSR_ATOM_BBL_CR_CTL3   0x0000011E
 
#define MSR_ATOM_PERF_STATUS   0x00000198
 
#define MSR_ATOM_THERM2_CTL   0x0000019D
 
#define MSR_ATOM_IA32_MISC_ENABLE   0x000001A0
 
#define MSR_ATOM_LASTBRANCH_TOS   0x000001C9
 
#define MSR_ATOM_LER_FROM_LIP   0x000001DD
 
#define MSR_ATOM_LER_TO_LIP   0x000001DE
 
#define MSR_ATOM_PEBS_ENABLE   0x000003F1
 
#define MSR_ATOM_PKG_C2_RESIDENCY   0x000003F8
 
#define MSR_ATOM_PKG_C4_RESIDENCY   0x000003F9
 
#define MSR_ATOM_PKG_C6_RESIDENCY   0x000003FA
 
#define MSR_ATOM_LASTBRANCH_0_FROM_IP   0x00000040
 
#define MSR_ATOM_LASTBRANCH_1_FROM_IP   0x00000041
 
#define MSR_ATOM_LASTBRANCH_2_FROM_IP   0x00000042
 
#define MSR_ATOM_LASTBRANCH_3_FROM_IP   0x00000043
 
#define MSR_ATOM_LASTBRANCH_4_FROM_IP   0x00000044
 
#define MSR_ATOM_LASTBRANCH_5_FROM_IP   0x00000045
 
#define MSR_ATOM_LASTBRANCH_6_FROM_IP   0x00000046
 
#define MSR_ATOM_LASTBRANCH_7_FROM_IP   0x00000047
 
#define MSR_ATOM_LASTBRANCH_0_TO_IP   0x00000060
 
#define MSR_ATOM_LASTBRANCH_1_TO_IP   0x00000061
 
#define MSR_ATOM_LASTBRANCH_2_TO_IP   0x00000062
 
#define MSR_ATOM_LASTBRANCH_3_TO_IP   0x00000063
 
#define MSR_ATOM_LASTBRANCH_4_TO_IP   0x00000064
 
#define MSR_ATOM_LASTBRANCH_5_TO_IP   0x00000065
 
#define MSR_ATOM_LASTBRANCH_6_TO_IP   0x00000066
 
#define MSR_ATOM_LASTBRANCH_7_TO_IP   0x00000067
 

Detailed Description

MSR Definitions for the Intel(R) Atom(TM) Processor Family.

Provides defines for Machine Specific Registers(MSR) indexes. Data structures are provided for MSRs that contain one or more bit fields. If the MSR value returned is a single 32-bit or 64-bit value, then a data structure is not provided for that MSR.

Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Specification Reference:
Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 4, May 2018, Volume 4: Model-Specific-Registers (MSR)

Definition in file AtomMsr.h.

Macro Definition Documentation

◆ IS_ATOM_PROCESSOR

#define IS_ATOM_PROCESSOR (   DisplayFamily,
  DisplayModel 
)
Value:
(DisplayFamily == 0x06 && \
( \
DisplayModel == 0x1C || \
DisplayModel == 0x26 || \
DisplayModel == 0x27 || \
DisplayModel == 0x35 || \
DisplayModel == 0x36 \
) \
)

Is Intel(R) Atom(TM) Processor Family?

Parameters
DisplayFamilyDisplay Family ID
DisplayModelDisplay Model ID
Return values
TRUEYes, it is.
FALSENo, it isn't.

Definition at line 32 of file AtomMsr.h.

◆ MSR_ATOM_BBL_CR_CTL3

#define MSR_ATOM_BBL_CR_CTL3   0x0000011E

Shared.

Parameters
ECXMSR_ATOM_BBL_CR_CTL3 (0x0000011E)
EAXLower 32-bits of MSR value. Described by the type MSR_ATOM_BBL_CR_CTL3_REGISTER.
EDXUpper 32-bits of MSR value. Described by the type MSR_ATOM_BBL_CR_CTL3_REGISTER.

Example usage

#define MSR_ATOM_BBL_CR_CTL3
Definition: AtomMsr.h:340
UINT64 EFIAPI AsmReadMsr64(IN UINT32 Index)
Definition: GccInlinePriv.c:60
UINT64 EFIAPI AsmWriteMsr64(IN UINT32 Index, IN UINT64 Value)
Note
MSR_ATOM_BBL_CR_CTL3 is defined as MSR_BBL_CR_CTL3 in SDM.

Definition at line 340 of file AtomMsr.h.

◆ MSR_ATOM_EBL_CR_POWERON

#define MSR_ATOM_EBL_CR_POWERON   0x0000002A

Shared. Processor Hard Power-On Configuration (R/W) Enables and disables processor features; (R) indicates current processor configuration.

Parameters
ECXMSR_ATOM_EBL_CR_POWERON (0x0000002A)
EAXLower 32-bits of MSR value. Described by the type MSR_ATOM_EBL_CR_POWERON_REGISTER.
EDXUpper 32-bits of MSR value. Described by the type MSR_ATOM_EBL_CR_POWERON_REGISTER.

Example usage

Note
MSR_ATOM_EBL_CR_POWERON is defined as MSR_EBL_CR_POWERON in SDM.

Definition at line 107 of file AtomMsr.h.

◆ MSR_ATOM_FSB_FREQ

#define MSR_ATOM_FSB_FREQ   0x000000CD

Shared. Scalable Bus Speed(RO) This field indicates the intended scalable bus clock speed for processors based on Intel Atom microarchitecture:.

Parameters
ECXMSR_ATOM_FSB_FREQ (0x000000CD)
EAXLower 32-bits of MSR value. Described by the type MSR_ATOM_FSB_FREQ_REGISTER.
EDXUpper 32-bits of MSR value. Described by the type MSR_ATOM_FSB_FREQ_REGISTER.

Example usage

Note
MSR_ATOM_FSB_FREQ is defined as MSR_FSB_FREQ in SDM.

Definition at line 282 of file AtomMsr.h.

◆ MSR_ATOM_IA32_MISC_ENABLE

#define MSR_ATOM_IA32_MISC_ENABLE   0x000001A0

Unique. Enable Misc. Processor Features (R/W) Allows a variety of processor functions to be enabled and disabled.

Parameters
ECXMSR_ATOM_IA32_MISC_ENABLE (0x000001A0)
EAXLower 32-bits of MSR value. Described by the type MSR_ATOM_IA32_MISC_ENABLE_REGISTER.
EDXUpper 32-bits of MSR value. Described by the type MSR_ATOM_IA32_MISC_ENABLE_REGISTER.

Example usage

Note
MSR_ATOM_IA32_MISC_ENABLE is defined as IA32_MISC_ENABLE in SDM.

Definition at line 496 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_0_FROM_IP

#define MSR_ATOM_LASTBRANCH_0_FROM_IP   0x00000040

Unique. Last Branch Record n From IP (R/W) One of eight 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 17.5.

Parameters
ECXMSR_ATOM_LASTBRANCH_n_FROM_IP
EAXLower 32-bits of MSR value.
EDXUpper 32-bits of MSR value.

Example usage

Note
MSR_ATOM_LASTBRANCH_0_FROM_IP is defined as MSR_LASTBRANCH_0_FROM_IP in SDM. MSR_ATOM_LASTBRANCH_1_FROM_IP is defined as MSR_LASTBRANCH_1_FROM_IP in SDM. MSR_ATOM_LASTBRANCH_2_FROM_IP is defined as MSR_LASTBRANCH_2_FROM_IP in SDM. MSR_ATOM_LASTBRANCH_3_FROM_IP is defined as MSR_LASTBRANCH_3_FROM_IP in SDM. MSR_ATOM_LASTBRANCH_4_FROM_IP is defined as MSR_LASTBRANCH_4_FROM_IP in SDM. MSR_ATOM_LASTBRANCH_5_FROM_IP is defined as MSR_LASTBRANCH_5_FROM_IP in SDM. MSR_ATOM_LASTBRANCH_6_FROM_IP is defined as MSR_LASTBRANCH_6_FROM_IP in SDM. MSR_ATOM_LASTBRANCH_7_FROM_IP is defined as MSR_LASTBRANCH_7_FROM_IP in SDM.

Definition at line 218 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_0_TO_IP

#define MSR_ATOM_LASTBRANCH_0_TO_IP   0x00000060

Unique. Last Branch Record n To IP (R/W) One of eight pairs of last branch record registers on the last branch record stack. The To_IP part of the stack contains pointers to the destination instruction.

Parameters
ECXMSR_ATOM_LASTBRANCH_n_TO_IP
EAXLower 32-bits of MSR value.
EDXUpper 32-bits of MSR value.

Example usage

UINT64 Msr;
#define MSR_ATOM_LASTBRANCH_0_TO_IP
Definition: AtomMsr.h:254
Note
MSR_ATOM_LASTBRANCH_0_TO_IP is defined as MSR_LASTBRANCH_0_TO_IP in SDM. MSR_ATOM_LASTBRANCH_1_TO_IP is defined as MSR_LASTBRANCH_1_TO_IP in SDM. MSR_ATOM_LASTBRANCH_2_TO_IP is defined as MSR_LASTBRANCH_2_TO_IP in SDM. MSR_ATOM_LASTBRANCH_3_TO_IP is defined as MSR_LASTBRANCH_3_TO_IP in SDM. MSR_ATOM_LASTBRANCH_4_TO_IP is defined as MSR_LASTBRANCH_4_TO_IP in SDM. MSR_ATOM_LASTBRANCH_5_TO_IP is defined as MSR_LASTBRANCH_5_TO_IP in SDM. MSR_ATOM_LASTBRANCH_6_TO_IP is defined as MSR_LASTBRANCH_6_TO_IP in SDM. MSR_ATOM_LASTBRANCH_7_TO_IP is defined as MSR_LASTBRANCH_7_TO_IP in SDM.

Definition at line 254 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_1_FROM_IP

#define MSR_ATOM_LASTBRANCH_1_FROM_IP   0x00000041

Definition at line 219 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_1_TO_IP

#define MSR_ATOM_LASTBRANCH_1_TO_IP   0x00000061

Definition at line 255 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_2_FROM_IP

#define MSR_ATOM_LASTBRANCH_2_FROM_IP   0x00000042

Definition at line 220 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_2_TO_IP

#define MSR_ATOM_LASTBRANCH_2_TO_IP   0x00000062

Definition at line 256 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_3_FROM_IP

#define MSR_ATOM_LASTBRANCH_3_FROM_IP   0x00000043

Definition at line 221 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_3_TO_IP

#define MSR_ATOM_LASTBRANCH_3_TO_IP   0x00000063

Definition at line 257 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_4_FROM_IP

#define MSR_ATOM_LASTBRANCH_4_FROM_IP   0x00000044

Definition at line 222 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_4_TO_IP

#define MSR_ATOM_LASTBRANCH_4_TO_IP   0x00000064

Definition at line 258 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_5_FROM_IP

#define MSR_ATOM_LASTBRANCH_5_FROM_IP   0x00000045

Definition at line 223 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_5_TO_IP

#define MSR_ATOM_LASTBRANCH_5_TO_IP   0x00000065

Definition at line 259 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_6_FROM_IP

#define MSR_ATOM_LASTBRANCH_6_FROM_IP   0x00000046

Definition at line 224 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_6_TO_IP

#define MSR_ATOM_LASTBRANCH_6_TO_IP   0x00000066

Definition at line 260 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_7_FROM_IP

#define MSR_ATOM_LASTBRANCH_7_FROM_IP   0x00000047

Definition at line 225 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_7_TO_IP

#define MSR_ATOM_LASTBRANCH_7_TO_IP   0x00000067

Definition at line 261 of file AtomMsr.h.

◆ MSR_ATOM_LASTBRANCH_TOS

#define MSR_ATOM_LASTBRANCH_TOS   0x000001C9

Unique. Last Branch Record Stack TOS (R/W) Contains an index (bits 0-2) that points to the MSR containing the most recent branch record. See MSR_LASTBRANCH_0_FROM_IP (at 40H).

Parameters
ECXMSR_ATOM_LASTBRANCH_TOS (0x000001C9)
EAXLower 32-bits of MSR value.
EDXUpper 32-bits of MSR value.

Example usage

UINT64 Msr;
#define MSR_ATOM_LASTBRANCH_TOS
Definition: AtomMsr.h:616
Note
MSR_ATOM_LASTBRANCH_TOS is defined as MSR_LASTBRANCH_TOS in SDM.

Definition at line 616 of file AtomMsr.h.

◆ MSR_ATOM_LER_FROM_LIP

#define MSR_ATOM_LER_FROM_LIP   0x000001DD

Unique. Last Exception Record From Linear IP (R) Contains a pointer to the last branch instruction that the processor executed prior to the last exception that was generated or the last interrupt that was handled.

Parameters
ECXMSR_ATOM_LER_FROM_LIP (0x000001DD)
EAXLower 32-bits of MSR value.
EDXUpper 32-bits of MSR value.

Example usage

UINT64 Msr;
#define MSR_ATOM_LER_FROM_LIP
Definition: AtomMsr.h:635
Note
MSR_ATOM_LER_FROM_LIP is defined as MSR_LER_FROM_LIP in SDM.

Definition at line 635 of file AtomMsr.h.

◆ MSR_ATOM_LER_TO_LIP

#define MSR_ATOM_LER_TO_LIP   0x000001DE

Unique. Last Exception Record To Linear IP (R) This area contains a pointer to the target of the last branch instruction that the processor executed prior to the last exception that was generated or the last interrupt that was handled.

Parameters
ECXMSR_ATOM_LER_TO_LIP (0x000001DE)
EAXLower 32-bits of MSR value.
EDXUpper 32-bits of MSR value.

Example usage

UINT64 Msr;
#define MSR_ATOM_LER_TO_LIP
Definition: AtomMsr.h:655
Note
MSR_ATOM_LER_TO_LIP is defined as MSR_LER_TO_LIP in SDM.

Definition at line 655 of file AtomMsr.h.

◆ MSR_ATOM_PEBS_ENABLE

#define MSR_ATOM_PEBS_ENABLE   0x000003F1

Unique. See Table 2-2. See Section 18.6.2.4, "Processor Event Based Sampling (PEBS).".

Parameters
ECXMSR_ATOM_PEBS_ENABLE (0x000003F1)
EAXLower 32-bits of MSR value. Described by the type MSR_ATOM_PEBS_ENABLE_REGISTER.
EDXUpper 32-bits of MSR value. Described by the type MSR_ATOM_PEBS_ENABLE_REGISTER.

Example usage

Note
MSR_ATOM_PEBS_ENABLE is defined as MSR_PEBS_ENABLE in SDM.

Definition at line 676 of file AtomMsr.h.

◆ MSR_ATOM_PERF_STATUS

#define MSR_ATOM_PERF_STATUS   0x00000198

Shared.

Parameters
ECXMSR_ATOM_PERF_STATUS (0x00000198)
EAXLower 32-bits of MSR value. Described by the type MSR_ATOM_PERF_STATUS_REGISTER.
EDXUpper 32-bits of MSR value. Described by the type MSR_ATOM_PERF_STATUS_REGISTER.

Example usage

Note
MSR_ATOM_PERF_STATUS is defined as MSR_PERF_STATUS in SDM.

Definition at line 398 of file AtomMsr.h.

◆ MSR_ATOM_PKG_C2_RESIDENCY

#define MSR_ATOM_PKG_C2_RESIDENCY   0x000003F8

Package. Package C2 Residency Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C-States. Package. Package C2 Residency Counter. (R/O) Time that this package is in processor-specific C2 states since last reset. Counts at 1 Mhz frequency.

Parameters
ECXMSR_ATOM_PKG_C2_RESIDENCY (0x000003F8)
EAXLower 32-bits of MSR value.
EDXUpper 32-bits of MSR value.

Example usage

UINT64 Msr;
#define MSR_ATOM_PKG_C2_RESIDENCY
Definition: AtomMsr.h:723
Note
MSR_ATOM_PKG_C2_RESIDENCY is defined as MSR_PKG_C2_RESIDENCY in SDM.

Definition at line 723 of file AtomMsr.h.

◆ MSR_ATOM_PKG_C4_RESIDENCY

#define MSR_ATOM_PKG_C4_RESIDENCY   0x000003F9

Package. Package C4 Residency Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C-States. Package. Package C4 Residency Counter. (R/O) Time that this package is in processor-specific C4 states since last reset. Counts at 1 Mhz frequency.

Parameters
ECXMSR_ATOM_PKG_C4_RESIDENCY (0x000003F9)
EAXLower 32-bits of MSR value.
EDXUpper 32-bits of MSR value.

Example usage

UINT64 Msr;
#define MSR_ATOM_PKG_C4_RESIDENCY
Definition: AtomMsr.h:745
Note
MSR_ATOM_PKG_C4_RESIDENCY is defined as MSR_PKG_C4_RESIDENCY in SDM.

Definition at line 745 of file AtomMsr.h.

◆ MSR_ATOM_PKG_C6_RESIDENCY

#define MSR_ATOM_PKG_C6_RESIDENCY   0x000003FA

Package. Package C6 Residency Note: C-state values are processor specific C-state code names, unrelated to MWAIT extension C-state parameters or ACPI C-States. Package. Package C6 Residency Counter. (R/O) Time that this package is in processor-specific C6 states since last reset. Counts at 1 Mhz frequency.

Parameters
ECXMSR_ATOM_PKG_C6_RESIDENCY (0x000003FA)
EAXLower 32-bits of MSR value.
EDXUpper 32-bits of MSR value.

Example usage

UINT64 Msr;
#define MSR_ATOM_PKG_C6_RESIDENCY
Definition: AtomMsr.h:767
Note
MSR_ATOM_PKG_C6_RESIDENCY is defined as MSR_PKG_C6_RESIDENCY in SDM.

Definition at line 767 of file AtomMsr.h.

◆ MSR_ATOM_PLATFORM_ID

#define MSR_ATOM_PLATFORM_ID   0x00000017

Shared. Model Specific Platform ID (R).

Parameters
ECXMSR_ATOM_PLATFORM_ID (0x00000017)
EAXLower 32-bits of MSR value. Described by the type MSR_ATOM_PLATFORM_ID_REGISTER.
EDXUpper 32-bits of MSR value. Described by the type MSR_ATOM_PLATFORM_ID_REGISTER.

Example usage

Note
MSR_ATOM_PLATFORM_ID is defined as MSR_PLATFORM_ID in SDM.

Definition at line 60 of file AtomMsr.h.

◆ MSR_ATOM_THERM2_CTL

#define MSR_ATOM_THERM2_CTL   0x0000019D

Shared.

Parameters
ECXMSR_ATOM_THERM2_CTL (0x0000019D)
EAXLower 32-bits of MSR value. Described by the type MSR_ATOM_THERM2_CTL_REGISTER.
EDXUpper 32-bits of MSR value. Described by the type MSR_ATOM_THERM2_CTL_REGISTER.

Example usage

Note
MSR_ATOM_THERM2_CTL is defined as MSR_THERM2_CTL in SDM.

Definition at line 445 of file AtomMsr.h.