target/arm: Report FEAT_EVT for TCG '-cpu max'
Update the ID registers for TCG's '-cpu max' to report the FEAT_EVT Enhanced Virtualization Traps support. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
e2ce5fcde4
commit
41654f120f
|
@ -26,6 +26,7 @@ the following architecture extensions:
|
||||||
- FEAT_DoubleFault (Double Fault Extension)
|
- FEAT_DoubleFault (Double Fault Extension)
|
||||||
- FEAT_E0PD (Preventing EL0 access to halves of address maps)
|
- FEAT_E0PD (Preventing EL0 access to halves of address maps)
|
||||||
- FEAT_ETS (Enhanced Translation Synchronization)
|
- FEAT_ETS (Enhanced Translation Synchronization)
|
||||||
|
- FEAT_EVT (Enhanced Virtualization Traps)
|
||||||
- FEAT_FCMA (Floating-point complex number instructions)
|
- FEAT_FCMA (Floating-point complex number instructions)
|
||||||
- FEAT_FHM (Floating-point half-precision multiplication instructions)
|
- FEAT_FHM (Floating-point half-precision multiplication instructions)
|
||||||
- FEAT_FP16 (Half-precision floating-point data processing)
|
- FEAT_FP16 (Half-precision floating-point data processing)
|
||||||
|
|
|
@ -1254,6 +1254,7 @@ static void aarch64_max_initfn(Object *obj)
|
||||||
t = FIELD_DP64(t, ID_AA64MMFR2, FWB, 1); /* FEAT_S2FWB */
|
t = FIELD_DP64(t, ID_AA64MMFR2, FWB, 1); /* FEAT_S2FWB */
|
||||||
t = FIELD_DP64(t, ID_AA64MMFR2, TTL, 1); /* FEAT_TTL */
|
t = FIELD_DP64(t, ID_AA64MMFR2, TTL, 1); /* FEAT_TTL */
|
||||||
t = FIELD_DP64(t, ID_AA64MMFR2, BBM, 2); /* FEAT_BBM at level 2 */
|
t = FIELD_DP64(t, ID_AA64MMFR2, BBM, 2); /* FEAT_BBM at level 2 */
|
||||||
|
t = FIELD_DP64(t, ID_AA64MMFR2, EVT, 2); /* FEAT_EVT */
|
||||||
t = FIELD_DP64(t, ID_AA64MMFR2, E0PD, 1); /* FEAT_E0PD */
|
t = FIELD_DP64(t, ID_AA64MMFR2, E0PD, 1); /* FEAT_E0PD */
|
||||||
cpu->isar.id_aa64mmfr2 = t;
|
cpu->isar.id_aa64mmfr2 = t;
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ void aa32_max_features(ARMCPU *cpu)
|
||||||
t = FIELD_DP32(t, ID_MMFR4, AC2, 1); /* ACTLR2, HACTLR2 */
|
t = FIELD_DP32(t, ID_MMFR4, AC2, 1); /* ACTLR2, HACTLR2 */
|
||||||
t = FIELD_DP32(t, ID_MMFR4, CNP, 1); /* FEAT_TTCNP */
|
t = FIELD_DP32(t, ID_MMFR4, CNP, 1); /* FEAT_TTCNP */
|
||||||
t = FIELD_DP32(t, ID_MMFR4, XNX, 1); /* FEAT_XNX */
|
t = FIELD_DP32(t, ID_MMFR4, XNX, 1); /* FEAT_XNX */
|
||||||
|
t = FIELD_DP32(t, ID_MMFR4, EVT, 2); /* FEAT_EVT */
|
||||||
cpu->isar.id_mmfr4 = t;
|
cpu->isar.id_mmfr4 = t;
|
||||||
|
|
||||||
t = cpu->isar.id_mmfr5;
|
t = cpu->isar.id_mmfr5;
|
||||||
|
|
Loading…
Reference in New Issue