Lines Matching refs:msr

261 int get_msr(int cpu, off_t offset, unsigned long long *msr)  in get_msr()  argument
272 retval = pread(fd, msr, sizeof *msr, offset); in get_msr()
275 if (retval != sizeof *msr) in get_msr()
973 unsigned long long msr; in get_counters() local
990 if (get_msr(cpu, MSR_SMI_COUNT, &msr)) in get_counters()
992 t->smi_count = msr & 0xFFFFFFFF; in get_counters()
995 if (get_msr(cpu, extra_delta_offset32, &msr)) in get_counters()
997 t->extra_delta32 = msr & 0xFFFFFFFF; in get_counters()
1005 if (get_msr(cpu, extra_msr_offset32, &msr)) in get_counters()
1007 t->extra_msr32 = msr & 0xFFFFFFFF; in get_counters()
1041 if (get_msr(cpu, MSR_IA32_THERM_STATUS, &msr)) in get_counters()
1043 c->core_temp_c = tcc_activation_temp - ((msr >> 16) & 0x7F); in get_counters()
1082 if (get_msr(cpu, MSR_PKG_ENERGY_STATUS, &msr)) in get_counters()
1084 p->energy_pkg = msr & 0xFFFFFFFF; in get_counters()
1087 if (get_msr(cpu, MSR_PP0_ENERGY_STATUS, &msr)) in get_counters()
1089 p->energy_cores = msr & 0xFFFFFFFF; in get_counters()
1092 if (get_msr(cpu, MSR_DRAM_ENERGY_STATUS, &msr)) in get_counters()
1094 p->energy_dram = msr & 0xFFFFFFFF; in get_counters()
1097 if (get_msr(cpu, MSR_PP1_ENERGY_STATUS, &msr)) in get_counters()
1099 p->energy_gfx = msr & 0xFFFFFFFF; in get_counters()
1102 if (get_msr(cpu, MSR_PKG_PERF_STATUS, &msr)) in get_counters()
1104 p->rapl_pkg_perf_status = msr & 0xFFFFFFFF; in get_counters()
1107 if (get_msr(cpu, MSR_DRAM_PERF_STATUS, &msr)) in get_counters()
1109 p->rapl_dram_perf_status = msr & 0xFFFFFFFF; in get_counters()
1112 if (get_msr(cpu, MSR_IA32_PACKAGE_THERM_STATUS, &msr)) in get_counters()
1114 p->pkg_temp_c = tcc_activation_temp - ((msr >> 16) & 0x7F); in get_counters()
1155 unsigned long long msr; in dump_nhm_platform_info() local
1158 get_msr(base_cpu, MSR_NHM_PLATFORM_INFO, &msr); in dump_nhm_platform_info()
1160 fprintf(stderr, "cpu0: MSR_NHM_PLATFORM_INFO: 0x%08llx\n", msr); in dump_nhm_platform_info()
1162 ratio = (msr >> 40) & 0xFF; in dump_nhm_platform_info()
1166 ratio = (msr >> 8) & 0xFF; in dump_nhm_platform_info()
1170 get_msr(base_cpu, MSR_IA32_POWER_CTL, &msr); in dump_nhm_platform_info()
1172 msr, msr & 0x2 ? "EN" : "DIS"); in dump_nhm_platform_info()
1180 unsigned long long msr; in dump_hsw_turbo_ratio_limits() local
1183 get_msr(base_cpu, MSR_TURBO_RATIO_LIMIT2, &msr); in dump_hsw_turbo_ratio_limits()
1185 fprintf(stderr, "cpu0: MSR_TURBO_RATIO_LIMIT2: 0x%08llx\n", msr); in dump_hsw_turbo_ratio_limits()
1187 ratio = (msr >> 8) & 0xFF; in dump_hsw_turbo_ratio_limits()
1192 ratio = (msr >> 0) & 0xFF; in dump_hsw_turbo_ratio_limits()
1202 unsigned long long msr; in dump_ivt_turbo_ratio_limits() local
1205 get_msr(base_cpu, MSR_TURBO_RATIO_LIMIT1, &msr); in dump_ivt_turbo_ratio_limits()
1207 fprintf(stderr, "cpu0: MSR_TURBO_RATIO_LIMIT1: 0x%08llx\n", msr); in dump_ivt_turbo_ratio_limits()
1209 ratio = (msr >> 56) & 0xFF; in dump_ivt_turbo_ratio_limits()
1214 ratio = (msr >> 48) & 0xFF; in dump_ivt_turbo_ratio_limits()
1219 ratio = (msr >> 40) & 0xFF; in dump_ivt_turbo_ratio_limits()
1224 ratio = (msr >> 32) & 0xFF; in dump_ivt_turbo_ratio_limits()
1229 ratio = (msr >> 24) & 0xFF; in dump_ivt_turbo_ratio_limits()
1234 ratio = (msr >> 16) & 0xFF; in dump_ivt_turbo_ratio_limits()
1239 ratio = (msr >> 8) & 0xFF; in dump_ivt_turbo_ratio_limits()
1244 ratio = (msr >> 0) & 0xFF; in dump_ivt_turbo_ratio_limits()
1254 unsigned long long msr; in dump_nhm_turbo_ratio_limits() local
1257 get_msr(base_cpu, MSR_TURBO_RATIO_LIMIT, &msr); in dump_nhm_turbo_ratio_limits()
1259 fprintf(stderr, "cpu0: MSR_TURBO_RATIO_LIMIT: 0x%08llx\n", msr); in dump_nhm_turbo_ratio_limits()
1261 ratio = (msr >> 56) & 0xFF; in dump_nhm_turbo_ratio_limits()
1266 ratio = (msr >> 48) & 0xFF; in dump_nhm_turbo_ratio_limits()
1271 ratio = (msr >> 40) & 0xFF; in dump_nhm_turbo_ratio_limits()
1276 ratio = (msr >> 32) & 0xFF; in dump_nhm_turbo_ratio_limits()
1281 ratio = (msr >> 24) & 0xFF; in dump_nhm_turbo_ratio_limits()
1286 ratio = (msr >> 16) & 0xFF; in dump_nhm_turbo_ratio_limits()
1291 ratio = (msr >> 8) & 0xFF; in dump_nhm_turbo_ratio_limits()
1296 ratio = (msr >> 0) & 0xFF; in dump_nhm_turbo_ratio_limits()
1308 unsigned long long msr; in dump_knl_turbo_ratio_limits() local
1313 get_msr(base_cpu, MSR_NHM_TURBO_RATIO_LIMIT, &msr); in dump_knl_turbo_ratio_limits()
1316 msr); in dump_knl_turbo_ratio_limits()
1339 cores = msr & 0xFF; in dump_knl_turbo_ratio_limits()
1340 ratio = (msr >> 8) && 0xFF; in dump_knl_turbo_ratio_limits()
1347 delta_cores = (msr >> i) & 0x1F; in dump_knl_turbo_ratio_limits()
1348 delta_ratio = (msr >> (i + 5)) && 0x7; in dump_knl_turbo_ratio_limits()
1367 unsigned long long msr; in dump_nhm_cst_cfg() local
1369 get_msr(base_cpu, MSR_NHM_SNB_PKG_CST_CFG_CTL, &msr); in dump_nhm_cst_cfg()
1374 fprintf(stderr, "cpu0: MSR_NHM_SNB_PKG_CST_CFG_CTL: 0x%08llx", msr); in dump_nhm_cst_cfg()
1377 (msr & SNB_C3_AUTO_UNDEMOTE) ? "UNdemote-C3, " : "", in dump_nhm_cst_cfg()
1378 (msr & SNB_C1_AUTO_UNDEMOTE) ? "UNdemote-C1, " : "", in dump_nhm_cst_cfg()
1379 (msr & NHM_C3_AUTO_DEMOTE) ? "demote-C3, " : "", in dump_nhm_cst_cfg()
1380 (msr & NHM_C1_AUTO_DEMOTE) ? "demote-C1, " : "", in dump_nhm_cst_cfg()
1381 (msr & (1 << 15)) ? "" : "UN", in dump_nhm_cst_cfg()
1382 (unsigned int)msr & 7, in dump_nhm_cst_cfg()
1762 unsigned long long msr; in probe_nhm_msrs() local
1812 get_msr(base_cpu, MSR_NHM_SNB_PKG_CST_CFG_CTL, &msr); in probe_nhm_msrs()
1814 pkg_cstate_limit = pkg_cstate_limits[msr & 0xF]; in probe_nhm_msrs()
1906 unsigned long long msr; in print_epb() local
1924 if (get_msr(cpu, MSR_IA32_ENERGY_PERF_BIAS, &msr)) in print_epb()
1927 switch (msr & 0xF) { in print_epb()
1941 fprintf(stderr, "cpu%d: MSR_IA32_ENERGY_PERF_BIAS: 0x%08llx (%s)\n", cpu, msr, epb_string); in print_epb()
1951 unsigned long long msr; in print_perf_limit() local
1966 get_msr(cpu, MSR_CORE_PERF_LIMIT_REASONS, &msr); in print_perf_limit()
1967 fprintf(stderr, "cpu%d: MSR_CORE_PERF_LIMIT_REASONS, 0x%08llx", cpu, msr); in print_perf_limit()
1969 (msr & 1 << 15) ? "bit15, " : "", in print_perf_limit()
1970 (msr & 1 << 14) ? "bit14, " : "", in print_perf_limit()
1971 (msr & 1 << 13) ? "Transitions, " : "", in print_perf_limit()
1972 (msr & 1 << 12) ? "MultiCoreTurbo, " : "", in print_perf_limit()
1973 (msr & 1 << 11) ? "PkgPwrL2, " : "", in print_perf_limit()
1974 (msr & 1 << 10) ? "PkgPwrL1, " : "", in print_perf_limit()
1975 (msr & 1 << 9) ? "CorePwr, " : "", in print_perf_limit()
1976 (msr & 1 << 8) ? "Amps, " : "", in print_perf_limit()
1977 (msr & 1 << 6) ? "VR-Therm, " : "", in print_perf_limit()
1978 (msr & 1 << 5) ? "Auto-HWP, " : "", in print_perf_limit()
1979 (msr & 1 << 4) ? "Graphics, " : "", in print_perf_limit()
1980 (msr & 1 << 2) ? "bit2, " : "", in print_perf_limit()
1981 (msr & 1 << 1) ? "ThermStatus, " : "", in print_perf_limit()
1982 (msr & 1 << 0) ? "PROCHOT, " : ""); in print_perf_limit()
1984 (msr & 1 << 31) ? "bit31, " : "", in print_perf_limit()
1985 (msr & 1 << 30) ? "bit30, " : "", in print_perf_limit()
1986 (msr & 1 << 29) ? "Transitions, " : "", in print_perf_limit()
1987 (msr & 1 << 28) ? "MultiCoreTurbo, " : "", in print_perf_limit()
1988 (msr & 1 << 27) ? "PkgPwrL2, " : "", in print_perf_limit()
1989 (msr & 1 << 26) ? "PkgPwrL1, " : "", in print_perf_limit()
1990 (msr & 1 << 25) ? "CorePwr, " : "", in print_perf_limit()
1991 (msr & 1 << 24) ? "Amps, " : "", in print_perf_limit()
1992 (msr & 1 << 22) ? "VR-Therm, " : "", in print_perf_limit()
1993 (msr & 1 << 21) ? "Auto-HWP, " : "", in print_perf_limit()
1994 (msr & 1 << 20) ? "Graphics, " : "", in print_perf_limit()
1995 (msr & 1 << 18) ? "bit18, " : "", in print_perf_limit()
1996 (msr & 1 << 17) ? "ThermStatus, " : "", in print_perf_limit()
1997 (msr & 1 << 16) ? "PROCHOT, " : ""); in print_perf_limit()
2001 get_msr(cpu, MSR_GFX_PERF_LIMIT_REASONS, &msr); in print_perf_limit()
2002 fprintf(stderr, "cpu%d: MSR_GFX_PERF_LIMIT_REASONS, 0x%08llx", cpu, msr); in print_perf_limit()
2004 (msr & 1 << 0) ? "PROCHOT, " : "", in print_perf_limit()
2005 (msr & 1 << 1) ? "ThermStatus, " : "", in print_perf_limit()
2006 (msr & 1 << 4) ? "Graphics, " : "", in print_perf_limit()
2007 (msr & 1 << 6) ? "VR-Therm, " : "", in print_perf_limit()
2008 (msr & 1 << 8) ? "Amps, " : "", in print_perf_limit()
2009 (msr & 1 << 9) ? "GFXPwr, " : "", in print_perf_limit()
2010 (msr & 1 << 10) ? "PkgPwrL1, " : "", in print_perf_limit()
2011 (msr & 1 << 11) ? "PkgPwrL2, " : ""); in print_perf_limit()
2013 (msr & 1 << 16) ? "PROCHOT, " : "", in print_perf_limit()
2014 (msr & 1 << 17) ? "ThermStatus, " : "", in print_perf_limit()
2015 (msr & 1 << 20) ? "Graphics, " : "", in print_perf_limit()
2016 (msr & 1 << 22) ? "VR-Therm, " : "", in print_perf_limit()
2017 (msr & 1 << 24) ? "Amps, " : "", in print_perf_limit()
2018 (msr & 1 << 25) ? "GFXPwr, " : "", in print_perf_limit()
2019 (msr & 1 << 26) ? "PkgPwrL1, " : "", in print_perf_limit()
2020 (msr & 1 << 27) ? "PkgPwrL2, " : ""); in print_perf_limit()
2023 get_msr(cpu, MSR_RING_PERF_LIMIT_REASONS, &msr); in print_perf_limit()
2024 fprintf(stderr, "cpu%d: MSR_RING_PERF_LIMIT_REASONS, 0x%08llx", cpu, msr); in print_perf_limit()
2026 (msr & 1 << 0) ? "PROCHOT, " : "", in print_perf_limit()
2027 (msr & 1 << 1) ? "ThermStatus, " : "", in print_perf_limit()
2028 (msr & 1 << 6) ? "VR-Therm, " : "", in print_perf_limit()
2029 (msr & 1 << 8) ? "Amps, " : "", in print_perf_limit()
2030 (msr & 1 << 10) ? "PkgPwrL1, " : "", in print_perf_limit()
2031 (msr & 1 << 11) ? "PkgPwrL2, " : ""); in print_perf_limit()
2033 (msr & 1 << 16) ? "PROCHOT, " : "", in print_perf_limit()
2034 (msr & 1 << 17) ? "ThermStatus, " : "", in print_perf_limit()
2035 (msr & 1 << 22) ? "VR-Therm, " : "", in print_perf_limit()
2036 (msr & 1 << 24) ? "Amps, " : "", in print_perf_limit()
2037 (msr & 1 << 26) ? "PkgPwrL1, " : "", in print_perf_limit()
2038 (msr & 1 << 27) ? "PkgPwrL2, " : ""); in print_perf_limit()
2048 unsigned long long msr; in get_tdp() local
2051 if (!get_msr(base_cpu, MSR_PKG_POWER_INFO, &msr)) in get_tdp()
2052 return ((msr >> 0) & RAPL_POWER_GRANULARITY) * rapl_power_units; in get_tdp()
2091 unsigned long long msr; in rapl_probe() local
2134 if (get_msr(base_cpu, MSR_RAPL_POWER_UNIT, &msr)) in rapl_probe()
2137 rapl_power_units = 1.0 / (1 << (msr & 0xF)); in rapl_probe()
2139 rapl_energy_units = 1.0 * (1 << (msr >> 8 & 0x1F)) / 1000000; in rapl_probe()
2141 rapl_energy_units = 1.0 / (1 << (msr >> 8 & 0x1F)); in rapl_probe()
2145 time_unit = msr >> 16 & 0xF; in rapl_probe()
2183 unsigned long long msr; in print_thermal() local
2202 if (get_msr(cpu, MSR_IA32_PACKAGE_THERM_STATUS, &msr)) in print_thermal()
2205 dts = (msr >> 16) & 0x7F; in print_thermal()
2207 cpu, msr, tcc_activation_temp - dts); in print_thermal()
2210 if (get_msr(cpu, MSR_IA32_PACKAGE_THERM_INTERRUPT, &msr)) in print_thermal()
2213 dts = (msr >> 16) & 0x7F; in print_thermal()
2214 dts2 = (msr >> 8) & 0x7F; in print_thermal()
2216 cpu, msr, tcc_activation_temp - dts, tcc_activation_temp - dts2); in print_thermal()
2224 if (get_msr(cpu, MSR_IA32_THERM_STATUS, &msr)) in print_thermal()
2227 dts = (msr >> 16) & 0x7F; in print_thermal()
2228 resolution = (msr >> 27) & 0xF; in print_thermal()
2230 cpu, msr, tcc_activation_temp - dts, resolution); in print_thermal()
2233 if (get_msr(cpu, MSR_IA32_THERM_INTERRUPT, &msr)) in print_thermal()
2236 dts = (msr >> 16) & 0x7F; in print_thermal()
2237 dts2 = (msr >> 8) & 0x7F; in print_thermal()
2239 cpu, msr, tcc_activation_temp - dts, tcc_activation_temp - dts2); in print_thermal()
2246 void print_power_limit_msr(int cpu, unsigned long long msr, char *label) in print_power_limit_msr() argument
2250 ((msr >> 15) & 1) ? "EN" : "DIS", in print_power_limit_msr()
2251 ((msr >> 0) & 0x7FFF) * rapl_power_units, in print_power_limit_msr()
2252 (1.0 + (((msr >> 22) & 0x3)/4.0)) * (1 << ((msr >> 17) & 0x1F)) * rapl_time_units, in print_power_limit_msr()
2253 (((msr >> 16) & 1) ? "EN" : "DIS")); in print_power_limit_msr()
2260 unsigned long long msr; in print_rapl() local
2276 if (get_msr(cpu, MSR_RAPL_POWER_UNIT, &msr)) in print_rapl()
2281 "(%f Watts, %f Joules, %f sec.)\n", cpu, msr, in print_rapl()
2286 if (get_msr(cpu, MSR_PKG_POWER_INFO, &msr)) in print_rapl()
2291 cpu, msr, in print_rapl()
2292 ((msr >> 0) & RAPL_POWER_GRANULARITY) * rapl_power_units, in print_rapl()
2293 ((msr >> 16) & RAPL_POWER_GRANULARITY) * rapl_power_units, in print_rapl()
2294 ((msr >> 32) & RAPL_POWER_GRANULARITY) * rapl_power_units, in print_rapl()
2295 ((msr >> 48) & RAPL_TIME_GRANULARITY) * rapl_time_units); in print_rapl()
2300 if (get_msr(cpu, MSR_PKG_POWER_LIMIT, &msr)) in print_rapl()
2304 cpu, msr, (msr >> 63) & 1 ? "": "UN"); in print_rapl()
2306 print_power_limit_msr(cpu, msr, "PKG Limit #1"); in print_rapl()
2309 ((msr >> 47) & 1) ? "EN" : "DIS", in print_rapl()
2310 ((msr >> 32) & 0x7FFF) * rapl_power_units, in print_rapl()
2311 (1.0 + (((msr >> 54) & 0x3)/4.0)) * (1 << ((msr >> 49) & 0x1F)) * rapl_time_units, in print_rapl()
2312 ((msr >> 48) & 1) ? "EN" : "DIS"); in print_rapl()
2316 if (get_msr(cpu, MSR_DRAM_POWER_INFO, &msr)) in print_rapl()
2320 cpu, msr, in print_rapl()
2321 ((msr >> 0) & RAPL_POWER_GRANULARITY) * rapl_power_units, in print_rapl()
2322 ((msr >> 16) & RAPL_POWER_GRANULARITY) * rapl_power_units, in print_rapl()
2323 ((msr >> 32) & RAPL_POWER_GRANULARITY) * rapl_power_units, in print_rapl()
2324 ((msr >> 48) & RAPL_TIME_GRANULARITY) * rapl_time_units); in print_rapl()
2327 if (get_msr(cpu, MSR_DRAM_POWER_LIMIT, &msr)) in print_rapl()
2330 cpu, msr, (msr >> 31) & 1 ? "": "UN"); in print_rapl()
2332 print_power_limit_msr(cpu, msr, "DRAM Limit"); in print_rapl()
2336 if (get_msr(cpu, MSR_PP0_POLICY, &msr)) in print_rapl()
2339 fprintf(stderr, "cpu%d: MSR_PP0_POLICY: %lld\n", cpu, msr & 0xF); in print_rapl()
2345 if (get_msr(cpu, MSR_PP0_POWER_LIMIT, &msr)) in print_rapl()
2348 cpu, msr, (msr >> 31) & 1 ? "": "UN"); in print_rapl()
2349 print_power_limit_msr(cpu, msr, "Cores Limit"); in print_rapl()
2354 if (get_msr(cpu, MSR_PP1_POLICY, &msr)) in print_rapl()
2357 fprintf(stderr, "cpu%d: MSR_PP1_POLICY: %lld\n", cpu, msr & 0xF); in print_rapl()
2359 if (get_msr(cpu, MSR_PP1_POWER_LIMIT, &msr)) in print_rapl()
2362 cpu, msr, (msr >> 31) & 1 ? "": "UN"); in print_rapl()
2363 print_power_limit_msr(cpu, msr, "GFX Limit"); in print_rapl()
2475 unsigned long long msr = 3; in slm_bclk() local
2479 if (get_msr(base_cpu, MSR_FSB_FREQ, &msr)) in slm_bclk()
2482 i = msr & 0xf; in slm_bclk()
2485 msr = 3; in slm_bclk()
2518 unsigned long long msr; in set_temperature_target() local
2547 if (get_msr(base_cpu, MSR_IA32_TEMPERATURE_TARGET, &msr)) in set_temperature_target()
2550 target_c_local = (msr >> 16) & 0xFF; in set_temperature_target()
2554 cpu, msr, target_c_local); in set_temperature_target()