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 |