Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 10 files:
- arch/arm64/kvm/mmio.c, line 236
- arch/loongarch/kvm/exit.c
- arch/loongarch/kvm/intc/ipi.c, line 137
- arch/mips/kvm/emulate.c, line 1497
- arch/powerpc/kvm/book3s.c, line 946
- arch/powerpc/kvm/powerpc.c, line 1299
- arch/riscv/kvm/vcpu_insn.c, line 474
- arch/x86/kvm/vmx/tdx.c, line 1428
- arch/x86/kvm/x86.c
- virt/kvm/kvm_main.c, line 5987
Smatch caller information:
arch/x86/kvm/x86.c emulator_pio_in_out() -> kvm_io_bus_read()
| 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 | 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 | 1 | bus_idx | 1 |
| BUF_SIZE | 0 | vcpu | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | vcpu | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | vcpu->arch.sev_pio_data | s32min,(-1),1-65536 |
| BUF_SIZE | 4 | val | s32min,(-1),1-65536 |
| BUF_SIZE | 4 | val | s32min,(-1),1-65536 |
| DATA_SOURCE | 0 | vcpu | $0 |
| DATA_SOURCE | 2 | addr | $2 |
| DATA_SOURCE | 3 | len | $1 |
| DATA_SOURCE | 4 | val | $3 [m] |
| USER_DATA | 0 | vcpu->arch.cr8 | 0-14 |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_DATA | 0 | *vcpu->arch.sev_pio_data | s64min-s64max |
| USER_DATA | 4 | *val | s64min-s64max |
| NO_OVERFLOW_SIMPLE | 0 | vcpu->arch.pio.count | |
| NO_OVERFLOW_SIMPLE | 0 | vcpu->arch.pio.size | |
| NO_OVERFLOW_SIMPLE | 0 | vcpu->arch.sev_pio_count | |
| NO_OVERFLOW_SIMPLE | 3 | len | |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end | |
| USER_PTR | 0 | vcpu->arch.pdptrs | |
| HALF_LOCKED2 | 0 | &vcpu->kvm->srcu | |
| HALF_LOCKED2 | 0 | &vcpu->mutex |
arch/x86/kvm/x86.c vcpu_mmio_read() -> kvm_io_bus_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.apic | 0,4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->arch.emulate_ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm | 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 | bus_idx | 0 |
| PARAM_VALUE | 3 | len | s32min-8 |
| BUF_SIZE | 0 | vcpu | (-1),1-s32max |
| BUF_SIZE | 0 | vcpu | (-1),1-s32max |
| BUF_SIZE | 4 | val | s32min,(-1),1-65536 |
| BUF_SIZE | 4 | val | s32min,(-1),1-65536 |
| CAPPED_DATA | 3 | len | 1 |
| DATA_SOURCE | 0 | vcpu | $0 |
| DATA_SOURCE | 2 | addr | $1 [m] |
| DATA_SOURCE | 4 | val | $3 [m] |
| USER_DATA | 0 | *vcpu->arch.emulate_ctxt->fetch.end | 0-255 |
| USER_DATA | 4 | *val | s64min-s64max |
| UNITS | 2 | addr | unit_byte |
| UNITS | 3 | len | unit_byte |
| USER_PTR | 0 | vcpu->arch.emulate_ctxt->fetch.end | |
| USER_PTR | 4 | val |
arch/x86/kvm/vmx/tdx.c tdx_mmio_read() -> kvm_io_bus_read()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | vcpu | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm | 4096-ptr_max |
| PARAM_VALUE | 0 | vcpu->kvm->arch.vm_type | 5 |
| PARAM_VALUE | 1 | bus_idx | 0 |
| PARAM_VALUE | 3 | len | 1-2,4,8 |
| PARAM_VALUE | 4 | val | 3394733873019658240 |
| BUF_SIZE | 4 | val | 8 |
| CAPPED_DATA | 2 | addr | 1 |
| CAPPED_DATA | 2 | addr | 1 |
| DATA_SOURCE | 0 | vcpu | $0 |
| DATA_SOURCE | 2 | addr | $1 |
| DATA_SOURCE | 3 | len | $2 |
| UNITS | 2 | addr | unit_byte |
| UNITS | 3 | len | unit_byte |