Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

arch/x86/kvm/x86.c adjust_tsc_offset_host() -> kvm_scale_tsc()

Type Parameter Key Value
PARAM_VALUE 0 tsc 1-u64max
DATA_SOURCE 0 tsc $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 ratio unit_byte
HALF_LOCKED2 &vcpu->mutex

arch/x86/kvm/x86.c kvm_arch_tsc_set_attr() -> kvm_scale_tsc()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
UNITS 1 ratio unit_byte
LOCK2 &kvm->arch.tsc_write_lock
LOCK2 &vcpu->mutex
LOCK2 flags
TYPE_LOCK (struct kvm_arch)->tsc_write_lock
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c kvm_compute_l1_tsc_offset() -> kvm_scale_tsc()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 ratio unit_byte
HALF_LOCKED2 &kvm->arch.tsc_write_lock
HALF_LOCKED2 flags

arch/x86/kvm/x86.c kvm_guest_time_update() -> kvm_scale_tsc()

Type Parameter Key Value
PARAM_VALUE 0 tsc 1-u32max
DATA_SOURCE 0 tsc r get_cpu_tsc_khz
UNITS 1 ratio unit_byte
LOCK2 &v->kvm->srcu
LOCK2 &v->mutex
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c kvm_read_l1_tsc() -> kvm_scale_tsc()

Type Parameter Key Value
DATA_SOURCE 0 tsc $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 1 ratio unit_byte
HALF_LOCKED2 &vcpu->kvm->srcu
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 flags

arch/x86/kvm/msrs.c kvm_get_msr_common() -> kvm_scale_tsc()

Type Parameter Key Value
UNITS 1 ratio unit_byte