]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftest/arm64: Fix sve2p1_sigill() to hwcap test
authorYifan Wu <wuyifan50@huawei.com>
Thu, 5 Mar 2026 01:36:37 +0000 (09:36 +0800)
committerWill Deacon <will@kernel.org>
Fri, 6 Mar 2026 11:54:26 +0000 (11:54 +0000)
The FEAT_SVE2p1 is indicated by ID_AA64ZFR0_EL1.SVEver. However,
the BFADD requires the FEAT_SVE_B16B16, which is indicated by
ID_AA64ZFR0_EL1.B16B16. This could cause the test to incorrectly
fail on a CPU that supports FEAT_SVE2.1 but not FEAT_SVE_B16B16.

LD1Q Gather load quadwords which is decoded from SVE encodings and
implied by FEAT_SVE2p1.

Fixes: c5195b027d29 ("kselftest/arm64: Add SVE 2.1 to hwcap test")
Signed-off-by: Yifan Wu <wuyifan50@huawei.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
tools/testing/selftests/arm64/abi/hwcap.c

index 9d2df1f3e6bbe0819f2830dfd7091b121400985c..c2661a312fc989a1764e265cc45eb682a2b95806 100644 (file)
@@ -475,8 +475,8 @@ static void sve2_sigill(void)
 
 static void sve2p1_sigill(void)
 {
-       /* BFADD Z0.H, Z0.H, Z0.H */
-       asm volatile(".inst 0x65000000" : : : "z0");
+       /* LD1Q {Z0.Q}, P0/Z, [Z0.D, X0] */
+       asm volatile(".inst 0xC400A000" : : : "z0");
 }
 
 static void sve2p2_sigill(void)