summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/arm64
diff options
context:
space:
mode:
authorZeng Heng <zengheng4@huawei.com>2023-08-15 12:09:15 +0800
committerWill Deacon <will@kernel.org>2023-08-16 15:24:01 +0100
commitfcb0b51a5dca1f69f408dfe5fd970cf167d41538 (patch)
treebaa84c38a723c88b32ed74c0836ebad863780a83 /tools/testing/selftests/arm64
parent2c3ce0e7dd5154ffa017cd4dab3b14c09272c4a5 (diff)
kselftest/arm64: add jscvt feature to hwcap test
Add the jscvt feature check in the set of hwcap tests. Due to the requirement of jscvt feature, a compiler configuration of v8.3 or above is needed to support assembly. Therefore, hand encode is used here instead. Signed-off-by: Zeng Heng <zengheng4@huawei.com> Reviewed-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20230815040915.3966955-5-zengheng4@huawei.com Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'tools/testing/selftests/arm64')
-rw-r--r--tools/testing/selftests/arm64/abi/hwcap.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/testing/selftests/arm64/abi/hwcap.c b/tools/testing/selftests/arm64/abi/hwcap.c
index b3492a944503..fe844b825a1e 100644
--- a/tools/testing/selftests/arm64/abi/hwcap.c
+++ b/tools/testing/selftests/arm64/abi/hwcap.c
@@ -68,6 +68,12 @@ static void ilrcpc_sigill(void)
asm volatile(".inst 0x994083e0" : : : );
}
+static void jscvt_sigill(void)
+{
+ /* FJCVTZS W0, D0 */
+ asm volatile(".inst 0x1e7e0000" : : : );
+}
+
static void lrcpc_sigill(void)
{
/* LDAPR W0, [SP, #0] */
@@ -314,6 +320,13 @@ static const struct hwcap_data {
.sigill_fn = fp_sigill,
},
{
+ .name = "JSCVT",
+ .at_hwcap = AT_HWCAP,
+ .hwcap_bit = HWCAP_JSCVT,
+ .cpuinfo = "jscvt",
+ .sigill_fn = jscvt_sigill,
+ },
+ {
.name = "LRCPC",
.at_hwcap = AT_HWCAP,
.hwcap_bit = HWCAP_LRCPC,