Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 10 files:

Smatch caller information:

arch/x86/kvm/vmx/posted_intr.c pi_wakeup_handler() -> kvm_vcpu_wake_up()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 spinlock

arch/x86/kvm/svm/svm.c svm_complete_interrupt_delivery() -> kvm_vcpu_wake_up()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.apic->apicv_active 1
PARAM_VALUE 0 vcpu->mode s32min-0,2-s32max
DATA_SOURCE 0 vcpu $0
NOCHECK_CALL

arch/x86/kvm/vmx/tdx.c kvm_vcpu_trigger_posted_interrupt() -> kvm_vcpu_wake_up()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm 4096-ptr_max
PARAM_VALUE 0 vcpu->mode s32min-0,2-s32max
DATA_SOURCE 0 vcpu $0
NOCHECK_CALL

arch/x86/kvm/../../../virt/kvm/kvm_main.c __kvm_vcpu_kick() -> kvm_vcpu_wake_up()

Type Parameter Key Value
PARAM_VALUE 0 vcpu->kvm->mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 vcpu->kvm->mm->mmap_lock.first_waiter->type 0-1
DATA_SOURCE 0 vcpu $0
NOSPEC 0 vcpu->vcpu_id
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 vcpu->vcpu_id 0-s32max[c]
HALF_LOCKED2 0 &vcpu->kvm->arch.xen.shinfo_cache.lock

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_make_vcpu_request() -> kvm_vcpu_wake_up()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 1-u64max
DATA_SOURCE 0 vcpu $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

arch/x86/kvm/vmx/vmx.c kvm_vcpu_trigger_posted_interrupt() -> kvm_vcpu_wake_up()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm 4096-ptr_max
PARAM_VALUE 0 vcpu->mode s32min-0,2-s32max
CAPPED_DATA 0 vcpu 1
DATA_SOURCE 0 vcpu $0
NOCHECK_CALL

arch/x86/kvm/svm/avic.c avic_ga_log_notifier() -> kvm_vcpu_wake_up()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 1-1025,1027-1029,1031-u64max
DATA_SOURCE 0 vcpu r kvm_get_vcpu
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 _T->lock