Lines Matching refs:ret
55 int ret = _vcpu_ioctl(vm, vcpuid, KVM_RUN, NULL); in run_vcpu() local
56 if (ret) in run_vcpu()
85 int ret; in subtest_dist_rdist() local
96 ret = _kvm_device_check_attr(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, 0); in subtest_dist_rdist()
97 TEST_ASSERT(ret && errno == ENXIO, "attribute not supported"); in subtest_dist_rdist()
101 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_dist_rdist()
103 TEST_ASSERT(ret && errno == EINVAL, "GICv3 dist base not 64kB aligned"); in subtest_dist_rdist()
105 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_dist_rdist()
107 TEST_ASSERT(ret && errno == EINVAL, "GICv3 redist base not 64kB aligned"); in subtest_dist_rdist()
112 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_dist_rdist()
114 TEST_ASSERT(ret && errno == E2BIG, "dist address beyond IPA limit"); in subtest_dist_rdist()
116 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_dist_rdist()
118 TEST_ASSERT(ret && errno == E2BIG, "redist address beyond IPA limit"); in subtest_dist_rdist()
128 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_dist_rdist()
130 TEST_ASSERT(ret && errno == EEXIST, "GICv3 redist base set again"); in subtest_dist_rdist()
134 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_dist_rdist()
136 TEST_ASSERT(ret && errno == EINVAL, "attempt to mix GICv3 REDIST and REDIST_REGION"); in subtest_dist_rdist()
151 int ret; in subtest_redist_regions() local
153 ret = kvm_device_check_attr(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
155 TEST_ASSERT(!ret, "Multiple redist regions advertised"); in subtest_redist_regions()
158 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
160 TEST_ASSERT(ret && errno == EINVAL, "redist region attr value with flags != 0"); in subtest_redist_regions()
163 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
165 TEST_ASSERT(ret && errno == EINVAL, "redist region attr value with count== 0"); in subtest_redist_regions()
168 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
170 TEST_ASSERT(ret && errno == EINVAL, in subtest_redist_regions()
174 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
176 TEST_ASSERT(ret && errno == EINVAL, "rdist region with misaligned address"); in subtest_redist_regions()
183 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
185 TEST_ASSERT(ret && errno == EINVAL, "register an rdist region with already used index"); in subtest_redist_regions()
188 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
190 TEST_ASSERT(ret && errno == EINVAL, in subtest_redist_regions()
194 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
196 TEST_ASSERT(ret && errno == EINVAL, "register redist region with index not +1"); in subtest_redist_regions()
203 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
205 TEST_ASSERT(ret && errno == E2BIG, in subtest_redist_regions()
209 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
211 TEST_ASSERT(ret && errno == EINVAL, in subtest_redist_regions()
223 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
225 TEST_ASSERT(!ret && addr == expected_addr, "read characteristics of region #0"); in subtest_redist_regions()
229 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
231 TEST_ASSERT(!ret && addr == expected_addr, "read characteristics of region #1"); in subtest_redist_regions()
234 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
236 TEST_ASSERT(ret && errno == ENOENT, "read characteristics of non existing region"); in subtest_redist_regions()
243 ret = _kvm_device_access(v->gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in subtest_redist_regions()
245 TEST_ASSERT(ret && errno == EINVAL, "register redist region colliding with dist"); in subtest_redist_regions()
255 int ret, i; in test_vgic_then_vcpus() local
266 ret = run_vcpu(v.vm, 3); in test_vgic_then_vcpus()
267 TEST_ASSERT(ret == -EINVAL, "dist/rdist overlap detected on 1st vcpu run"); in test_vgic_then_vcpus()
276 int ret; in test_vcpus_then_vgic() local
282 ret = run_vcpu(v.vm, 3); in test_vcpus_then_vgic()
283 TEST_ASSERT(ret == -EINVAL, "dist/rdist overlap detected on 1st vcpu run"); in test_vcpus_then_vgic()
293 int ret; in test_new_redist_regions() local
300 ret = run_vcpu(v.vm, 3); in test_new_redist_regions()
301 TEST_ASSERT(ret == -ENXIO, "running without sufficient number of rdists"); in test_new_redist_regions()
313 ret = run_vcpu(v.vm, 3); in test_new_redist_regions()
314 TEST_ASSERT(ret == -EBUSY, "running without vgic explicit init"); in test_new_redist_regions()
325 TEST_ASSERT(ret && errno == EFAULT, in test_new_redist_regions()
335 ret = run_vcpu(v.vm, 3); in test_new_redist_regions()
336 TEST_ASSERT(!ret, "vcpu run"); in test_new_redist_regions()
346 int ret, i; in test_typer_accesses() local
354 ret = access_redist_reg(v.gic_fd, 1, GICR_TYPER, &val, false); in test_typer_accesses()
355 TEST_ASSERT(ret && errno == EINVAL, "attempting to read GICR_TYPER of non created vcpu"); in test_typer_accesses()
359 ret = access_redist_reg(v.gic_fd, 1, GICR_TYPER, &val, false); in test_typer_accesses()
360 TEST_ASSERT(ret && errno == EBUSY, "read GICR_TYPER before GIC initialized"); in test_typer_accesses()
368 ret = access_redist_reg(v.gic_fd, 0, GICR_TYPER, &val, false); in test_typer_accesses()
369 TEST_ASSERT(!ret && !val, "read GICR_TYPER before rdist region setting"); in test_typer_accesses()
377 ret = access_redist_reg(v.gic_fd, 0, GICR_TYPER, &val, false); in test_typer_accesses()
378 TEST_ASSERT(!ret && !val, "read typer of rdist #0"); in test_typer_accesses()
380 ret = access_redist_reg(v.gic_fd, 3, GICR_TYPER, &val, false); in test_typer_accesses()
381 TEST_ASSERT(!ret && val == 0x310, "read typer of rdist #1"); in test_typer_accesses()
384 ret = _kvm_device_access(v.gic_fd, KVM_DEV_ARM_VGIC_GRP_ADDR, in test_typer_accesses()
386 TEST_ASSERT(ret && errno == EINVAL, "collision with previous rdist region"); in test_typer_accesses()
388 ret = access_redist_reg(v.gic_fd, 1, GICR_TYPER, &val, false); in test_typer_accesses()
389 TEST_ASSERT(!ret && val == 0x100, in test_typer_accesses()
392 ret = access_redist_reg(v.gic_fd, 2, GICR_TYPER, &val, false); in test_typer_accesses()
393 TEST_ASSERT(!ret && val == 0x200, in test_typer_accesses()
400 ret = access_redist_reg(v.gic_fd, 1, GICR_TYPER, &val, false); in test_typer_accesses()
401 TEST_ASSERT(!ret && val == 0x100, "read typer of rdist #1"); in test_typer_accesses()
403 ret = access_redist_reg(v.gic_fd, 2, GICR_TYPER, &val, false); in test_typer_accesses()
404 TEST_ASSERT(!ret && val == 0x210, in test_typer_accesses()
426 int ret; in test_last_bit_redist_regions() local
447 ret = access_redist_reg(v.gic_fd, 0, GICR_TYPER, &val, false); in test_last_bit_redist_regions()
448 TEST_ASSERT(!ret && val == 0x000, "read typer of rdist #0"); in test_last_bit_redist_regions()
450 ret = access_redist_reg(v.gic_fd, 1, GICR_TYPER, &val, false); in test_last_bit_redist_regions()
451 TEST_ASSERT(!ret && val == 0x100, "read typer of rdist #1"); in test_last_bit_redist_regions()
453 ret = access_redist_reg(v.gic_fd, 2, GICR_TYPER, &val, false); in test_last_bit_redist_regions()
454 TEST_ASSERT(!ret && val == 0x200, "read typer of rdist #2"); in test_last_bit_redist_regions()
456 ret = access_redist_reg(v.gic_fd, 3, GICR_TYPER, &val, false); in test_last_bit_redist_regions()
457 TEST_ASSERT(!ret && val == 0x310, "read typer of rdist #3"); in test_last_bit_redist_regions()
459 ret = access_redist_reg(v.gic_fd, 5, GICR_TYPER, &val, false); in test_last_bit_redist_regions()
460 TEST_ASSERT(!ret && val == 0x500, "read typer of rdist #5"); in test_last_bit_redist_regions()
462 ret = access_redist_reg(v.gic_fd, 4, GICR_TYPER, &val, false); in test_last_bit_redist_regions()
463 TEST_ASSERT(!ret && val == 0x410, "read typer of rdist #4"); in test_last_bit_redist_regions()
475 int ret; in test_last_bit_single_rdist() local
488 ret = access_redist_reg(v.gic_fd, 0, GICR_TYPER, &val, false); in test_last_bit_single_rdist()
489 TEST_ASSERT(!ret && val == 0x000, "read typer of rdist #0"); in test_last_bit_single_rdist()
491 ret = access_redist_reg(v.gic_fd, 3, GICR_TYPER, &val, false); in test_last_bit_single_rdist()
492 TEST_ASSERT(!ret && val == 0x300, "read typer of rdist #1"); in test_last_bit_single_rdist()
494 ret = access_redist_reg(v.gic_fd, 5, GICR_TYPER, &val, false); in test_last_bit_single_rdist()
495 TEST_ASSERT(!ret && val == 0x500, "read typer of rdist #2"); in test_last_bit_single_rdist()
497 ret = access_redist_reg(v.gic_fd, 1, GICR_TYPER, &val, false); in test_last_bit_single_rdist()
498 TEST_ASSERT(!ret && val == 0x100, "read typer of rdist #3"); in test_last_bit_single_rdist()
500 ret = access_redist_reg(v.gic_fd, 2, GICR_TYPER, &val, false); in test_last_bit_single_rdist()
501 TEST_ASSERT(!ret && val == 0x210, "read typer of rdist #3"); in test_last_bit_single_rdist()
509 int ret, fd; in test_kvm_device() local
514 ret = _kvm_create_device(v.vm, 0, true, &fd); in test_kvm_device()
515 TEST_ASSERT(ret && errno == ENODEV, "unsupported device"); in test_kvm_device()
518 ret = _kvm_create_device(v.vm, KVM_DEV_TYPE_ARM_VGIC_V3, true, &fd); in test_kvm_device()
519 if (ret) { in test_kvm_device()
525 ret = _kvm_create_device(v.vm, KVM_DEV_TYPE_ARM_VGIC_V3, false, &fd); in test_kvm_device()
526 TEST_ASSERT(ret && errno == EEXIST, "create GICv3 device twice"); in test_kvm_device()
531 ret = _kvm_create_device(v.vm, KVM_DEV_TYPE_ARM_VGIC_V2, false, &fd); in test_kvm_device()
532 TEST_ASSERT(ret && errno == EINVAL, "create GICv2 while v3 exists"); in test_kvm_device()