summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/arm64/fp/sve-test.S
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2023-12-05 14:24:44 +0000
committerWill Deacon <will@kernel.org>2023-12-11 12:02:00 +0000
commit48f7ab21f731f5a02ec34a4b83ae88c4a41d6a10 (patch)
tree40838f0f3821a7e39d229dc9600aafa240bf69e3 /tools/testing/selftests/arm64/fp/sve-test.S
parent33c1a7785a41216ec44d0fadc1890103e2db88b0 (diff)
kselftest/arm64: Log SVCR when the SME tests barf
On failure we log the actual and expected value of the register we detect a mismatch in. For SME one obvious potential source of corruption would be if we had corrupted SVCR since changes in streaming mode will reset the register values, log the value to aid in understanding issues. Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20231205-arm64-kselftest-log-svcr-v1-1-b77abd9ee7f3@kernel.org Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'tools/testing/selftests/arm64/fp/sve-test.S')
-rw-r--r--tools/testing/selftests/arm64/fp/sve-test.S10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/testing/selftests/arm64/fp/sve-test.S b/tools/testing/selftests/arm64/fp/sve-test.S
index 547d077e3517..fff60e2a25ad 100644
--- a/tools/testing/selftests/arm64/fp/sve-test.S
+++ b/tools/testing/selftests/arm64/fp/sve-test.S
@@ -515,6 +515,10 @@ function barf
mov x11, x1 // actual data
mov x12, x2 // data size
+#ifdef SSVE
+ mrs x13, S3_3_C4_C2_2
+#endif
+
puts "Mismatch: PID="
mov x0, x20
bl putdec
@@ -534,6 +538,12 @@ function barf
bl dumphex
puts "]\n"
+#ifdef SSVE
+ puts "\tSVCR: "
+ mov x0, x13
+ bl putdecn
+#endif
+
mov x8, #__NR_getpid
svc #0
// fpsimd.c acitivty log dump hack