coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
msr.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _DENVERTON_NS_MSR_H_
4 #define _DENVERTON_NS_MSR_H_
5 
6 #define MSR_CORE_THREAD_COUNT 0x35
7 #define MSR_PLATFORM_INFO 0xce
8 #define PLATFORM_INFO_SET_TDP (1 << 29)
9 #define MSR_PKG_CST_CONFIG_CONTROL 0xe2
10 #define MSR_FEATURE_CONFIG 0x13c
11 #define FEATURE_CONFIG_RESERVED_MASK 0x3ULL
12 #define FEATURE_CONFIG_LOCK (1 << 0)
13 #define MSR_POWER_MISC 0x120
14 #define ENABLE_IA_UNTRUSTED (1 << 6)
15 #define IA32_MCG_CAP 0x179
16 #define IA32_MCG_CAP_COUNT_MASK 0xff
17 #define IA32_MCG_CAP_CTL_P_BIT 8
18 #define IA32_MCG_CAP_CTL_P_MASK (1 << IA32_MCG_CAP_CTL_P_BIT)
19 #define IA32_MCG_CTL 0x17b
20 #define SMM_MCA_CAP_MSR 0x17d
21 #define SMM_CPU_SVRSTR_BIT 57
22 #define SMM_CPU_SVRSTR_MASK (1 << (SMM_CPU_SVRSTR_BIT - 32))
23 #define MSR_FLEX_RATIO 0x194
24 #define FLEX_RATIO_LOCK (1 << 20)
25 #define FLEX_RATIO_EN (1 << 16)
26 /* IA32_MISC_ENABLE 0x1a0 */
27 #define THERMAL_MONITOR_ENABLE_BIT (1 << 3)
28 #define MSR_MISC_PWR_MGMT 0x1aa
29 #define MISC_PWR_MGMT_EIST_HW_DIS (1 << 0)
30 #define MSR_TURBO_RATIO_LIMIT 0x1ad
31 #define MSR_TEMPERATURE_TARGET 0x1a2
32 #define EMRR_PHYS_BASE_MSR 0x1f4
33 #define MSR_PRMRR_PHYS_MASK 0x1f5
34 #define MSR_POWER_CTL 0x1fc
35 #define MSR_LT_LOCK_MEMORY 0x2e7
36 #define MSR_UNCORE_PRMRR_PHYS_BASE 0x2f4
37 #define MSR_UNCORE_PRMRR_PHYS_MASK 0x2f5
38 #define SMM_FEATURE_CONTROL_MSR 0x4e0
39 #define SMM_CPU_SAVE_EN (1 << 1)
40 
41 #define MSR_C_STATE_LATENCY_CONTROL_0 0x60a
42 #define MSR_C_STATE_LATENCY_CONTROL_1 0x60b
43 #define MSR_C_STATE_LATENCY_CONTROL_2 0x60c
44 #define MSR_C_STATE_LATENCY_CONTROL_3 0x633
45 #define MSR_C_STATE_LATENCY_CONTROL_4 0x634
46 #define MSR_C_STATE_LATENCY_CONTROL_5 0x635
47 #define IRTL_VALID (1 << 15)
48 #define IRTL_1_NS (0 << 10)
49 #define IRTL_32_NS (1 << 10)
50 #define IRTL_1024_NS (2 << 10)
51 #define IRTL_32768_NS (3 << 10)
52 #define IRTL_1048576_NS (4 << 10)
53 #define IRTL_33554432_NS (5 << 10)
54 #define IRTL_RESPONSE_MASK (0x3ff)
55 #define MSR_COUNTER_24_MHZ 0x637
56 
57 /* long duration in low dword, short duration in high dword */
58 #define MSR_PKG_POWER_LIMIT 0x610
59 #define PKG_POWER_LIMIT_MASK 0x7fff
60 #define PKG_POWER_LIMIT_EN (1 << 15)
61 #define PKG_POWER_LIMIT_CLAMP (1 << 16)
62 #define PKG_POWER_LIMIT_TIME_SHIFT 17
63 #define PKG_POWER_LIMIT_TIME_MASK 0x7f
64 
65 #define MSR_VR_CURRENT_CONFIG 0x601
66 #define MSR_VR_MISC_CONFIG 0x603
67 #define MSR_PKG_POWER_SKU_UNIT 0x606
68 #define MSR_PKG_POWER_SKU 0x614
69 #define MSR_DDR_RAPL_LIMIT 0x618
70 #define MSR_VR_MISC_CONFIG2 0x636
71 #define MSR_PP0_POWER_LIMIT 0x638
72 #define MSR_PP1_POWER_LIMIT 0x640
73 
74 #define MSR_CONFIG_TDP_NOMINAL 0x648
75 #define MSR_CONFIG_TDP_LEVEL1 0x649
76 #define MSR_CONFIG_TDP_LEVEL2 0x64a
77 #define MSR_CONFIG_TDP_CONTROL 0x64b
78 #define MSR_TURBO_ACTIVATION_RATIO 0x64c
79 
80 /* SMM save state MSRs */
81 #define SMBASE_MSR 0xc20
82 #define IEDBASE_MSR 0xc22
83 
84 /* MTRRcap_MSR bits */
85 #define SMRR_SUPPORTED (1 << 11)
86 #define PRMRR_SUPPORTED (1 << 12)
87 
88 /* Read BCLK from MSR */
89 unsigned int bus_freq_khz(void);
90 
91 #endif /* _DENVERTON_NS_MSR_H_ */
unsigned int bus_freq_khz(void)
Definition: tsc_freq.c:7