Module cpuid

Source

StructsΒ§

CpuIdContext
All of the context required to emulate the CPUID instruction.

EnumsΒ§

Error

ConstantsΒ§

AMD_EBX πŸ”’
AMD_ECX πŸ”’
AMD_EDX πŸ”’
EAX_CORE_TEMP
EAX_CORE_TYPE_ATOM πŸ”’
EAX_CORE_TYPE_CORE πŸ”’
EAX_CORE_TYPE_SHIFT
EAX_CPU_CORES_SHIFT
EAX_HWP_EPP_SHIFT
EAX_HWP_NOTIFICATION_SHIFT
EAX_HWP_SHIFT
EAX_ITMT_SHIFT
EAX_PKG_TEMP
EBX_CLFLUSH_CACHELINE
EBX_CLFLUSH_SIZE_SHIFT
EBX_CPUID_SHIFT
EBX_CPU_COUNT_SHIFT
ECX_EPB_SHIFT
ECX_HCFC_PERF_SHIFT
ECX_HYPERVISOR_SHIFT
ECX_TOPO_CORE_TYPE
ECX_TOPO_SMT_TYPE
ECX_TOPO_TYPE_SHIFT
ECX_TSC_DEADLINE_TIMER_SHIFT
ECX_X2APIC_SHIFT
EDX_HTT_SHIFT
EDX_HYBRID_CPU_SHIFT
INTEL_EBX πŸ”’
INTEL_ECX πŸ”’
INTEL_EDX πŸ”’
MANUFACTURER_ID_FUNCTION πŸ”’

FunctionsΒ§

adjust_cpuid
Adjust a CPUID instruction result to return values that work with crosvm.
cpu_manufacturer
filter_cpuid
Adjust all the entries in cpuid based on crosvm’s cpuid logic and ctx. Calls adjust_cpuid on each entry in cpuid, and adds any entries that should exist and are missing from cpuid.
setup_cpuid
Sets up the cpuid entries for the given vcpu. Can fail if there are too many CPUs specified or if an ioctl returns an error.

Type AliasesΒ§

Result