From: Yifan Wu Date: Thu, 5 Mar 2026 01:36:38 +0000 (+0800) Subject: selftests/arm64: Implement cmpbr_sigill() to hwcap test X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=74cd4e0e5399480e3fab2cd6a6cbdb17f673c335;p=thirdparty%2Fkernel%2Flinux.git selftests/arm64: Implement cmpbr_sigill() to hwcap test The function executes a CBEQ instruction which is valid if the CPU supports the CMPBR extension. The CBEQ branches to skip the following UDF instruction, and no SIGILL is generated. Otherwise, it will generate a SIGILL. Signed-off-by: Yifan Wu Reviewed-by: Mark Brown Signed-off-by: Catalin Marinas --- diff --git a/tools/testing/selftests/arm64/abi/hwcap.c b/tools/testing/selftests/arm64/abi/hwcap.c index c2661a312fc98..e22703d6b97c2 100644 --- a/tools/testing/selftests/arm64/abi/hwcap.c +++ b/tools/testing/selftests/arm64/abi/hwcap.c @@ -56,7 +56,8 @@ static void atomics_sigill(void) static void cmpbr_sigill(void) { - /* Not implemented, too complicated and unreliable anyway */ + asm volatile(".inst 0x74C00040\n" /* CBEQ w0, w0, +8 */ + "udf #0" : : : "cc"); /* UDF #0 */ } static void crc32_sigill(void)