Skip to content

Commit beaf35b

Browse files
Zenghui Yuoupton
authored andcommitted
KVM: arm64: selftest: Add the missing .guest_prepare()
Running page_fault_test on a Cortex A72 fails with Test: ro_memslot_no_syndrome_guest_cas Testing guest mode: PA-bits:40, VA-bits:48, 4K pages Testing memory backing src type: anonymous ==== Test Assertion Failure ==== aarch64/page_fault_test.c:117: guest_check_lse() pid=1944087 tid=1944087 errno=4 - Interrupted system call 1 0x00000000004028b3: vcpu_run_loop at page_fault_test.c:682 2 0x0000000000402d93: run_test at page_fault_test.c:731 3 0x0000000000403957: for_each_guest_mode at guest_modes.c:100 4 0x00000000004019f3: for_each_test_and_guest_mode at page_fault_test.c:1108 5 (inlined by) main at page_fault_test.c:1134 6 0x0000ffff868e503b: ?? ??:0 7 0x0000ffff868e5113: ?? ??:0 8 0x0000000000401aaf: _start at ??:? guest_check_lse() because we don't have a guest_prepare stage to check the presence of FEAT_LSE and skip the related guest_cas testing, and we end-up failing in GUEST_ASSERT(guest_check_lse()). Add the missing .guest_prepare() where it's indeed required. Signed-off-by: Zenghui Yu <[email protected]> Acked-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Oliver Upton <[email protected]>
1 parent be09799 commit beaf35b

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

tools/testing/selftests/kvm/aarch64/page_fault_test.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -842,6 +842,7 @@ static void help(char *name)
842842
.name = SCAT2(ro_memslot_no_syndrome, _access), \
843843
.data_memslot_flags = KVM_MEM_READONLY, \
844844
.pt_memslot_flags = KVM_MEM_READONLY, \
845+
.guest_prepare = { _PREPARE(_access) }, \
845846
.guest_test = _access, \
846847
.fail_vcpu_run_handler = fail_vcpu_run_mmio_no_syndrome_handler, \
847848
.expected_events = { .fail_vcpu_runs = 1 }, \
@@ -865,6 +866,7 @@ static void help(char *name)
865866
.name = SCAT2(ro_memslot_no_syn_and_dlog, _access), \
866867
.data_memslot_flags = KVM_MEM_READONLY | KVM_MEM_LOG_DIRTY_PAGES, \
867868
.pt_memslot_flags = KVM_MEM_READONLY | KVM_MEM_LOG_DIRTY_PAGES, \
869+
.guest_prepare = { _PREPARE(_access) }, \
868870
.guest_test = _access, \
869871
.guest_test_check = { _test_check }, \
870872
.fail_vcpu_run_handler = fail_vcpu_run_mmio_no_syndrome_handler, \
@@ -894,6 +896,7 @@ static void help(char *name)
894896
.data_memslot_flags = KVM_MEM_READONLY, \
895897
.pt_memslot_flags = KVM_MEM_READONLY, \
896898
.mem_mark_cmd = CMD_HOLE_DATA | CMD_HOLE_PT, \
899+
.guest_prepare = { _PREPARE(_access) }, \
897900
.guest_test = _access, \
898901
.uffd_data_handler = _uffd_data_handler, \
899902
.uffd_pt_handler = uffd_pt_handler, \

0 commit comments

Comments
 (0)