Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.apic->lapic_timer.timer.flags 0-4294967295
PARAM_VALUE 0 vcpu->arch.apic->lapic_timer.timer.is_queued 1
PARAM_VALUE 0 vcpu->arch.apic->lapic_timer.timer.node.expires 0-s64max
PARAM_VALUE 0 vcpu->arch.apic->lapic_timer.timer_mode_mask 131072,393216
PARAM_VALUE 0 vcpu->arch.apic->sipi_vector 0-u16max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->arch.pv.pv_unhalted 1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->ready 1
PARAM_VALUE 0 vcpu->arch.tsc_offset_adjustment 0
PARAM_VALUE 0 vcpu->cpu 0
PARAM_VALUE 0 vcpu->kvm->arch.kvmclock_update_rs.lock.dep_map->name 0-255
PARAM_VALUE 0 vcpu->kvm->arch.tsc_write_lock.dep_map->name 0-255
PARAM_VALUE 0 vcpu->kvm->arch.tsc_write_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 vcpu->preempt_notifier.link->pprev 4096-ptr_max
PARAM_VALUE 0 vcpu->preempt_notifier.link.pprev 4096-ptr_max
PARAM_VALUE 5 user_set_tsc 1
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
CAPPED_DATA 0 vcpu 1
DATA_SOURCE 0 vcpu $0
DATA_SOURCE 3 ns r get_kvmclock_base_ns
PARAM_COMPARE 1 offset <= $2
PARAM_COMPARE 1 offset <= $2
PARAM_COMPARE 2 tsc >= $1
BIT_INFO 3 ns 0x0,0x7fffffffffffffff
BIT_INFO 3 ns 0x0,0x7fffffffffffffff
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
USER_DATA 1 offset 0-u64max
USER_DATA 4 matched 0-1
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_synchronize_tsc() -> __kvm_synchronize_tsc()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 vcpu->arch.emulate_ctxt->ops->get_cr 8265647234411626496
PARAM_VALUE 0 vcpu->kvm 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm->arch.apicv_update_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vcpu->kvm->arch.apicv_update_lock.first_waiter->type 0-1
PARAM_VALUE 0 vcpu->kvm->arch.tsc_write_lock.dep_map->name 0-255
PARAM_VALUE 0 vcpu->kvm->arch.tsc_write_lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 vcpu->preempt_notifier.ops->sched_in 0,9110675458964602880
PARAM_VALUE 0 vcpu->preempt_notifier.ops->sched_out 0,435091332528357376
PARAM_VALUE 0 vcpu->run->hypercall.ret 0-s32max,18446744071562067968-u64max
CAPPED_DATA 0 vcpu 1
DATA_SOURCE 0 vcpu $0
DATA_SOURCE 3 ns r get_kvmclock_base_ns
BIT_INFO 3 ns 0x0,0x7fffffffffffffff
BIT_INFO 3 ns 0x0,0x7fffffffffffffff
NOSPEC 0 vcpu->dirty_ring.index
NOSPEC 0 vcpu->vcpu_id
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
USER_DATA 0 vcpu->arch.l1_tsc_offset 0-u64max
USER_DATA 0 vcpu->arch.pv_time.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.pv_time.kvm->arch.noncoherent_dma_count.counter 0
USER_DATA 0 vcpu->arch.pv_time.kvm->arch.pre_fault_allowed 1[c]
USER_DATA 0 vcpu->arch.pv_time.kvm->arch.vm_type 0-1
USER_DATA 0 vcpu->arch.tsc_offset 0-u64max
USER_DATA 0 vcpu->arch.virtual_tsc_khz 1-u32max
USER_DATA 0 vcpu->arch.xen.runstate2_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.xen.runstate2_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 vcpu->arch.xen.runstate2_cache.kvm->arch.vm_type 0-255
USER_DATA 0 vcpu->arch.xen.runstate_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.xen.runstate_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 vcpu->arch.xen.runstate_cache.kvm->arch.vm_type 0-255
USER_DATA 0 vcpu->arch.xen.vcpu_info_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.xen.vcpu_info_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 vcpu->arch.xen.vcpu_info_cache.kvm->arch.vm_type 0-255
USER_DATA 0 vcpu->arch.xen.vcpu_time_info_cache.kvm->arch.has_private_mem 0[c]
USER_DATA 0 vcpu->arch.xen.vcpu_time_info_cache.kvm->arch.pre_fault_allowed 0-1
USER_DATA 0 vcpu->arch.xen.vcpu_time_info_cache.kvm->arch.vm_type 0-255
USER_DATA 0 vcpu->dirty_ring.index 1-16383[c]
USER_DATA 0 vcpu->vcpu_id 1-16383[c]
LOCK2 &kvm->arch.tsc_write_lock
LOCK2 flags
HALF_LOCKED2 0 &vcpu->mutex
TYPE_LOCK (struct kvm_arch)->tsc_write_lock