On Fri, 21 Jun 2024 at 15:39, Gustavo Romero <gustavo.rom...@linaro.org> wrote: > > Enable FEAT_Debugv8p8 for max CPU. This feature is out of scope for QEMU > since it concerns the external debug interface for JTAG, but is > mandatory in Armv8.8 implementations, hence it is reported as supported > in the ID registers. > > Signed-off-by: Gustavo Romero <gustavo.rom...@linaro.org> > --- > target/arm/tcg/cpu32.c | 6 +++--- > target/arm/tcg/cpu64.c | 2 +- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/target/arm/tcg/cpu32.c b/target/arm/tcg/cpu32.c > index b155a0136f..a1273a73a3 100644 > --- a/target/arm/tcg/cpu32.c > +++ b/target/arm/tcg/cpu32.c > @@ -82,8 +82,8 @@ void aa32_max_features(ARMCPU *cpu) > cpu->isar.id_pfr2 = t; > > t = cpu->isar.id_dfr0; > - t = FIELD_DP32(t, ID_DFR0, COPDBG, 9); /* FEAT_Debugv8p4 */ > - t = FIELD_DP32(t, ID_DFR0, COPSDBG, 9); /* FEAT_Debugv8p4 */ > + t = FIELD_DP32(t, ID_DFR0, COPDBG, 10); /* FEAT_Debugv8p8 */ > + t = FIELD_DP32(t, ID_DFR0, COPSDBG, 10); /* FEAT_Debugv8p8 */ > t = FIELD_DP32(t, ID_DFR0, PERFMON, 6); /* FEAT_PMUv3p5 */ > cpu->isar.id_dfr0 = t; > > @@ -93,7 +93,7 @@ void aa32_max_features(ARMCPU *cpu) > t = 0x00008000; > t = FIELD_DP32(t, DBGDIDR, SE_IMP, 1); > t = FIELD_DP32(t, DBGDIDR, NSUHD_IMP, 1); > - t = FIELD_DP32(t, DBGDIDR, VERSION, 6); /* Armv8 debug */ > + t = FIELD_DP32(t, DBGDIDR, VERSION, 10); /* FEAT_Debugv8p8 */ > t = FIELD_DP32(t, DBGDIDR, CTX_CMPS, 1); > t = FIELD_DP32(t, DBGDIDR, BRPS, 5); > t = FIELD_DP32(t, DBGDIDR, WRPS, 3); > diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c > index 71e1bfcd4e..fe232eb306 100644 > --- a/target/arm/tcg/cpu64.c > +++ b/target/arm/tcg/cpu64.c > @@ -1253,7 +1253,7 @@ void aarch64_max_tcg_initfn(Object *obj) > cpu->isar.id_aa64zfr0 = t; > > t = cpu->isar.id_aa64dfr0; > - t = FIELD_DP64(t, ID_AA64DFR0, DEBUGVER, 9); /* FEAT_Debugv8p4 */ > + t = FIELD_DP64(t, ID_AA64DFR0, DEBUGVER, 10); /* FEAT_Debugv8p8 */ > t = FIELD_DP64(t, ID_AA64DFR0, PMUVER, 6); /* FEAT_PMUv3p5 */ > t = FIELD_DP64(t, ID_AA64DFR0, HPMN0, 1); /* FEAT_HPMN0 */ > cpu->isar.id_aa64dfr0 = t; > --
We also need to add Feat_Debugv8p8 to the (alphabetically-sorted) list of emulated features in docs/system/arm/emulation.rst. thanks -- PMM