]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/arm: Make DisasContext.{fp, sve}_access_checked tristate
authorRichard Henderson <richard.henderson@linaro.org>
Fri, 7 Mar 2025 19:04:14 +0000 (11:04 -0800)
committerMichael Tokarev <mjt@tls.msk.ru>
Tue, 18 Mar 2025 06:02:48 +0000 (09:02 +0300)
commita75e415ca55df01d6d9e0e1698d8bc0c620dcc85
tree848afa5bdaf2935a0ef1920c4355e732f2e4f717
parentcf8bd64d4fbc53dc7b85fb0d6925043f8e9b4164
target/arm: Make DisasContext.{fp, sve}_access_checked tristate

The check for fp_excp_el in assert_fp_access_checked is
incorrect.  For SME, with StreamingMode enabled, the access
is really against the streaming mode vectors, and access
to the normal fp registers is allowed to be disabled.
C.f. sme_enabled_check.

Convert sve_access_checked to match, even though we don't
currently check the exception state.

Cc: qemu-stable@nongnu.org
Fixes: 3d74825f4d6 ("target/arm: Add SME enablement checks")
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20250307190415.982049-2-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 298a04998fa4a6dc977abe9234d98dfcdab98423)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
target/arm/tcg/translate-a64.c
target/arm/tcg/translate-a64.h
target/arm/tcg/translate.h