Consolidate the code for making and getting ucalls. All architectures pass the ucall struct via memory, so filling and copying the struct is 100% generic. The only per-arch code is sending and receiving the address of said struct. Tested on x86 and arm, compile tested on s390 and RISC-V. Sean Christopherson (3): KVM: selftests: Consolidate common code for popuplating ucall struct KVM: selftests: Consolidate boilerplate code in get_ucall() KVM: selftest: Add __weak stubs for ucall_arch_(un)init() tools/testing/selftests/kvm/Makefile | 1 + .../selftests/kvm/include/ucall_common.h | 17 ++++++- .../testing/selftests/kvm/lib/aarch64/ucall.c | 36 +++----------- tools/testing/selftests/kvm/lib/riscv/ucall.c | 44 ++--------------- tools/testing/selftests/kvm/lib/s390x/ucall.c | 41 ++-------------- .../testing/selftests/kvm/lib/ucall_common.c | 49 +++++++++++++++++++ .../testing/selftests/kvm/lib/x86_64/ucall.c | 41 ++-------------- 7 files changed, 87 insertions(+), 142 deletions(-) create mode 100644 tools/testing/selftests/kvm/lib/ucall_common.c base-commit: 8baacf67c76c560fed954ac972b63e6e59a6fba0 -- 2.37.0.rc0.104.g0611611a94-goog _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm