Lines Matching refs:msr
34 msr_t msr; in enable_vmx() local
41 msr = msr_read(MSR_IA32_FEATURE_CONTROL); in enable_vmx()
43 if (msr.lo & (1 << 0)) { in enable_vmx()
54 msr.hi = 0; in enable_vmx()
55 msr.lo = 0; in enable_vmx()
76 msr.lo |= (1 << 2); in enable_vmx()
78 msr.lo |= (1 << 1); in enable_vmx()
81 msr_write(MSR_IA32_FEATURE_CONTROL, msr); in enable_vmx()
163 msr_t msr = msr_read(MSR_PLATFORM_INFO); in set_power_limits() local
172 if (!(msr.lo & PLATFORM_INFO_SET_TDP)) in set_power_limits()
176 msr = msr_read(MSR_PKG_POWER_SKU_UNIT); in set_power_limits()
177 power_unit = 2 << ((msr.lo & 0xf) - 1); in set_power_limits()
180 msr = msr_read(MSR_PKG_POWER_SKU); in set_power_limits()
181 tdp = msr.lo & 0x7fff; in set_power_limits()
182 min_power = (msr.lo >> 16) & 0x7fff; in set_power_limits()
183 max_power = msr.hi & 0x7fff; in set_power_limits()
184 max_time = (msr.hi >> 16) & 0x7f; in set_power_limits()
216 msr = msr_read(MSR_CONFIG_TDP_NOMINAL); in set_power_limits()
218 limit.lo = msr.lo & 0xff; in set_power_limits()
226 msr_t msr; in configure_c_states() local
228 msr = msr_read(MSR_PMG_CST_CONFIG_CTL); in configure_c_states()
229 msr.lo |= (1 << 28); /* C1 Auto Undemotion Enable */ in configure_c_states()
230 msr.lo |= (1 << 27); /* C3 Auto Undemotion Enable */ in configure_c_states()
231 msr.lo |= (1 << 26); /* C1 Auto Demotion Enable */ in configure_c_states()
232 msr.lo |= (1 << 25); /* C3 Auto Demotion Enable */ in configure_c_states()
233 msr.lo &= ~(1 << 10); /* Disable IO MWAIT redirection */ in configure_c_states()
234 msr.lo |= 7; /* No package C-state limit */ in configure_c_states()
235 msr_write(MSR_PMG_CST_CONFIG_CTL, msr); in configure_c_states()
237 msr = msr_read(MSR_PMG_IO_CAPTURE_ADR); in configure_c_states()
238 msr.lo &= ~0x7ffff; in configure_c_states()
239 msr.lo |= (PMB0_BASE + 4); /* LVL_2 base address */ in configure_c_states()
240 msr.lo |= (2 << 16); /* CST Range: C7 is max C-state */ in configure_c_states()
241 msr_write(MSR_PMG_IO_CAPTURE_ADR, msr); in configure_c_states()
243 msr = msr_read(MSR_MISC_PWR_MGMT); in configure_c_states()
244 msr.lo &= ~(1 << 0); /* Enable P-state HW_ALL coordination */ in configure_c_states()
245 msr_write(MSR_MISC_PWR_MGMT, msr); in configure_c_states()
247 msr = msr_read(MSR_POWER_CTL); in configure_c_states()
248 msr.lo |= (1 << 18); /* Enable Energy Perf Bias MSR 0x1b0 */ in configure_c_states()
249 msr.lo |= (1 << 1); /* C1E Enable */ in configure_c_states()
250 msr.lo |= (1 << 0); /* Bi-directional PROCHOT# */ in configure_c_states()
251 msr_write(MSR_POWER_CTL, msr); in configure_c_states()
254 msr.hi = 0; in configure_c_states()
255 msr.lo = IRTL_VALID | IRTL_1024_NS | 0x50; in configure_c_states()
256 msr_write(MSR_PKGC3_IRTL, msr); in configure_c_states()
259 msr.hi = 0; in configure_c_states()
260 msr.lo = IRTL_VALID | IRTL_1024_NS | 0x68; in configure_c_states()
261 msr_write(MSR_PKGC6_IRTL, msr); in configure_c_states()
264 msr.hi = 0; in configure_c_states()
265 msr.lo = IRTL_VALID | IRTL_1024_NS | 0x6D; in configure_c_states()
266 msr_write(MSR_PKGC7_IRTL, msr); in configure_c_states()
269 msr = msr_read(MSR_PP0_CURRENT_CONFIG); in configure_c_states()
270 msr.lo &= ~0x1fff; in configure_c_states()
271 msr.lo |= PP0_CURRENT_LIMIT; in configure_c_states()
272 msr_write(MSR_PP0_CURRENT_CONFIG, msr); in configure_c_states()
275 msr = msr_read(MSR_PP1_CURRENT_CONFIG); in configure_c_states()
276 msr.lo &= ~0x1fff; in configure_c_states()
279 msr.lo |= PP1_CURRENT_LIMIT_IVB; in configure_c_states()
281 msr.lo |= PP1_CURRENT_LIMIT_SNB; in configure_c_states()
282 msr_write(MSR_PP1_CURRENT_CONFIG, msr); in configure_c_states()
288 msr_t msr; in configure_thermal_target() local
294 msr = msr_read(MSR_PLATFORM_INFO); in configure_thermal_target()
295 if ((msr.lo & (1 << 30)) && tcc_offset) { in configure_thermal_target()
296 msr = msr_read(MSR_TEMPERATURE_TARGET); in configure_thermal_target()
297 msr.lo &= ~(0xf << 24); /* Bits 27:24 */ in configure_thermal_target()
298 msr.lo |= (tcc_offset & 0xf) << 24; in configure_thermal_target()
299 msr_write(MSR_TEMPERATURE_TARGET, msr); in configure_thermal_target()
307 msr_t msr; in configure_misc() local
309 msr = msr_read(IA32_MISC_ENABLE); in configure_misc()
310 msr.lo |= (1 << 0); /* Fast String enable */ in configure_misc()
311 msr.lo |= (1 << 3); /* TM1/TM2/EMTTM enable */ in configure_misc()
312 msr.lo |= (1 << 16); /* Enhanced SpeedStep Enable */ in configure_misc()
313 msr_write(IA32_MISC_ENABLE, msr); in configure_misc()
316 msr.lo = 0; in configure_misc()
317 msr.hi = 0; in configure_misc()
318 msr_write(IA32_THERM_INTERRUPT, msr); in configure_misc()
321 msr.lo = 1 << 4; in configure_misc()
322 msr.hi = 0; in configure_misc()
323 msr_write(IA32_PACKAGE_THERM_INTERRUPT, msr); in configure_misc()
328 msr_t msr; in enable_lapic_tpr() local
330 msr = msr_read(MSR_PIC_MSG_CONTROL); in enable_lapic_tpr()
331 msr.lo &= ~(1 << 10); /* Enable APIC TPR updates */ in enable_lapic_tpr()
332 msr_write(MSR_PIC_MSG_CONTROL, msr); in enable_lapic_tpr()
338 msr_t msr; in configure_dca_cap() local
343 msr = msr_read(IA32_PLATFORM_DCA_CAP); in configure_dca_cap()
344 msr.lo |= 1; in configure_dca_cap()
345 msr_write(IA32_PLATFORM_DCA_CAP, msr); in configure_dca_cap()
351 msr_t msr, perf_ctl; in set_max_ratio() local
358 msr = msr_read(MSR_CONFIG_TDP_NOMINAL); in set_max_ratio()
359 perf_ctl.lo = (msr.lo & 0xff) << 8; in set_max_ratio()
362 msr = msr_read(MSR_PLATFORM_INFO); in set_max_ratio()
363 perf_ctl.lo = msr.lo & 0xff00; in set_max_ratio()
373 msr_t msr; in set_energy_perf_bias() local
376 msr = msr_read(IA32_ENERGY_PERFORMANCE_BIAS); in set_energy_perf_bias()
377 msr.lo &= ~0xf; in set_energy_perf_bias()
378 msr.lo |= policy & 0xf; in set_energy_perf_bias()
379 msr_write(IA32_ENERGY_PERFORMANCE_BIAS, msr); in set_energy_perf_bias()
386 msr_t msr; in configure_mca() local
389 msr.lo = 0; in configure_mca()
390 msr.hi = 0; in configure_mca()
393 msr_write(IA32_MC0_STATUS + (i * 4), msr); in configure_mca()
439 msr_t msr; in model_206ax_get_info() local
441 msr = msr_read(MSR_IA32_PERF_CTL); in model_206ax_get_info()
442 info->cpu_freq = ((msr.lo >> 8) & 0xff) * SANDYBRIDGE_BCLK * 1000000; in model_206ax_get_info()