On Fri, 28 Jul 2023 17:36:09 -0700, Sean Christopherson wrote: > This is effectively v4 of Aaron's series to add printf capabilities to > the guest[*]. I also pulled in Thomas' patch to rename ASSERT_EQ() to > TEST_ASSERT_EQ(), mainly so that we can decide on a common output format > for both host and guest asserts in a single series, but also so that all > these basically treewide patches are contained in a single series. > > Note, Aaron did all of the heavy lifting, I just mopped up. The core code > is pretty much unchanged from Aaron's v3, v4 massages the assert code a > bit and converts all the tests. > > [...] Applied to kvm-x86 selftests and officially started this runaway train. I'll give this a few days to stew in linux-next, and assuming no fireworks, will create a tag and make everything up to that point immutable. I will follow-up with all the in-flight selftests series I can find to coordinate, though I'm hoping we'll get lucky and just not have any major conflitcs. Please yell asap if you encounter issues and/or object to any of this. Note, I technically applied patch 1 from Thomas' original posting, but captured it here too as I figured that'd be the least confusing thing. [1/36] KVM: selftests: Rename the ASSERT_EQ macro https://github.com/kvm-x86/linux/commit/6d85f51a1f08 [2/36] KVM: selftests: Make TEST_ASSERT_EQ() output look like normal TEST_ASSERT() https://github.com/kvm-x86/linux/commit/b145c58d95ff [3/36] KVM: selftests: Add a shameful hack to preserve/clobber GPRs across ucall https://github.com/kvm-x86/linux/commit/6783ca4105a7 [4/36] KVM: selftests: Add strnlen() to the string overrides https://github.com/kvm-x86/linux/commit/a1c1b55e116c [5/36] KVM: selftests: Add guest_snprintf() to KVM selftests https://github.com/kvm-x86/linux/commit/e5119382499c [6/36] KVM: selftests: Add additional pages to the guest to accommodate ucall https://github.com/kvm-x86/linux/commit/215a681710a5 [7/36] KVM: selftests: Add string formatting options to ucall https://github.com/kvm-x86/linux/commit/57e5c1fef5ec [8/36] KVM: selftests: Add formatted guest assert support in ucall framework https://github.com/kvm-x86/linux/commit/289c2b4db8f3 [9/36] KVM: selftests: Add arch ucall.h and inline simple arch hooks https://github.com/kvm-x86/linux/commit/b35f4c73d389 [10/36] KVM: selftests: Add #define of expected KVM exit reason for ucall https://github.com/kvm-x86/linux/commit/edb5b700f9f8 [11/36] KVM: selftests: Add a selftest for guest prints and formatted asserts https://github.com/kvm-x86/linux/commit/5d1d46f9d56f [12/36] KVM: selftests: Convert aarch_timer to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/db44e1c871bc [13/36] KVM: selftests: Convert debug-exceptions to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/bac9aeecc387 [14/36] KVM: selftests: Convert ARM's hypercalls test to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/af5b41b97f1c [15/36] KVM: selftests: Convert ARM's page fault test to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/df27f6b45454 [16/36] KVM: selftests: Convert ARM's vGIC IRQ test to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/d0ad3bacc523 [17/36] KVM: selftests: Convert the memslot performance test to printf guest asserts https://github.com/kvm-x86/linux/commit/c55a475d5fc4 [18/36] KVM: selftests: Convert s390's memop test to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/428c76c769fa [19/36] KVM: selftests: Convert s390's tprot test to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/5f82bbab84ad [20/36] KVM: selftests: Convert set_memory_region_test to printf-based GUEST_ASSERT https://github.com/kvm-x86/linux/commit/9291c9cef5b5 [21/36] KVM: selftests: Convert steal_time test to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/3d9bd831175e [22/36] KVM: selftests: Convert x86's CPUID test to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/06b651d250e5 [23/36] KVM: selftests: Convert the Hyper-V extended hypercalls test to printf asserts https://github.com/kvm-x86/linux/commit/82cb0ed66d4e [24/36] KVM: selftests: Convert the Hyper-V feature test to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/8d1d3ce604e5 [25/36] KVM: selftests: Convert x86's KVM paravirt test to printf style GUEST_ASSERT https://github.com/kvm-x86/linux/commit/bf6c760b9df3 [26/36] KVM: selftests: Convert the MONITOR/MWAIT test to use printf guest asserts https://github.com/kvm-x86/linux/commit/0f52e4aaa614 [27/36] KVM: selftests: Convert x86's nested exceptions test to printf guest asserts https://github.com/kvm-x86/linux/commit/b13a307ce3c6 [28/36] KVM: selftests: Convert x86's set BSP ID test to printf style guest asserts https://github.com/kvm-x86/linux/commit/40b319d6b4e1 [29/36] KVM: selftests: Convert the nSVM software interrupt test to printf guest asserts https://github.com/kvm-x86/linux/commit/a925f7994281 [30/36] KVM: selftests: Convert x86's TSC MSRs test to use printf guest asserts https://github.com/kvm-x86/linux/commit/847ae0795514 [31/36] KVM: selftests: Convert the x86 userspace I/O test to printf guest assert https://github.com/kvm-x86/linux/commit/417bfd0c820f [32/36] KVM: selftests: Convert VMX's PMU capabilities test to printf guest asserts https://github.com/kvm-x86/linux/commit/30a6e0b4553d [33/36] KVM: selftests: Convert x86's XCR0 test to use printf-based guest asserts https://github.com/kvm-x86/linux/commit/4e15c38a1aca [34/36] KVM: selftests: Rip out old, param-based guest assert macros https://github.com/kvm-x86/linux/commit/7ce7f8e75418 [35/36] KVM: selftests: Print out guest RIP on unhandled exception https://github.com/kvm-x86/linux/commit/6f321017c84b [36/36] KVM: selftests: Use GUEST_FAIL() in ARM's arch timer helpers https://github.com/kvm-x86/linux/commit/a05c4c2bd8b5 -- https://github.com/kvm-x86/linux/tree/next https://github.com/kvm-x86/linux/tree/fixes