/linux-6.1.9/tools/testing/selftests/kvm/include/ |
D | ucall_common.h | 22 struct ucall { struct 29 void ucall(uint64_t cmd, int nargs, ...); argument 30 uint64_t get_ucall(struct kvm_vcpu *vcpu, struct ucall *uc); 33 ucall(UCALL_SYNC, 6, "hello", stage, arg1, arg2, arg3, arg4) 34 #define GUEST_SYNC(stage) ucall(UCALL_SYNC, 2, "hello", stage) 35 #define GUEST_DONE() ucall(UCALL_DONE, 0) 47 ucall(UCALL_ABORT, GUEST_ASSERT_BUILTIN_NARGS + _nargs, \ 76 #define GUEST_ASSERT_ARG(ucall, i) ((ucall).args[GUEST_ASSERT_BUILTIN_NARGS + i]) argument 78 #define REPORT_GUEST_ASSERT(ucall) \ argument 79 __REPORT_GUEST_ASSERT((ucall), "") [all …]
|
/linux-6.1.9/tools/testing/selftests/kvm/lib/x86_64/ |
D | ucall.c | 19 void ucall(uint64_t cmd, int nargs, ...) in ucall() function 21 struct ucall uc = { in ucall() 38 uint64_t get_ucall(struct kvm_vcpu *vcpu, struct ucall *uc) in get_ucall() 41 struct ucall ucall = {}; in get_ucall() local 50 memcpy(&ucall, addr_gva2hva(vcpu->vm, (vm_vaddr_t)regs.rdi), in get_ucall() 51 sizeof(ucall)); in get_ucall() 55 memcpy(uc, &ucall, sizeof(ucall)); in get_ucall() 58 return ucall.cmd; in get_ucall()
|
/linux-6.1.9/tools/testing/selftests/kvm/lib/s390x/ |
D | ucall.c | 17 void ucall(uint64_t cmd, int nargs, ...) in ucall() function 19 struct ucall uc = { in ucall() 36 uint64_t get_ucall(struct kvm_vcpu *vcpu, struct ucall *uc) in get_ucall() 39 struct ucall ucall = {}; in get_ucall() local 50 memcpy(&ucall, addr_gva2hva(vcpu->vm, run->s.regs.gprs[reg]), in get_ucall() 51 sizeof(ucall)); in get_ucall() 55 memcpy(uc, &ucall, sizeof(ucall)); in get_ucall() 58 return ucall.cmd; in get_ucall()
|
/linux-6.1.9/tools/testing/selftests/kvm/lib/riscv/ |
D | ucall.c | 47 void ucall(uint64_t cmd, int nargs, ...) in ucall() function 49 struct ucall uc = { in ucall() 67 uint64_t get_ucall(struct kvm_vcpu *vcpu, struct ucall *uc) in get_ucall() 70 struct ucall ucall = {}; in get_ucall() local 79 memcpy(&ucall, in get_ucall() 81 sizeof(ucall)); in get_ucall() 85 memcpy(uc, &ucall, sizeof(ucall)); in get_ucall() 97 return ucall.cmd; in get_ucall()
|
/linux-6.1.9/tools/testing/selftests/kvm/lib/aarch64/ |
D | ucall.c | 73 void ucall(uint64_t cmd, int nargs, ...) in ucall() function 75 struct ucall uc = {}; in ucall() 90 uint64_t get_ucall(struct kvm_vcpu *vcpu, struct ucall *uc) in get_ucall() 93 struct ucall ucall = {}; in get_ucall() local 105 memcpy(&ucall, addr_gva2hva(vcpu->vm, gva), sizeof(ucall)); in get_ucall() 109 memcpy(uc, &ucall, sizeof(ucall)); in get_ucall() 112 return ucall.cmd; in get_ucall()
|
/linux-6.1.9/tools/testing/selftests/kvm/x86_64/ |
D | kvm_pv_test.c | 22 #define PR_MSR(msr) ucall(UCALL_PR_MSR, 1, msr) 62 #define PR_HCALL(hc) ucall(UCALL_PR_HCALL, 1, hc) 98 static void pr_msr(struct ucall *uc) in pr_msr() 105 static void pr_hcall(struct ucall *uc) in pr_hcall() 115 struct ucall uc; in enter_guest()
|
D | emulator_error_test.c | 93 static void do_guest_assert(struct ucall *uc) in do_guest_assert() 100 struct ucall uc; in check_for_guest_assert() 111 struct ucall uc; in process_ucall_done() 128 struct ucall uc; in process_ucall()
|
D | kvm_clock_test.c | 52 static void handle_sync(struct ucall *uc, struct kvm_clock_data *start, in handle_sync() 72 static void handle_abort(struct ucall *uc) in handle_abort() 110 struct ucall uc; in enter_guest()
|
D | vmx_nested_tsc_scaling_test.c | 27 #define GUEST_SLEEP(sec) ucall(UCALL_SYNC, 2, USLEEP, sec) 28 #define GUEST_CHECK(level, freq) ucall(UCALL_SYNC, 2, level, freq) 187 struct ucall uc; in main()
|
D | vmx_close_while_nested_test.c | 64 struct ucall uc; in main()
|
D | userspace_msr_exit_test.c | 399 struct ucall uc; in check_for_guest_assert() 476 struct ucall uc; in process_ucall_done() 493 struct ucall uc = {}; in process_ucall() 608 struct ucall uc; in handle_ucall()
|
D | cr4_cpuid_sync_test.c | 56 struct ucall uc; in main()
|
D | svm_vmcall_test.c | 51 struct ucall uc; in main()
|
D | platform_info_test.c | 40 struct ucall uc; in test_msr_platform_info_enabled()
|
D | vmx_invalid_nested_guest_state.c | 59 struct ucall uc; in main()
|
D | ucna_injection_test.c | 141 struct ucall uc; in run_vcpu_expect_gp() 182 struct ucall uc; in run_ucna_injection()
|
D | userspace_io_test.c | 57 struct ucall uc; in main()
|
D | svm_int_ctl_test.c | 91 struct ucall uc; in main()
|
D | monitor_mwait_test.c | 69 struct ucall uc; in main()
|
D | set_boot_cpu_id.c | 47 struct ucall uc; in run_vcpu()
|
D | tsc_scaling_sync.c | 68 struct ucall uc; in run_vcpu()
|
D | fix_hypercall_test.c | 89 struct ucall uc; in enter_guest()
|
/linux-6.1.9/tools/testing/selftests/kvm/ |
D | system_counter_offset_test.c | 72 static void handle_sync(struct ucall *uc, uint64_t start, uint64_t end) in handle_sync() 84 static void handle_abort(struct ucall *uc) in handle_abort() 92 struct ucall uc; in enter_guest()
|
D | Makefile | 58 LIBKVM_x86_64 += lib/x86_64/ucall.c 66 LIBKVM_aarch64 += lib/aarch64/ucall.c 71 LIBKVM_s390x += lib/s390x/ucall.c 74 LIBKVM_riscv += lib/riscv/ucall.c
|
/linux-6.1.9/tools/testing/selftests/kvm/aarch64/ |
D | psci_test.c | 95 struct ucall uc; in enter_guest() 138 struct ucall uc; in host_test_cpu_on()
|