#include "processor.h"
 #include "test_util.h"
 
-#define VCPU_ID 0
-
 static __thread volatile struct rseq __rseq = {
        .cpu_id = RSEQ_CPU_ID_UNINITIALIZED,
 };
 {
        int r, i, snapshot;
        struct kvm_vm *vm;
+       struct kvm_vcpu *vcpu;
        u32 cpu, rseq_cpu;
 
        /* Tell stdout not to buffer its content */
         * GUEST_SYNC, while concurrently migrating the process by setting its
         * CPU affinity.
         */
-       vm = vm_create_default(VCPU_ID, 0, guest_code);
+       vm = vm_create_with_one_vcpu(&vcpu, guest_code);
        ucall_init(vm, NULL);
 
        pthread_create(&migration_thread, NULL, migration_worker, 0);
 
        for (i = 0; !done; i++) {
-               vcpu_run(vm, VCPU_ID);
-               TEST_ASSERT(get_ucall(vm, VCPU_ID, NULL) == UCALL_SYNC,
+               vcpu_run(vm, vcpu->id);
+               TEST_ASSERT(get_ucall(vm, vcpu->id, NULL) == UCALL_SYNC,
                            "Guest failed?");
 
                /*