Skip to content

Commit 81abdd2

Browse files
committed
Merge: KVM: selftests: aarch64: Fix page_fault_test failure
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/3353 JIRA: https://issues.redhat.com/browse/RHEL-16004 Upstream Status: linux v6.7.rc1 Tested: No page_fault_test failure on ampere-hr330a-04.khw.rdu2.eng.redhat.com There is page_fault_test failure reported by Jan Richter and it has been fixed in upstream by commit beaf35b. Besides, another failure is fixed by upstream commit 06899aa. Since we're here, 06899aa is picked either. 06899aa KVM: arm64: selftest: Perform ISB before reading PAR_EL1 beaf35b KVM: arm64: selftest: Add the missing .guest_prepare() Signed-off-by: Gavin Shan <[email protected]> Approved-by: Eric Auger <[email protected]> Approved-by: Shaoqin Huang <[email protected]> Approved-by: Cornelia Huck <[email protected]> Signed-off-by: Jan Stancek <[email protected]>
2 parents af8e85c + 454e39b commit 81abdd2

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,8 @@ static void guest_at(void)
136136
uint64_t par;
137137

138138
asm volatile("at s1e1r, %0" :: "r" (guest_test_memory));
139-
par = read_sysreg(par_el1);
140139
isb();
140+
par = read_sysreg(par_el1);
141141

142142
/* Bit 1 indicates whether the AT was successful */
143143
GUEST_ASSERT_EQ(par & 1, 0);
@@ -843,6 +843,7 @@ static void help(char *name)
843843
.name = SCAT2(ro_memslot_no_syndrome, _access), \
844844
.data_memslot_flags = KVM_MEM_READONLY, \
845845
.pt_memslot_flags = KVM_MEM_READONLY, \
846+
.guest_prepare = { _PREPARE(_access) }, \
846847
.guest_test = _access, \
847848
.fail_vcpu_run_handler = fail_vcpu_run_mmio_no_syndrome_handler, \
848849
.expected_events = { .fail_vcpu_runs = 1 }, \
@@ -866,6 +867,7 @@ static void help(char *name)
866867
.name = SCAT2(ro_memslot_no_syn_and_dlog, _access), \
867868
.data_memslot_flags = KVM_MEM_READONLY | KVM_MEM_LOG_DIRTY_PAGES, \
868869
.pt_memslot_flags = KVM_MEM_READONLY | KVM_MEM_LOG_DIRTY_PAGES, \
870+
.guest_prepare = { _PREPARE(_access) }, \
869871
.guest_test = _access, \
870872
.guest_test_check = { _test_check }, \
871873
.fail_vcpu_run_handler = fail_vcpu_run_mmio_no_syndrome_handler, \
@@ -895,6 +897,7 @@ static void help(char *name)
895897
.data_memslot_flags = KVM_MEM_READONLY, \
896898
.pt_memslot_flags = KVM_MEM_READONLY, \
897899
.mem_mark_cmd = CMD_HOLE_DATA | CMD_HOLE_PT, \
900+
.guest_prepare = { _PREPARE(_access) }, \
898901
.guest_test = _access, \
899902
.uffd_data_handler = _uffd_data_handler, \
900903
.uffd_pt_handler = uffd_pt_handler, \

0 commit comments

Comments
 (0)