Defined in 2 files as a function:
- arch/x86/include/asm/msr.h, line 203 (as a function)
- arch/x86/include/asm/paravirt.h, line 175 (as a function)
Referenced in 28 files:
- arch/x86/events/core.c, line 330
- arch/x86/events/intel/core.c
- arch/x86/events/intel/knc.c
- arch/x86/events/intel/lbr.c, line 1613
- arch/x86/events/intel/p4.c
- arch/x86/events/intel/p6.c
- arch/x86/include/asm/msr.h
- arch/x86/kernel/acpi/sleep.c
- arch/x86/kernel/cpu/amd.c
- arch/x86/kernel/cpu/bus_lock.c, line 106
- arch/x86/kernel/cpu/common.c
- arch/x86/kernel/cpu/mce/inject.c
- arch/x86/kernel/cpu/mce/intel.c, line 466
- arch/x86/kernel/cpu/mtrr/generic.c, line 756
- arch/x86/kernel/cpu/resctrl/core.c, line 165
- arch/x86/kvm/msrs.c
- arch/x86/kvm/svm/sev.c, line 3324
- arch/x86/kvm/vmx/pmu_intel.c, line 325
- arch/x86/lib/msr-smp.c, line 132
- arch/x86/lib/msr.c, line 62
- drivers/acpi/processor_throttling.c, line 721
- drivers/cpufreq/intel_pstate.c, line 1957
- drivers/edac/ie31200_edac.c, line 264
- drivers/platform/x86/intel/turbo_max_3.c, line 45
- drivers/powercap/intel_rapl_common.c
- drivers/powercap/intel_rapl_msr.c, line 205
- drivers/thermal/intel/intel_tcc.c, line 262
- drivers/thermal/intel/therm_throt.c, line 923
Smatch caller information:
arch/x86/lib/msr.c msr_write() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | msr | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/powercap/intel_rapl_msr.c rapl_msr_update_func() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
arch/x86/lib/msr-smp.c __wrmsr_safe_on_cpu() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
drivers/thermal/intel/therm_throt.c notify_hwp_interrupt() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 1911 |
| PARAM_VALUE | 1 | val | 0 |
| PREEMPT_ADD | |||
| NOCHECK_CALL |
drivers/edac/ie31200_edac.c ie31200_clear_error_info() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 1937 |
| PARAM_VALUE | 1 | val | 3,5,7,11,13,15 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/kvm/svm/sev.c sev_flush_encrypted_page() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 3221291294 |
| PARAM_VALUE | 1 | val | 0-u32max,18379471554275704832-18379471558570672127,18446612682070032384-18446612686364999679 |
arch/x86/kernel/cpu/mce/intel.c intel_imc_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 383 |
| PARAM_VALUE | 1 | val | 0,2-u64max |
| BIT_INFO | 1 | val | 0x2,0xffffffffffffffff |
| BIT_INFO | 1 | val | 0x2,0xffffffffffffffff |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
arch/x86/events/core.c check_hw_exists() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | msr | r x86_pmu_event_addr |
arch/x86/kvm/vmx/pmu_intel.c intel_pmu_handle_lbr_msrs_access() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 0-4294967294 |
| CAPPED_DATA | 0 | msr | 1 |
| UNITS | 1 | val | unit_byte |
| LOCK2 | irq |
drivers/platform/x86/intel/turbo_max_3.c get_oc_core_priority() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 336 |
| PARAM_VALUE | 1 | val | 9223372157113860096 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &cpuhp_state_mutex | ||
| HALF_LOCKED2 | irq |
arch/x86/events/intel/p4.c __p4_pmu_enable_event() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 928-933,936-943,946-947,950-953,956-957,960-965,970-973 |
| PARAM_VALUE | 1 | val | 0-s32max |
| BIT_INFO | 1 | val | 0x0,0xffffffff |
arch/x86/events/intel/p4.c __p4_pmu_enable_event() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | val | 4096,8192-4294967296 |
| BIT_INFO | 1 | val | 0x1000,0xfffff000 |
arch/x86/events/intel/p4.c p4_pmu_disable_event() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | val | 0,8192-2147475456 |
| BIT_INFO | 1 | val | 0x0,0x7fffe000 |
arch/x86/events/intel/p4.c p4_pmu_enable_pebs() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 1009 |
| PARAM_VALUE | 1 | val | 16777217-16777218,16777220,16777728,16778240,16875520 |
arch/x86/events/intel/p4.c p4_pmu_enable_pebs() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 1010 |
| PARAM_VALUE | 1 | val | 1-3,16 |
arch/x86/events/intel/p4.c p4_pmu_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | val | 0 |
| DATA_SOURCE | 0 | msr | r x86_pmu_config_addr |
| NOCHECK_CALL |
arch/x86/events/intel/knc.c knc_pmu_disable_event() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BIT_INFO | 1 | val | 0x0,0xffffffffffbfffff |
| BIT_INFO | 1 | val | 0x0,0xffffffffffbfffff |
arch/x86/events/intel/knc.c knc_pmu_enable_event() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | val | 0,4194304-u64max |
| BIT_INFO | 1 | val | 0x400000,0xffffffffffffffff |
| BIT_INFO | 1 | val | 0x400000,0xffffffffffffffff |
arch/x86/events/intel/lbr.c intel_pmu_arch_lbr_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 5327 |
| PARAM_VALUE | 1 | val | 1-256 |
| HOST_DATA | 1 | val | 1-256[c] |
drivers/cpufreq/intel_pstate.c notify_hwp_interrupt() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 1911 |
| PARAM_VALUE | 1 | val | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | global &hwp_notify_lock |
drivers/acpi/processor_throttling.c acpi_throttling_wrmsr() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 410 |
| DATA_SOURCE | 1 | val | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
arch/x86/kernel/cpu/amd.c early_init_amd() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 73 |
| PARAM_VALUE | 1 | val | 128 |
| LOCK2 | irq |
arch/x86/kernel/cpu/amd.c init_amd_bd() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 3221295137 |
| PARAM_VALUE | 1 | val | 0,2-u64max |
| BIT_INFO | 1 | val | 0x1e,0xffffffffffffffff |
| BIT_INFO | 1 | val | 0x1e,0xffffffffffffffff |
| NOCHECK_CALL |
drivers/thermal/intel/intel_tcc.c intel_tcc_set_offset() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 418 |
| PARAM_VALUE | 1 | val | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &cdev->lock | ||
| HALF_LOCKED2 | &of->mutex |
arch/x86/events/intel/core.c check_msr() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 0-351,422-423,457,992-995,1014-1015,1664-1983,3237-3243,3348,4904-4905,5376-5887 |
| CAPPED_DATA | 0 | msr | 1 |
| DATA_SOURCE | 0 | msr | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
arch/x86/events/intel/core.c intel_pmu_reset() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | val | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags |
arch/x86/events/intel/core.c intel_pmu_reset() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | val | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags |
arch/x86/events/intel/core.c intel_pmu_reset() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | val | 0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &desc->request_mutex | ||
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | flags |
arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 372 |
| PARAM_VALUE | 1 | val | 16 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 373 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 374 |
| PARAM_VALUE | 1 | val | 4929510074778136576 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 372 |
| PARAM_VALUE | 1 | val | 0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 373 |
| PARAM_VALUE | 1 | val | 0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 374 |
| PARAM_VALUE | 1 | val | 0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | irq |
arch/x86/kernel/cpu/common.c ppin_init() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 78,3221291760 |
| PARAM_VALUE | 1 | val | 0,2-u64max |
| BIT_INFO | 1 | val | 0x2,0xffffffffffffffff |
| NOCHECK_CALL |
drivers/powercap/intel_rapl_common.c package_power_limit_irq_restore() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 434 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/powercap/intel_rapl_common.c power_limit_irq_save_cpu() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 434 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | flags |
arch/x86/kernel/acpi/sleep.c x86_acpi_suspend_lowlevel() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 416 |
arch/x86/kernel/cpu/bus_lock.c split_lock_verify_msr() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 51 |
| HALF_LOCKED2 | irq |
arch/x86/events/intel/p6.c p6_pmu_disable_event() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | val | 46 |
arch/x86/events/intel/p6.c p6_pmu_enable_event() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|
arch/x86/kernel/cpu/resctrl/core.c cache_alloc_hsw_probe() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 3216 |
| PARAM_VALUE | 1 | val | 1048575 |
arch/x86/kvm/msrs.c kvm_probe_user_return_msr() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | msr | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | _T->lock |
arch/x86/kvm/msrs.c kvm_set_user_return_msr() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| CAPPED_DATA | 1 | val | 1 |
| CAPPED_DATA | 1 | val | 1 |
| PREEMPT_ADD | |||
| UNITS | 1 | val | unit_byte |
arch/x86/kvm/msrs.c kvm_spec_ctrl_test_value() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 72 |
| DATA_SOURCE | 1 | val | $0 |
| UNITS | 1 | val | unit_byte |
| LOCK2 | flags |
arch/x86/kernel/cpu/mtrr/generic.c mtrr_wrmsr() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | val | 0 |
| DATA_SOURCE | 0 | msr | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | global &cache_disable_lock |
arch/x86/kernel/cpu/mce/inject.c check_hw_inj_possible() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 1025-1277,3221233665-3221234673 |
| PARAM_VALUE | 1 | val | 9223372036854775808 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL |
arch/x86/kernel/cpu/mce/inject.c check_hw_inj_possible() -> wrmsrq_safe()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | msr | 1025-1277,3221233665-3221234673 |
| PARAM_VALUE | 1 | val | 0 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL |