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 <wuyifan50@huawei.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
Yifan Wu 2026-03-05 09:36:38 +08:00 committed by Catalin Marinas
parent 1f318b96cc
commit 74cd4e0e53

View File

@ -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)