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