[PATCH] target/arm: Fix incorrect aa64_tidcp1 feature check

Peter Maydell posted 1 patch 2 years ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240123160333.958841-1-peter.maydell@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>
target/arm/cpu-features.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] target/arm: Fix incorrect aa64_tidcp1 feature check
Posted by Peter Maydell 2 years ago
A typo in the implementation of isar_feature_aa64_tidcp1() means we
were checking the field in the wrong ID register, so we might have
provided the feature on CPUs that don't have it and not provided
it on CPUs that should have it. Correct this bug.

Cc: qemu-stable@nongnu.org
Fixes: 9cd0c0dec97be9 "target/arm: Implement FEAT_TIDCP1"
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2120
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 target/arm/cpu-features.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h
index 7a590c824cf..24525e36349 100644
--- a/target/arm/cpu-features.h
+++ b/target/arm/cpu-features.h
@@ -771,7 +771,7 @@ static inline bool isar_feature_aa64_hcx(const ARMISARegisters *id)
 
 static inline bool isar_feature_aa64_tidcp1(const ARMISARegisters *id)
 {
-    return FIELD_EX64(id->id_aa64mmfr2, ID_AA64MMFR1, TIDCP1) != 0;
+    return FIELD_EX64(id->id_aa64mmfr1, ID_AA64MMFR1, TIDCP1) != 0;
 }
 
 static inline bool isar_feature_aa64_hafs(const ARMISARegisters *id)
-- 
2.34.1
Re: [PATCH] target/arm: Fix incorrect aa64_tidcp1 feature check
Posted by Richard Henderson 2 years ago
On 1/24/24 02:03, Peter Maydell wrote:
> A typo in the implementation of isar_feature_aa64_tidcp1() means we
> were checking the field in the wrong ID register, so we might have
> provided the feature on CPUs that don't have it and not provided
> it on CPUs that should have it. Correct this bug.
> 
> Cc:qemu-stable@nongnu.org
> Fixes: 9cd0c0dec97be9 "target/arm: Implement FEAT_TIDCP1"
> Resolves:https://gitlab.com/qemu-project/qemu/-/issues/2120
> Signed-off-by: Peter Maydell<peter.maydell@linaro.org>
> ---
>   target/arm/cpu-features.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~