diff options
Diffstat (limited to 'tools/testing/selftests/kvm/lib/kvm_util.c')
-rw-r--r-- | tools/testing/selftests/kvm/lib/kvm_util.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c index b52cfdefecbf..efa0aad8b3c6 100644 --- a/tools/testing/selftests/kvm/lib/kvm_util.c +++ b/tools/testing/selftests/kvm/lib/kvm_util.c | |||
@@ -1121,6 +1121,22 @@ int _vcpu_run(struct kvm_vm *vm, uint32_t vcpuid) | |||
1121 | return rc; | 1121 | return rc; |
1122 | } | 1122 | } |
1123 | 1123 | ||
1124 | void vcpu_run_complete_io(struct kvm_vm *vm, uint32_t vcpuid) | ||
1125 | { | ||
1126 | struct vcpu *vcpu = vcpu_find(vm, vcpuid); | ||
1127 | int ret; | ||
1128 | |||
1129 | TEST_ASSERT(vcpu != NULL, "vcpu not found, vcpuid: %u", vcpuid); | ||
1130 | |||
1131 | vcpu->state->immediate_exit = 1; | ||
1132 | ret = ioctl(vcpu->fd, KVM_RUN, NULL); | ||
1133 | vcpu->state->immediate_exit = 0; | ||
1134 | |||
1135 | TEST_ASSERT(ret == -1 && errno == EINTR, | ||
1136 | "KVM_RUN IOCTL didn't exit immediately, rc: %i, errno: %i", | ||
1137 | ret, errno); | ||
1138 | } | ||
1139 | |||
1124 | /* | 1140 | /* |
1125 | * VM VCPU Set MP State | 1141 | * VM VCPU Set MP State |
1126 | * | 1142 | * |