Commit 3ebe35694b for qemu.org
commit 3ebe35694b8ce5945cee5653e8ef3e8db0d8bcba
Author: Alex Bennée <alex.bennee@linaro.org>
Date: Wed Apr 22 13:52:38 2026 +0100
target/arm: use syndrome helpers to query VNCR bit
These are only valid for data abort syndromes.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20260422125250.1303100-22-alex.bennee@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
diff --git a/target/arm/tcg/tlb_helper.c b/target/arm/tcg/tlb_helper.c
index c74d8e785a..bbe1e70bc4 100644
--- a/target/arm/tcg/tlb_helper.c
+++ b/target/arm/tcg/tlb_helper.c
@@ -48,7 +48,7 @@ static inline uint64_t merge_syn_data_abort(uint32_t template_syn,
* ST64BV, or ST64BV0 insns report syndrome info even for stage-1
* faults and regardless of the target EL.
*/
- if (template_syn & ARM_EL_VNCR) {
+ if (FIELD_EX32(template_syn, DABORT_ISS, VNCR)) {
/*
* FEAT_NV2 faults on accesses via VNCR_EL2 are a special case:
* they are always reported as "same EL", even though we are going
@@ -190,7 +190,7 @@ void arm_deliver_fault(ARMCPU *cpu, vaddr addr,
* because we masked that out in disas_set_insn_syndrome())
*/
bool is_vncr = (access_type != MMU_INST_FETCH) &&
- (env->exception.syndrome & ARM_EL_VNCR);
+ FIELD_EX32(env->exception.syndrome, DABORT_ISS, VNCR);
if (is_vncr) {
/* FEAT_NV2 faults on accesses via VNCR_EL2 go to EL2 */