Extend the ucall framework to offer GUEST_PRINTF() and GUEST_ASSERT_FMT() in selftests. This will allow for better and easier guest debugging. v1 -> v2: - Added a proper selftest [Sean] - Added support for snprintf [Shaoqin] - Added ucall_nr_pages_required() [Sean] - Added ucall_fmt2() for GUEST_ASSERT_FMT() - Dropped the original version of printf.c [Sean] - Dropped patches 1-2 and 8 [Sean] Aaron Lewis (6): KVM: selftests: Add strnlen() to the string overrides KVM: selftests: Add kvm_snprintf() to KVM selftests KVM: selftests: Add additional pages to the guest to accommodate ucall KVM: selftests: Add string formatting options to ucall KVM: selftests: Add ucall_fmt2() KVM: selftests: Add a selftest for guest prints and formatted asserts tools/testing/selftests/kvm/Makefile | 3 + .../testing/selftests/kvm/guest_print_test.c | 207 ++++++++++++ .../testing/selftests/kvm/include/test_util.h | 3 + .../selftests/kvm/include/ucall_common.h | 20 ++ tools/testing/selftests/kvm/lib/kvm_sprintf.c | 313 ++++++++++++++++++ tools/testing/selftests/kvm/lib/kvm_util.c | 4 + .../selftests/kvm/lib/string_override.c | 9 + .../testing/selftests/kvm/lib/ucall_common.c | 47 +++ 8 files changed, 606 insertions(+) create mode 100644 tools/testing/selftests/kvm/guest_print_test.c create mode 100644 tools/testing/selftests/kvm/lib/kvm_sprintf.c -- 2.40.0.634.g4ca3ef3211-goog