Defined in 2 files as a function:

Referenced in 1 files:

Smatch caller information:

arch/x86/kvm/x86.c __get_kvmclock() -> get_kvmclock_base_ns()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->arch.xen.xen_lock
HALF_LOCKED2 &kvm->srcu

arch/x86/kvm/x86.c kvm_arch_init_vm() -> get_kvmclock_base_ns()

Type Parameter Key Value

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

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
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_guest_time_update() -> get_kvmclock_base_ns()

Type Parameter Key Value
LOCK2 &v->kvm->srcu
LOCK2 &v->mutex
LOCK2 flags
TYPE_LOCK (struct kvm)->srcu
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/x86.c kvm_synchronize_tsc() -> get_kvmclock_base_ns()

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

arch/x86/kvm/x86.c kvm_vm_ioctl_set_clock() -> get_kvmclock_base_ns()

Type Parameter Key Value
LOCK2 &kvm->arch.tsc_write_lock
LOCK2 irq
TYPE_LOCK (struct kvm_arch)->tsc_write_lock