Commit 5f389238 authored by Mark Brown's avatar Mark Brown Committed by Catalin Marinas
Browse files

kselftest/arm64: Fix enumeration of systems without 128 bit SME



The current signal handling tests for SME do not account for the fact that
unlike SVE all SME vector lengths are optional so we can't guarantee that
we will encounter the minimum possible VL, they will hang enumerating VLs
on such systems. Abort enumeration when we find the lowest VL.

Fixes: 4963aeb3 ("kselftest/arm64: signal: Add SME signal handling tests")
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230131-arm64-kselftest-sig-sme-no-128-v1-1-d47c13dc8e1e@kernel.org


Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 4365eec8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -34,6 +34,10 @@ static bool sme_get_vls(struct tdescr *td)

		vl &= PR_SME_VL_LEN_MASK;

		/* Did we find the lowest supported VL? */
		if (vq < sve_vq_from_vl(vl))
			break;

		/* Skip missing VLs */
		vq = sve_vq_from_vl(vl);

+4 −0
Original line number Diff line number Diff line
@@ -34,6 +34,10 @@ static bool sme_get_vls(struct tdescr *td)

		vl &= PR_SME_VL_LEN_MASK;

		/* Did we find the lowest supported VL? */
		if (vq < sve_vq_from_vl(vl))
			break;

		/* Skip missing VLs */
		vq = sve_vq_from_vl(vl);