Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

kselftest/arm64: add RCpc load-acquire to hwcap test

Add the RCpc and various features check in the set of hwcap tests.

Signed-off-by: Zeng Heng <zengheng4@huawei.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230803133905.971697-1-zengheng4@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>

authored by

Zeng Heng and committed by
Will Deacon
d1890517 0aeead9b

+26
+26
tools/testing/selftests/arm64/abi/hwcap.c
··· 39 39 asm volatile(".inst 0xdac01c00" : : : "x0"); 40 40 } 41 41 42 + static void ilrcpc_sigill(void) 43 + { 44 + /* LDAPUR W0, [SP, #8] */ 45 + asm volatile(".inst 0x994083e0" : : : ); 46 + } 47 + 48 + static void lrcpc_sigill(void) 49 + { 50 + /* LDAPR W0, [SP, #0] */ 51 + asm volatile(".inst 0xb8bfc3e0" : : : ); 52 + } 53 + 42 54 static void mops_sigill(void) 43 55 { 44 56 char dst[1], src[1]; ··· 234 222 .hwcap_bit = HWCAP2_CSSC, 235 223 .cpuinfo = "cssc", 236 224 .sigill_fn = cssc_sigill, 225 + }, 226 + { 227 + .name = "LRCPC", 228 + .at_hwcap = AT_HWCAP, 229 + .hwcap_bit = HWCAP_LRCPC, 230 + .cpuinfo = "lrcpc", 231 + .sigill_fn = lrcpc_sigill, 232 + }, 233 + { 234 + .name = "LRCPC2", 235 + .at_hwcap = AT_HWCAP, 236 + .hwcap_bit = HWCAP_ILRCPC, 237 + .cpuinfo = "ilrcpc", 238 + .sigill_fn = ilrcpc_sigill, 237 239 }, 238 240 { 239 241 .name = "MOPS",