Commit bac9aeec authored by Sean Christopherson's avatar Sean Christopherson
Browse files

KVM: selftests: Convert debug-exceptions to printf style GUEST_ASSERT

Convert ARM's debug exceptions  test to use printf-based GUEST_ASSERT().
Opportunistically Use GUEST_ASSERT_EQ() in guest_code_ss() so that the
expected vs. actual values get printed out.

Link: https://lore.kernel.org/r/20230729003643.1053367-12-seanjc@google.com


Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
parent db44e1c8
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
#define USE_GUEST_ASSERT_PRINTF 1

#include <test_util.h>
#include <kvm_util.h>
#include <processor.h>
@@ -365,7 +367,7 @@ static void guest_wp_handler(struct ex_regs *regs)

static void guest_ss_handler(struct ex_regs *regs)
{
	GUEST_ASSERT_1(ss_idx < 4, ss_idx);
	__GUEST_ASSERT(ss_idx < 4, "Expected index < 4, got '%u'", ss_idx);
	ss_addr[ss_idx++] = regs->pc;
	regs->pstate |= SPSR_SS;
}
@@ -410,8 +412,8 @@ static void guest_code_ss(int test_cnt)
		/* Userspace disables Single Step when the end is nigh. */
		asm volatile("iter_ss_end:\n");

		GUEST_ASSERT(bvr == w_bvr);
		GUEST_ASSERT(wvr == w_wvr);
		GUEST_ASSERT_EQ(bvr, w_bvr);
		GUEST_ASSERT_EQ(wvr, w_wvr);
	}
	GUEST_DONE();
}
@@ -450,7 +452,7 @@ static void test_guest_debug_exceptions(uint8_t bpn, uint8_t wpn, uint8_t ctx_bp
	vcpu_run(vcpu);
	switch (get_ucall(vcpu, &uc)) {
	case UCALL_ABORT:
		REPORT_GUEST_ASSERT_2(uc, "values: %#lx, %#lx");
		REPORT_GUEST_ASSERT(uc);
		break;
	case UCALL_DONE:
		goto done;