Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

arch/x86/kvm/vmx/tdx.c tdx_vcpu_get_cpuid_leaf() -> tdx_read_cpuid()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.apic->lapic_timer.timer.is_queued 1
PARAM_VALUE 0 vcpu->arch.apic->pending_events 1
PARAM_VALUE 0 vcpu->arch.apic->sipi_vector 0-u16max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->arch.pv.pv_unhalted 1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->ready 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.vm_type 5
PARAM_VALUE 0 vcpu->preempt_notifier.link->pprev 4096-ptr_max
PARAM_VALUE 0 vcpu->preempt_notifier.link.pprev 4096-ptr_max
PARAM_VALUE 2 sub_leaf 0
PARAM_VALUE 3 sub_leaf_set 0
PARAM_VALUE 4 entry_index 1050823258854244352
PARAM_VALUE 4 *entry_index s32min-256
PARAM_VALUE 5 out 4096-ptr_max
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
CAPPED_DATA 1 leaf 1
DATA_SOURCE 0 vcpu $0
DATA_SOURCE 1 leaf $1
DATA_SOURCE 4 entry_index $2
DATA_SOURCE 5 out $3
USER_DATA 5 out->eax 0-u32max[u]
USER_DATA 5 out->ebx 0-u32max[u]
USER_DATA 5 out->ecx 0-u32max[u]
USER_DATA 5 out->edx 0-u32max[u]
USER_DATA 5 out->flags 0-u32max[u]
USER_DATA 5 out->function 0-u32max[u]
USER_DATA 5 out->index 0-u32max[u]
USER_PTR 5 out
USER_PTR 5 out->padding
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex

arch/x86/kvm/vmx/tdx.c tdx_vcpu_get_cpuid_leaf() -> tdx_read_cpuid()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->arch.apic->lapic_timer.timer.is_queued 1
PARAM_VALUE 0 vcpu->arch.apic->pending_events 1
PARAM_VALUE 0 vcpu->arch.apic->sipi_vector 0-u16max
PARAM_VALUE 0 vcpu->arch.apic->vcpu->arch.pv.pv_unhalted 1
PARAM_VALUE 0 vcpu->arch.apic->vcpu->ready 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.vm_type 5
PARAM_VALUE 0 vcpu->preempt_notifier.link->pprev 4096-ptr_max
PARAM_VALUE 0 vcpu->preempt_notifier.link.pprev 4096-ptr_max
PARAM_VALUE 1 leaf 0-2147483646,2147483648-u32max
PARAM_VALUE 2 sub_leaf 0-s32max
PARAM_VALUE 3 sub_leaf_set 1
PARAM_VALUE 4 entry_index 1050823258854244352
PARAM_VALUE 4 *entry_index s32min-256
PARAM_VALUE 5 out 4096-u64max
PARAM_VALUE 5 out->eax 0,65536-16711680
PARAM_VALUE 5 out->ebx 0
PARAM_VALUE 5 out->ecx 0
PARAM_VALUE 5 out->edx 0
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
BUF_SIZE 0 vcpu s32min-(-2),1-s32max
CAPPED_DATA 1 leaf 1
DATA_SOURCE 0 vcpu $0
DATA_SOURCE 1 leaf $1
DATA_SOURCE 4 entry_index $2
DATA_SOURCE 5 out $3 [m]
USER_DATA 5 out->flags 0-u32max[u]
USER_DATA 5 out->function 0-u32max[u]
USER_DATA 5 out->index 0-u32max[u]
USER_PTR 5 out
USER_PTR 5 out->padding
LOCK2 &vcpu->mutex
TYPE_LOCK (struct kvm_vcpu)->mutex