Commit 3accaef1 authored by Mark Brown's avatar Mark Brown Committed by Catalin Marinas
Browse files

kselftest/arm64: Verify HWCAP2_SVE_B16B16



Validate that SVE B16B16 support is reported correctly and consistently to
userspace.

Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230915-arm64-zfr-b16b16-el0-v1-2-f9aba807bdb5@kernel.org


Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 5d5b4e8c
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -226,6 +226,12 @@ static void sveaes_sigill(void)
	asm volatile(".inst 0x4522e400" : : : "z0");
}

static void sveb16b16_sigill(void)
{
	/* BFADD ZA.H[W0, 0], {Z0.H-Z1.H} */
	asm volatile(".inst 0xC1E41C00" : : : );
}

static void svepmull_sigill(void)
{
	/* PMULLB Z0.Q, Z0.D, Z0.D */
@@ -493,6 +499,13 @@ static const struct hwcap_data {
		.cpuinfo = "sveaes",
		.sigill_fn = sveaes_sigill,
	},
	{
		.name = "SVE2 B16B16",
		.at_hwcap = AT_HWCAP2,
		.hwcap_bit = HWCAP2_SVE_B16B16,
		.cpuinfo = "sveb16b16",
		.sigill_fn = sveb16b16_sigill,
	},
	{
		.name = "SVE2 PMULL",
		.at_hwcap = AT_HWCAP2,