aarch64 vcpu setup requires a vcpu init step that takes a kvm_vcpu_init struct. So far we've just hard coded that to be one that requests no features and always uses KVM_ARM_TARGET_GENERIC_V8 for the target. We should have used the preferred target from the beginning, so we do that now, and we also provide an API to unit tests to select a target of their choosing and/or cpu features. Switching to the preferred target fixes running on platforms that don't like KVM_ARM_TARGET_GENERIC_V8. The new API will be made use of with some coming unit tests. v2: - rename vm_vcpu_add_memslots to vm_vcpu_add_with_memslots Andrew Jones (4): kvm: selftests: rename vm_vcpu_add to vm_vcpu_add_with_memslots kvm: selftests: introduce vm_vcpu_add kvm: selftests: introduce aarch64_vcpu_setup kvm: selftests: introduce aarch64_vcpu_add_default .../selftests/kvm/include/aarch64/processor.h | 4 +++ .../testing/selftests/kvm/include/kvm_util.h | 5 +-- .../selftests/kvm/lib/aarch64/processor.c | 33 +++++++++++++++---- tools/testing/selftests/kvm/lib/kvm_util.c | 29 +++++++++++++--- .../selftests/kvm/lib/x86_64/processor.c | 2 +- .../testing/selftests/kvm/x86_64/evmcs_test.c | 2 +- .../kvm/x86_64/kvm_create_max_vcpus.c | 2 +- tools/testing/selftests/kvm/x86_64/smm_test.c | 2 +- .../testing/selftests/kvm/x86_64/state_test.c | 2 +- 9 files changed, 63 insertions(+), 18 deletions(-) -- 2.20.1