Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 10 files:

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