kselftest/arm64: Add FEAT_CSSC to the hwcap selftest
authorMark Brown <broonie@kernel.org>
Mon, 17 Oct 2022 15:25:16 +0000 (16:25 +0100)
committerWill Deacon <will@kernel.org>
Wed, 9 Nov 2022 17:54:53 +0000 (17:54 +0000)
Add FEAT_CSSC to the set of features checked by the hwcap selftest.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20221017152520.1039165-3-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
tools/testing/selftests/arm64/abi/hwcap.c

index 9f1a7b5c61933da7c458d1fd0e9c6b1864645244..c7a6b327a7d0951eccb5bd00477aa849770abfb5 100644 (file)
  */
 typedef void (*sigill_fn)(void);
 
+static void cssc_sigill(void)
+{
+       /* CNT x0, x0 */
+       asm volatile(".inst 0xdac01c00" : : : "x0");
+}
+
 static void rng_sigill(void)
 {
        asm volatile("mrs x0, S3_3_C2_C4_0" : : : "x0");
@@ -118,6 +124,13 @@ static const struct hwcap_data {
        sigill_fn sigill_fn;
        bool sigill_reliable;
 } hwcaps[] = {
+       {
+               .name = "CSSC",
+               .at_hwcap = AT_HWCAP2,
+               .hwcap_bit = HWCAP2_CSSC,
+               .cpuinfo = "cssc",
+               .sigill_fn = cssc_sigill,
+       },
        {
                .name = "RNG",
                .at_hwcap = AT_HWCAP2,