From: Ackerley Tng <ackerley...@google.com>

These functions will be used in private (guest mem) migration tests.

Signed-off-by: Ackerley Tng <ackerley...@google.com>
Signed-off-by: Ryan Afranji <afra...@google.com>
---
 .../testing/selftests/kvm/include/kvm_util.h  | 13 +++++
 .../selftests/kvm/x86/sev_migrate_tests.c     | 48 +++++++------------
 2 files changed, 30 insertions(+), 31 deletions(-)

diff --git a/tools/testing/selftests/kvm/include/kvm_util.h 
b/tools/testing/selftests/kvm/include/kvm_util.h
index 68faa658b69e..80375d6456a5 100644
--- a/tools/testing/selftests/kvm/include/kvm_util.h
+++ b/tools/testing/selftests/kvm/include/kvm_util.h
@@ -378,6 +378,19 @@ static inline void vm_enable_cap(struct kvm_vm *vm, 
uint32_t cap, uint64_t arg0)
        vm_ioctl(vm, KVM_ENABLE_CAP, &enable_cap);
 }
 
+static inline int __vm_migrate_from(struct kvm_vm *dst, struct kvm_vm *src)
+{
+       return __vm_enable_cap(dst, KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM, src->fd);
+}
+
+static inline void vm_migrate_from(struct kvm_vm *dst, struct kvm_vm *src)
+{
+       int ret;
+
+       ret = __vm_migrate_from(dst, src);
+       TEST_ASSERT(!ret, "Migration failed, ret: %d, errno: %d\n", ret, errno);
+}
+
 static inline void vm_set_memory_attributes(struct kvm_vm *vm, uint64_t gpa,
                                            uint64_t size, uint64_t attributes)
 {
diff --git a/tools/testing/selftests/kvm/x86/sev_migrate_tests.c 
b/tools/testing/selftests/kvm/x86/sev_migrate_tests.c
index 0a6dfba3905b..905cdf9b39b1 100644
--- a/tools/testing/selftests/kvm/x86/sev_migrate_tests.c
+++ b/tools/testing/selftests/kvm/x86/sev_migrate_tests.c
@@ -56,20 +56,6 @@ static struct kvm_vm *aux_vm_create(bool with_vcpus)
        return vm;
 }
 
