Commit bac9aeec authored by Sean Christopherson's avatar Sean Christopherson

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.comSigned-off-by: default avatarSean Christopherson <seanjc@google.com>
parent db44e1c8
// SPDX-License-Identifier: GPL-2.0 // SPDX-License-Identifier: GPL-2.0
#define USE_GUEST_ASSERT_PRINTF 1
#include <test_util.h> #include <test_util.h>
#include <kvm_util.h> #include <kvm_util.h>
#include <processor.h> #include <processor.h>
...@@ -365,7 +367,7 @@ static void guest_wp_handler(struct ex_regs *regs) ...@@ -365,7 +367,7 @@ static void guest_wp_handler(struct ex_regs *regs)
static void guest_ss_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; ss_addr[ss_idx++] = regs->pc;
regs->pstate |= SPSR_SS; regs->pstate |= SPSR_SS;
} }
...@@ -410,8 +412,8 @@ static void guest_code_ss(int test_cnt) ...@@ -410,8 +412,8 @@ static void guest_code_ss(int test_cnt)
/* Userspace disables Single Step when the end is nigh. */ /* Userspace disables Single Step when the end is nigh. */
asm volatile("iter_ss_end:\n"); asm volatile("iter_ss_end:\n");
GUEST_ASSERT(bvr == w_bvr); GUEST_ASSERT_EQ(bvr, w_bvr);
GUEST_ASSERT(wvr == w_wvr); GUEST_ASSERT_EQ(wvr, w_wvr);
} }
GUEST_DONE(); GUEST_DONE();
} }
...@@ -450,7 +452,7 @@ static void test_guest_debug_exceptions(uint8_t bpn, uint8_t wpn, uint8_t ctx_bp ...@@ -450,7 +452,7 @@ static void test_guest_debug_exceptions(uint8_t bpn, uint8_t wpn, uint8_t ctx_bp
vcpu_run(vcpu); vcpu_run(vcpu);
switch (get_ucall(vcpu, &uc)) { switch (get_ucall(vcpu, &uc)) {
case UCALL_ABORT: case UCALL_ABORT:
REPORT_GUEST_ASSERT_2(uc, "values: %#lx, %#lx"); REPORT_GUEST_ASSERT(uc);
break; break;
case UCALL_DONE: case UCALL_DONE:
goto done; goto done;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment