@samitouri / QOSamiQemu / commits / 27d4237b9f

target/arm: redefine event stream fields

The event stream control bits are the same for both CNTHCTL and CNTKCTL so rather than duplicating the definitions rename them to be useful in both cases. We will need these in a later commit when we start implementing event streams. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 20260529082948.363931-4-alex.bennee@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Alex Bennée committed May 29, 2026 at 09:29 UTC 27d4237b9fcaa9add1b6bbb295c0ec1ceb2db604
2 files changed +11 -8
target/arm/helper.c
+4 -4
@@ -1772,9 +1772,9 @@ static void gt_cnthctl_write(CPUARMState *env, const ARMCPRegInfo *ri,
1772 uint32_t valid_mask =
1773 R_CNTHCTL_EL0PCTEN_E2H1_MASK |
1774 R_CNTHCTL_EL0VCTEN_E2H1_MASK |
1775 - R_CNTHCTL_EVNTEN_MASK |
1776 - R_CNTHCTL_EVNTDIR_MASK |
1777 - R_CNTHCTL_EVNTI_MASK |
1775 + R_CNTxCTL_EVNTEN_MASK |
1776 + R_CNTxCTL_EVNTDIR_MASK |
1777 + R_CNTxCTL_EVNTI_MASK |
1778 R_CNTHCTL_EL0VTEN_MASK |
1779 R_CNTHCTL_EL0PTEN_MASK |
1780 R_CNTHCTL_EL1PCTEN_E2H1_MASK |
@@ -1789,7 +1789,7 @@ static void gt_cnthctl_write(CPUARMState *env, const ARMCPRegInfo *ri,
1789 R_CNTHCTL_EL1TVCT_MASK |
1790 R_CNTHCTL_EL1NVPCT_MASK |
1791 R_CNTHCTL_EL1NVVCT_MASK |
1792 - R_CNTHCTL_EVNTIS_MASK;
1792 + R_CNTxCTL_EVNTIS_MASK;
1793 }
1794 if (cpu_isar_feature(aa64_ecv, cpu)) {
1795 valid_mask |= R_CNTHCTL_ECV_MASK;
target/arm/internals.h
+7 -4
@@ -272,14 +272,17 @@ FIELD(VSTCR, SA, 30, 1)
272 * have different bit definitions, and EL1PCTEN might be
273 * bit 0 or bit 10. We use _E2H1 and _E2H0 suffixes to
274 * disambiguate if necessary.
275 + *
276 + * The event stream bits (EVN*) are in the same position for
277 + * CNTKCTL_EL1/CTNKCTL.
278 */
279 FIELD(CNTHCTL, EL0PCTEN_E2H1, 0, 1)
280 FIELD(CNTHCTL, EL0VCTEN_E2H1, 1, 1)
281 FIELD(CNTHCTL, EL1PCTEN_E2H0, 0, 1)
282 FIELD(CNTHCTL, EL1PCEN_E2H0, 1, 1)
280 -FIELD(CNTHCTL, EVNTEN, 2, 1)
281 -FIELD(CNTHCTL, EVNTDIR, 3, 1)
282 -FIELD(CNTHCTL, EVNTI, 4, 4)
283 +FIELD(CNTxCTL, EVNTEN, 2, 1)
284 +FIELD(CNTxCTL, EVNTDIR, 3, 1)
285 +FIELD(CNTxCTL, EVNTI, 4, 4)
286 FIELD(CNTHCTL, EL0VTEN, 8, 1)
287 FIELD(CNTHCTL, EL0PTEN, 9, 1)
288 FIELD(CNTHCTL, EL1PCTEN_E2H1, 10, 1)
@@ -289,7 +292,7 @@ FIELD(CNTHCTL, EL1TVT, 13, 1)
292 FIELD(CNTHCTL, EL1TVCT, 14, 1)
293 FIELD(CNTHCTL, EL1NVPCT, 15, 1)
294 FIELD(CNTHCTL, EL1NVVCT, 16, 1)
292 -FIELD(CNTHCTL, EVNTIS, 17, 1)
295 +FIELD(CNTxCTL, EVNTIS, 17, 1)
296 FIELD(CNTHCTL, CNTVMASK, 18, 1)
297 FIELD(CNTHCTL, CNTPMASK, 19, 1)
298