linux/tools/testing
Sean Christopherson 7fbc6038ac KVM: selftests: Cache CPUID in struct kvm_vcpu
Cache a vCPU's CPUID information in "struct kvm_vcpu" to allow fixing the
mess where tests, often unknowingly, modify the global/static "cpuid"
allocated by kvm_get_supported_cpuid().

Add vcpu_init_cpuid() to handle stuffing an entirely different CPUID
model, e.g. during vCPU creation or when switching to the Hyper-V enabled
CPUID model.  Automatically refresh the cache on vcpu_set_cpuid() so that
any adjustments made by KVM are always reflected in the cache.  Drop
vcpu_get_cpuid() entirely to force tests to use the cache, and to allow
adding e.g. vcpu_get_cpuid_entry() in the future without creating a
conflicting set of APIs where vcpu_get_cpuid() does KVM_GET_CPUID2, but
vcpu_get_cpuid_entry() does not.

Opportunistically convert the VMX nested state test and KVM PV test to
manipulating the vCPU's CPUID (because it's easy), but use
vcpu_init_cpuid() for the Hyper-V features test and "emulator error" test
to effectively retain their current behavior as they're less trivial to
convert.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Link: https://lore.kernel.org/r/20220614200707.3315957-19-seanjc@google.com
2022-07-13 18:14:15 -07:00
..
crypto/chacha20-s390 crypto: s390 - add crypto library interface for ChaCha20 2022-05-13 17:24:49 +08:00
cxl cxl/port: Reuse 'struct cxl_hdm' context for hdm init 2022-05-19 08:50:42 -07:00
fault-injection
ktest
kunit kunit: tool: Use qemu-system-i386 for i386 runs 2022-05-18 17:03:54 -06:00
memblock memblock tests: remove completed TODO item 2022-05-09 13:10:58 +03:00
nvdimm dax: introduce DAX_RECOVERY_WRITE dax access mode 2022-05-16 13:35:56 -07:00
radix-tree tools: Add kmem_cache_alloc_lru() 2022-04-22 14:24:28 -04:00
scatterlist tools/testing/scatterlist: add missing defines 2022-01-30 09:56:58 +02:00
selftests KVM: selftests: Cache CPUID in struct kvm_vcpu 2022-07-13 18:14:15 -07:00
vsock af_vsock: SOCK_SEQPACKET broken buffer test 2022-03-18 15:13:19 +00:00