OSDN Git Service

selftests/arm64: add HWCAP2_HBC test
authorJoey Gouly <joey.gouly@arm.com>
Fri, 4 Aug 2023 14:37:46 +0000 (15:37 +0100)
committerWill Deacon <will@kernel.org>
Fri, 4 Aug 2023 16:32:13 +0000 (17:32 +0100)
Add a test for the newly added HWCAP2_HBC.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20230804143746.3900803-3-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
tools/testing/selftests/arm64/abi/hwcap.c

index d4ad813..fabeac9 100644 (file)
@@ -208,6 +208,13 @@ static void svebf16_sigill(void)
        asm volatile(".inst 0x658aa000" : : : "z0");
 }
 
+static void hbc_sigill(void)
+{
+       /* BC.EQ +4 */
+       asm volatile("cmp xzr, xzr\n"
+                    ".inst 0x54000030" : : : "cc");
+}
+
 static const struct hwcap_data {
        const char *name;
        unsigned long at_hwcap;
@@ -386,6 +393,14 @@ static const struct hwcap_data {
                .hwcap_bit = HWCAP2_SVE_EBF16,
                .cpuinfo = "sveebf16",
        },
+       {
+               .name = "HBC",
+               .at_hwcap = AT_HWCAP2,
+               .hwcap_bit = HWCAP2_HBC,
+               .cpuinfo = "hbc",
+               .sigill_fn = hbc_sigill,
+               .sigill_reliable = true,
+       },
 };
 
 static bool seen_sigill;