I realized there was some leftover debugging residue in this test, and some blatantly obvious copy/pasting. I'll address in v2, but as an FYI: On Wed, Mar 16, 2022 at 12:55:38AM +0000, Oliver Upton wrote: > Add a test that asserts KVM rewrites guest hypercall instructions to > match the running architecture (VMCALL on VMX, VMMCALL on SVM). > Additionally, test that with the quirk disabled, KVM no longer rewrites > guest instructions and instead injects a #UD. > > Signed-off-by: Oliver Upton <oupton@xxxxxxxxxx> > --- > tools/testing/selftests/kvm/.gitignore | 1 + > tools/testing/selftests/kvm/Makefile | 1 + > .../selftests/kvm/x86_64/fix_hypercall_test.c | 170 ++++++++++++++++++ > 3 files changed, 172 insertions(+) > create mode 100644 tools/testing/selftests/kvm/x86_64/fix_hypercall_test.c > > diff --git a/tools/testing/selftests/kvm/.gitignore b/tools/testing/selftests/kvm/.gitignore > index 9b67343dc4ab..1f1b6c978bf7 100644 > --- a/tools/testing/selftests/kvm/.gitignore > +++ b/tools/testing/selftests/kvm/.gitignore > @@ -15,6 +15,7 @@ > /x86_64/debug_regs > /x86_64/evmcs_test > /x86_64/emulator_error_test > +/x86_64/fix_hypercall_test > /x86_64/get_msr_index_features > /x86_64/kvm_clock_test > /x86_64/kvm_pv_test > diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile > index 6d69e196f1b7..c9cdbd248727 100644 > --- a/tools/testing/selftests/kvm/Makefile > +++ b/tools/testing/selftests/kvm/Makefile > @@ -48,6 +48,7 @@ TEST_GEN_PROGS_x86_64 += x86_64/cr4_cpuid_sync_test > TEST_GEN_PROGS_x86_64 += x86_64/get_msr_index_features > TEST_GEN_PROGS_x86_64 += x86_64/evmcs_test > TEST_GEN_PROGS_x86_64 += x86_64/emulator_error_test > +TEST_GEN_PROGS_x86_64 += x86_64/fix_hypercall_test > TEST_GEN_PROGS_x86_64 += x86_64/hyperv_clock > TEST_GEN_PROGS_x86_64 += x86_64/hyperv_cpuid > TEST_GEN_PROGS_x86_64 += x86_64/hyperv_features > diff --git a/tools/testing/selftests/kvm/x86_64/fix_hypercall_test.c b/tools/testing/selftests/kvm/x86_64/fix_hypercall_test.c > new file mode 100644 > index 000000000000..1f5c32146f3d > --- /dev/null > +++ b/tools/testing/selftests/kvm/x86_64/fix_hypercall_test.c > @@ -0,0 +1,170 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * Copyright (C) 2020, Google LLC. > + * > + * Tests for KVM paravirtual feature disablement Oops. [...] > + case UCALL_SYNC: > + pr_info("%s: %016lx\n", (const char *)uc.args[2], uc.args[3]); > + break; This was for debugging, there are no ucalls in the guest any more. -- Thanks, Oliver