Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- arch/x86/kvm/msrs.c, line 960
- arch/x86/kvm/svm/avic.c, line 862
- arch/x86/kvm/svm/svm.c
- arch/x86/kvm/vmx/vmx.c
- arch/x86/kvm/x86.c
Smatch caller information:
arch/x86/kvm/x86.c complete_emulated_io() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->____srcu_idx | 0-1 |
| 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->vcpu->arch.pv.pv_unhalted | 1 |
| 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.apic->vcpu->ready | 1 |
| PARAM_VALUE | 0 | vcpu->arch.complete_userspace_io | 0 |
| PARAM_VALUE | 0 | vcpu->arch.exception_from_userspace | 0 |
| PARAM_VALUE | 0 | vcpu->arch.guest_fpu.fpstate | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.guest_fpu.fpstate->in_use | 1 |
| PARAM_VALUE | 0 | vcpu->arch.tsc_offset_adjustment | 0 |
| PARAM_VALUE | 0 | vcpu->cpu | 0 |
| 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.kvmclock_update_rs.lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->kvm->online_vcpus.counter | (-2147483647)-s32max |
| PARAM_VALUE | 0 | vcpu->kvm->srcu.srcu_ctrp | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | vcpu->mutex.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | vcpu->mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | vcpu->mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->mutex.wait_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 | 0 | vcpu->run | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->flags | 0 |
| PARAM_VALUE | 0 | vcpu->run->hyperv.type | 1-3 |
| PARAM_VALUE | 0 | vcpu->vcpu_idx | s32min-2147483646 |
| PARAM_VALUE | 1 | emulation_type | 1 |
| BUF_SIZE | 0 | vcpu | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | vcpu | s32min-(-2),1-s32max |
| CAPPED_DATA | 0 | vcpu | 1 |
| CAPPED_DATA | 0 | vcpu->kvm | 1 |
| CAPPED_DATA | 0 | vcpu->kvm->mm | 1 |
| CAPPED_DATA | 0 | vcpu->kvm->srcu.srcu_ctrp | 1 |
| CAPPED_DATA | 0 | vcpu->vcpu_idx | 1 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 0 | vcpu->arch.cr8 | 0-14 |
| USER_PTR | 0 | vcpu->arch.pdptrs | |
| LOCK2 | 0 | &vcpu->kvm->srcu | |
| LOCK2 | 0 | &vcpu->mutex | |
| TYPE_LOCK | (struct kvm)->srcu | ||
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
arch/x86/kvm/x86.c handle_ud() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 1 | emulation_type | 2,16 |
| DATA_SOURCE | 0 | vcpu | $0 |
| FUZZY_MAX | 1 | emulation_type | 16 |
| BIT_INFO | 1 | emulation_type | 0x0,0x12 |
| HARD_MAX | 1 | emulation_type | 16 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end |
arch/x86/kvm/svm/svm.c __svm_skip_emulated_instruction() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 1 | emulation_type | 4,516,66052-16712196 |
| DATA_SOURCE | 0 | vcpu | $0 |
| DATA_SOURCE | 1 | emulation_type | $1 |
| BIT_INFO | 1 | emulation_type | 0x4,0xff0204 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.intercept_message | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.reserved2 | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.reserved3 | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.reserved4 | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.virtualization_fault_information | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.vtl_ret_actions |
arch/x86/kvm/svm/svm.c emulate_on_interception() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->dst.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->fetch.data | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src2.valptr | 0-255 |
| PARAM_VALUE | 1 | emulation_type | 0 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end |
arch/x86/kvm/svm/svm.c gp_interception() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ad_bytes | 2,4,8 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->dst->valptr | 0-255 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->dst.addr.mem.seg | 0-255 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->dst.bytes | 1-2,4,6,8,10,16,18,32,34 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->dst.data | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->dst.mm_val | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->dst.type | 0-1,3-7 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->dst.val | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->dst.val64 | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->dst.valptr | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->gpa_available | 0 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->have_exception | 0 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->interruptibility | 0 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->io_read.end | 0 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->io_read.pos | 0 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->lock_prefix | 1 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->mem_read.end | 0 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memop.addr.mem.seg | 3 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memop.addr.mm | 0-7 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memop.addr.xmm | 0-15 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memop.data | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memop.mm_val | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memop.type | 0-1,4-7 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memop.val | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memop.val64 | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memop.valptr | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memopp | 0,4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memopp->addr.mem.seg | 0-255 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memopp->addr.mm | 0-7 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memopp->addr.xmm | 0-255 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memopp->bytes | 1-2,4,6,8,10,16,18,32,34 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->memopp->type | 0-1,4-7 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->mode | 0-4 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->modrm_mod | 0-3 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->modrm_reg | 0-15 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->modrm_rm | 0-15 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->modrm_seg | 2-3 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->op_bytes | 2,4,8,16,32 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->opcode_len | 1-3 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->perm_ok | 0 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->rip_relative | 1 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->seg_override | 3 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src->valptr | 0-255 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src.addr.mem.seg | 0-255 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src.bytes | 1-2,4,6,8,10,16,18,32,34 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src.data | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src.mm_val | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src.type | 0-1,3-7 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src.val | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src.val64 | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src.valptr | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src2->valptr | 0-255 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src2.addr.mem.seg | 0-255 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src2.bytes | 1-2,4,6,8,10,16,18,32,34 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src2.data | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src2.mm_val | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src2.type | 0-1,3-7 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src2.val | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src2.val64 | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->src2.valptr | 0-u32max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->arch.gva_walk.cpu_role.base.cr0_wp | 0-1 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->arch.mmu->cpu_role.base.cr0_wp | 0-1 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->arch.mmu->pkru_mask | 0-4294967295 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->arch.ngpa_walk.cpu_role.base.cr0_wp | 0-1 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->arch.ngpa_walk.pkru_mask | 0-4294967295 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->kvm->vm_bugged | 1 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->kvm->vm_dead | 0-1 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->last_used_slot->as_id | 0-1 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->last_used_slot->base_gfn | 0-s64max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->last_used_slot->gmem.pgoff | 0-2251799813685247 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->last_used_slot->id | 0-32766 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->vcpu->last_used_slot->npages | 0-4503599627370495 |
| PARAM_VALUE | 0 | vcpu->arch.emulate_regs_need_sync_from_vcpu | 0 |
| PARAM_VALUE | 0 | vcpu->arch.regs_avail | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->dst.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->fetch.data | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src2.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->vcpu->arch.ngpa_walk->permissions | 0-u16max |
| PARAM_VALUE | 1 | emulation_type | 33 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
arch/x86/kvm/svm/svm.c invlpg_interception() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->dst.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->fetch.data | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src2.valptr | 0-255 |
| PARAM_VALUE | 1 | emulation_type | 0 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end |
arch/x86/kvm/svm/svm.c io_interception() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->dst.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->fetch.data | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src2.valptr | 0-255 |
| PARAM_VALUE | 1 | emulation_type | 0 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end |
arch/x86/kvm/msrs.c complete_emulated_insn_gp() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->____srcu_idx | 0-1 |
| PARAM_VALUE | 0 | vcpu->arch.apic->lapic_timer.timer.is_queued | 1 |
| PARAM_VALUE | 0 | vcpu->arch.apic->vcpu->arch.pv.pv_unhalted | 1 |
| 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.apic->vcpu->ready | 1 |
| PARAM_VALUE | 0 | vcpu->arch.complete_userspace_io | 0 |
| PARAM_VALUE | 0 | vcpu->arch.exception_from_userspace | 0 |
| PARAM_VALUE | 0 | vcpu->arch.guest_fpu.fpstate | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.guest_fpu.fpstate->in_use | 1 |
| PARAM_VALUE | 0 | vcpu->arch.tsc_offset_adjustment | 0 |
| PARAM_VALUE | 0 | vcpu->cpu | 0 |
| 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.kvmclock_update_rs.lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->kvm->srcu.srcu_ctrp | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->mutex.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->mutex.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | vcpu->mutex.first_waiter->list.prev->prev | 5159360019465732096 |
| PARAM_VALUE | 0 | vcpu->mutex.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | vcpu->mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | vcpu->preempt_notifier.link->pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->preempt_notifier.link.pprev | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->flags | 0 |
| PARAM_VALUE | 0 | vcpu->vcpu_idx | s32min-2147483646 |
| PARAM_VALUE | 1 | emulation_type | 133 |
| BUF_SIZE | 0 | vcpu | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | vcpu | s32min-(-2),1-s32max |
| CAPPED_DATA | 0 | vcpu | 1 |
| CAPPED_DATA | 0 | vcpu->kvm | 1 |
| CAPPED_DATA | 0 | vcpu->kvm->mm | 1 |
| CAPPED_DATA | 0 | vcpu->kvm->srcu.srcu_ctrp | 1 |
| CAPPED_DATA | 0 | vcpu->vcpu_idx | 1 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 0 | vcpu->arch.cr8 | 0-14 |
| USER_PTR | 0 | vcpu->arch.pdptrs | |
| LOCK2 | 0 | &vcpu->kvm->srcu | |
| LOCK2 | 0 | &vcpu->mutex | |
| TYPE_LOCK | (struct kvm)->srcu | ||
| TYPE_LOCK | (struct kvm_vcpu)->mutex |
arch/x86/kvm/vmx/vmx.c handle_apic_access() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.nested_run_pending | 0 |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 1 | emulation_type | 0 |
| DATA_SOURCE | 0 | vcpu | $0 |
arch/x86/kvm/vmx/vmx.c handle_desc() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.nested_run_pending | 0 |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 1 | emulation_type | 0 |
| DATA_SOURCE | 0 | vcpu | $0 |
arch/x86/kvm/vmx/vmx.c handle_ept_violation() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.nested_run_pending | 0 |
| PARAM_VALUE | 0 | vcpu->arch.regs_avail | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 1 | emulation_type | 0 |
| DATA_SOURCE | 0 | vcpu | $0 |
arch/x86/kvm/vmx/vmx.c handle_exception_nmi() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.nested_run_pending | 0 |
| PARAM_VALUE | 0 | vcpu->arch.regs_avail | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 1 | emulation_type | 32 |
| DATA_SOURCE | 0 | vcpu | $0 |
arch/x86/kvm/vmx/vmx.c handle_invalid_guest_state() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.nested_run_pending | 0 |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->debug.arch.exception | 1,3 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.flags | 0-1 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.insn_size | 1-255 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.ndata | 6,8,10,12 |
| PARAM_VALUE | 0 | vcpu->run->emulation_failure.suberror | 1 |
| PARAM_VALUE | 1 | emulation_type | 0 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_DATA | 0 | *vcpu->arch.hyperv->vp_assist_page.intercept_message | 0-255 |
| USER_DATA | 0 | *vcpu->arch.hyperv->vp_assist_page.reserved2 | 0-255 |
| USER_DATA | 0 | *vcpu->arch.hyperv->vp_assist_page.reserved3 | 0-255 |
| USER_DATA | 0 | *vcpu->arch.hyperv->vp_assist_page.reserved4 | 0-255 |
| USER_DATA | 0 | *vcpu->arch.hyperv->vp_assist_page.virtualization_fault_information | 0-255 |
| USER_DATA | 0 | *vcpu->arch.hyperv->vp_assist_page.vtl_ret_actions | 0-255 |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.intercept_message | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.reserved2 | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.reserved3 | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.reserved4 | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.virtualization_fault_information | |
| USER_PTR | 0 | vcpu->arch.hyperv->vp_assist_page.vtl_ret_actions |
arch/x86/kvm/vmx/vmx.c handle_io() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.nested_run_pending | 0 |
| PARAM_VALUE | 0 | vcpu->arch.regs_avail | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 1 | emulation_type | 0 |
| DATA_SOURCE | 0 | vcpu | $0 |
arch/x86/kvm/vmx/vmx.c handle_rmode_exception() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.nested_run_pending | 0 |
| PARAM_VALUE | 0 | vcpu->arch.regs_avail | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 1 | emulation_type | 0 |
| DATA_SOURCE | 0 | vcpu | $0 |
arch/x86/kvm/vmx/vmx.c skip_emulated_instruction() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 1 | emulation_type | 4 |
| DATA_SOURCE | 0 | vcpu | $0 |
arch/x86/kvm/svm/avic.c avic_unaccelerated_access_interception() -> kvm_emulate_instruction()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->run->hypercall.ret | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->dst.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->fetch.data | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src.valptr | 0-255 |
| PARAM_VALUE | 0 | *vcpu->arch.emulate_ctxt->src2.valptr | 0-255 |
| PARAM_VALUE | 1 | emulation_type | 0 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| BUF_SIZE | 0 | vcpu | (-1),7720 |
| DATA_SOURCE | 0 | vcpu | $0 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end |