Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 13 files:

Smatch caller information:

drivers/cpufreq/amd-pstate-ut.c amd_pstate_ut_check_perf() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
PARAM_VALUE 1 msr_no 3221291696
PARAM_VALUE 2 q 52031790895661056
PARAM_VALUE 2 *q 0
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit

drivers/powercap/intel_rapl_msr.c rapl_msr_read_raw() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 2 q 1135461217805950992,1556226615867625488,2919078328954413072,6327959690349334544
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING

drivers/platform/x86/intel/speed_select_if/isst_if_common.c isst_if_msr_cmd_req() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
PARAM_VALUE 2 q 4985025185555148800
CAPPED_DATA 0 cpu 1
CAPPED_DATA 1 msr_no 1
CONSTRAINT 0 cpu <3035
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 cpu 0-8192[c]
USER_DATA 1 msr_no 0-u32max[c]

drivers/cpufreq/intel_pstate.c core_get_max_pstate() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 1612
PARAM_VALUE 2 q 4348515303733915648
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &policy->rwsem

drivers/cpufreq/intel_pstate.c core_get_tdp_ratio() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 1611
PARAM_VALUE 2 q 8396964653182799872
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &policy->rwsem

drivers/cpufreq/intel_pstate.c core_get_tdp_ratio() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-8192
PARAM_VALUE 1 msr_no 1608
PARAM_VALUE 2 q 897999975840751616
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &policy->rwsem

drivers/cpufreq/amd-pstate.c msr_init_perf() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 3221291696
PARAM_VALUE 2 q 642725431088840704

arch/x86/events/intel/pt.c pt_init() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
PARAM_VALUE 1 msr_no 1392
PARAM_VALUE 2 q 7910484099144622080
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit

drivers/thermal/intel/intel_tcc.c intel_tcc_get_offset() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 418
PARAM_VALUE 2 q 7578815552006909952
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex

drivers/thermal/intel/intel_tcc.c intel_tcc_get_temp() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-s32max
PARAM_VALUE 1 msr_no 412,433
PARAM_VALUE 2 q 5348303638595284992
DATA_SOURCE 0 cpu $0
FUZZY_MAX 1 msr_no 433
BIT_INFO 1 msr_no 0x190,0x1bd
HARD_MAX 1 msr_no 433
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &tzd->lock
HALF_LOCKED2 &zone->lock
TYPE_LOCK (struct thermal_zone_device)->lock

drivers/thermal/intel/intel_tcc.c intel_tcc_get_tjmax() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-s32max
PARAM_VALUE 1 msr_no 418
PARAM_VALUE 2 q 3877480480340996096
DATA_SOURCE 0 cpu $0
STR_LEN 0 cpu (-1),8-9,11-29,31-34,38
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &tzd->lock

drivers/thermal/intel/intel_tcc.c intel_tcc_set_offset() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 418
PARAM_VALUE 2 q 2855065764411531264
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cdev->lock
HALF_LOCKED2 &of->mutex

drivers/hwmon/via-cputemp.c cpu0_vid_show() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 2 q 2236603773019840512
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cpu unit_array_size
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/hwmon/via-cputemp.c temp_show() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 2 q 1989396174735585280
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cpu unit_array_size
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/hwmon/via-cputemp.c via_cputemp_probe() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 4457,5155
PARAM_VALUE 2 q 5510900816043610112
FUZZY_MAX 1 msr_no 5155
BIT_INFO 1 msr_no 0x1021,0x156b
HARD_MAX 1 msr_no 5155
RX_PATH
TASK_NOT_RUNNING
UNITS 0 cpu unit_array_size

arch/x86/kernel/acpi/cppc.c amd_get_highest_perf() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 3221291696
PARAM_VALUE 2 q 6353388111568838656
DATA_SOURCE 0 cpu $0
RX_PATH
TASK_NOT_RUNNING

arch/x86/kernel/acpi/cppc.c cpc_read_ffh() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 2 q 4096-ptr_max
PARAM_VALUE 2 *q 0
DATA_SOURCE 0 cpu $0
DATA_SOURCE 2 q $2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pcc_ss_data->pcc_lock

arch/x86/kernel/acpi/cppc.c cpc_write_ffh() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 2 q 8134025794728919040
DATA_SOURCE 0 cpu $0

drivers/hwmon/coretemp.c adjust_tjmax() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 23
PARAM_VALUE 2 q 8524850112515047424
DATA_SOURCE 0 cpu $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tdata->update_lock

drivers/hwmon/coretemp.c adjust_tjmax() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 238
PARAM_VALUE 2 q 8524850112515047424
DATA_SOURCE 0 cpu $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tdata->update_lock

drivers/hwmon/coretemp.c create_core_data() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 412,433
PARAM_VALUE 2 q 5895234909320859648
DATA_SOURCE 0 cpu $1
BIT_INFO 0 cpu 0x0,0x7fffffff
BIT_INFO 1 msr_no 0x190,0x1ff
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

drivers/hwmon/coretemp.c get_tjmax() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 418
PARAM_VALUE 2 q 8927702993291190272
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tdata->update_lock

drivers/hwmon/coretemp.c get_ttarget() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 1 msr_no 418
PARAM_VALUE 2 q 5051924032700628992
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &tdata->update_lock

arch/x86/kernel/msr.c msr_read() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-1048575
PARAM_VALUE 1 msr_no 0-1000000000
PARAM_VALUE 2 q 1515733896886472704
DATA_SOURCE 0 cpu r iminor
USER_DATA 1 msr_no 0-1000000000

arch/x86/events/intel/uncore_discovery.c uncore_discovery_msr() -> rdmsrq_safe_on_cpu()

Type Parameter Key Value
PARAM_VALUE 0 cpu 0-64
PARAM_VALUE 1 msr_no 1-u32max
PARAM_VALUE 2 q 8485726756814962688
CAPPED_DATA 0 cpu 1
DATA_SOURCE 0 cpu r find_next_bit