-static int __sev_migrate_from(struct kvm_vm *dst, struct kvm_vm *src)
-{
-       return __vm_enable_cap(dst, KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM, src->fd);
-}
-
-
-static void sev_migrate_from(struct kvm_vm *dst, struct kvm_vm *src)
-{
-       int ret;
-
-       ret = __sev_migrate_from(dst, src);
-       TEST_ASSERT(!ret, "Migration failed, ret: %d, errno: %d", ret, errno);
-}
-
 static void test_sev_migrate_from(bool es)
 {
        struct kvm_vm *src_vm;
@@ -81,13 +67,13 @@ static void test_sev_migrate_from(bool es)
                dst_vms[i] = aux_vm_create(true);
 
        /* Initial migration from the src to the first dst. */
-       sev_migrate_from(dst_vms[0], src_vm);
+       vm_migrate_from(dst_vms[0], src_vm);
 
        for (i = 1; i < NR_MIGRATE_TEST_VMS; i++)
-               sev_migrate_from(dst_vms[i], dst_vms[i - 1]);
+               vm_migrate_from(dst_vms[i], dst_vms[i - 1]);
 
        /* Migrate the guest back to the original VM. */
-       ret = __sev_migrate_from(src_vm, dst_vms[NR_MIGRATE_TEST_VMS - 1]);
+       ret = __vm_migrate_from(src_vm, dst_vms[NR_MIGRATE_TEST_VMS - 1]);
        TEST_ASSERT(ret == -1 && errno == EIO,
                    "VM that was migrated from should be dead. ret %d, errno: 
%d", ret,
                    errno);
@@ -109,7 +95,7 @@ static void *locking_test_thread(void *arg)
 
        for (i = 0; i < NR_LOCK_TESTING_ITERATIONS; ++i) {
                j = i % NR_LOCK_TESTING_THREADS;
-               __sev_migrate_from(input->vm, input->source_vms[j]);
+               __vm_migrate_from(input->vm, input->source_vms[j]);
        }
 
        return NULL;
@@ -146,7 +132,7 @@ static void test_sev_migrate_parameters(void)
 
        vm_no_vcpu = vm_create_barebones();
        vm_no_sev = aux_vm_create(true);
-       ret = __sev_migrate_from(vm_no_vcpu, vm_no_sev);
+       ret = __vm_migrate_from(vm_no_vcpu, vm_no_sev);
        TEST_ASSERT(ret == -1 && errno == EINVAL,
                    "Migrations require SEV enabled. ret %d, errno: %d", ret,
                    errno);
@@ -160,25 +146,25 @@ static void test_sev_migrate_parameters(void)
        sev_es_vm_init(sev_es_vm_no_vmsa);
        __vm_vcpu_add(sev_es_vm_no_vmsa, 1);
 
-       ret = __sev_migrate_from(sev_vm, sev_es_vm);
+       ret = __vm_migrate_from(sev_vm, sev_es_vm);
        TEST_ASSERT(
                ret == -1 && errno == EINVAL,
                "Should not be able migrate to SEV enabled VM. ret: %d, errno: 
%d",
                ret, errno);
 
-       ret = __sev_migrate_from(sev_es_vm, sev_vm);
+       ret = __vm_migrate_from(sev_es_vm, sev_vm);
        TEST_ASSERT(
                ret == -1 && errno == EINVAL,
                "Should not be able migrate to SEV-ES enabled VM. ret: %d, 
errno: %d",
                ret, errno);
 
-       ret = __sev_migrate_from(vm_no_vcpu, sev_es_vm);
+       ret = __vm_migrate_from(vm_no_vcpu, sev_es_vm);
        TEST_ASSERT(
                ret == -1 && errno == EINVAL,
                "SEV-ES migrations require same number of vCPUS. ret: %d, 
errno: %d",
                ret, errno);
 
-       ret = __sev_migrate_from(vm_no_vcpu, sev_es_vm_no_vmsa);
+       ret = __vm_migrate_from(vm_no_vcpu, sev_es_vm_no_vmsa);
        TEST_ASSERT(
                ret == -1 && errno == EINVAL,
                "SEV-ES migrations require UPDATE_VMSA. ret %d, errno: %d",
@@ -331,14 +317,14 @@ static void test_sev_move_copy(void)
 
        sev_mirror_create(mirror_vm, sev_vm);
 
-       sev_migrate_from(dst_mirror_vm, mirror_vm);
-       sev_migrate_from(dst_vm, sev_vm);
+       vm_migrate_from(dst_mirror_vm, mirror_vm);
+       vm_migrate_from(dst_vm, sev_vm);
 
-       sev_migrate_from(dst2_vm, dst_vm);
-       sev_migrate_from(dst2_mirror_vm, dst_mirror_vm);
+       vm_migrate_from(dst2_vm, dst_vm);
+       vm_migrate_from(dst2_mirror_vm, dst_mirror_vm);
 
-       sev_migrate_from(dst3_mirror_vm, dst2_mirror_vm);
-       sev_migrate_from(dst3_vm, dst2_vm);
+       vm_migrate_from(dst3_mirror_vm, dst2_mirror_vm);
+       vm_migrate_from(dst3_vm, dst2_vm);
 
        kvm_vm_free(dst_vm);
        kvm_vm_free(sev_vm);
@@ -360,8 +346,8 @@ static void test_sev_move_copy(void)
 
        sev_mirror_create(mirror_vm, sev_vm);
 
-       sev_migrate_from(dst_mirror_vm, mirror_vm);
-       sev_migrate_from(dst_vm, sev_vm);
+       vm_migrate_from(dst_mirror_vm, mirror_vm);
+       vm_migrate_from(dst_vm, sev_vm);
 
        kvm_vm_free(mirror_vm);
        kvm_vm_free(dst_mirror_vm);
-- 
2.49.0.1101.gccaa498523-goog


Reply via email to