On Mon, 11 Sept 2023 at 14:53, Peter Maydell <peter.mayd...@linaro.org> wrote: > > For user-only mode we reveal a subset of the AArch64 ID registers > to the guest, to emulate the kernel's trap-and-emulate-ID-regs > handling. Update the feature bit masks to match upstream kernel > commit a48fa7efaf1161c1c. > > None of these features are yet implemented by QEMU, so this > doesn't yet have a behavioural change, but implementation of > FEAT_MOPS and FEAT_HBC is imminent. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > target/arm/helper.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-)
I forgot to update tests/tcg/aarch64/sysregs.c to indicate that the new fields are permitted to be visible to userspace. This patch needs the following squashed in: diff --git a/tests/tcg/aarch64/sysregs.c b/tests/tcg/aarch64/sysregs.c index d8eb06abcf2..f7a055f1d5f 100644 --- a/tests/tcg/aarch64/sysregs.c +++ b/tests/tcg/aarch64/sysregs.c @@ -126,7 +126,7 @@ int main(void) */ get_cpu_reg_check_mask(id_aa64isar0_el1, _m(f0ff,ffff,f0ff,fff0)); get_cpu_reg_check_mask(id_aa64isar1_el1, _m(00ff,f0ff,ffff,ffff)); - get_cpu_reg_check_mask(SYS_ID_AA64ISAR2_EL1, _m(0000,0000,0000,ffff)); + get_cpu_reg_check_mask(SYS_ID_AA64ISAR2_EL1, _m(00ff,0000,00ff,ffff)); /* TGran4 & TGran64 as pegged to -1 */ get_cpu_reg_check_mask(id_aa64mmfr0_el1, _m(f000,0000,ff00,0000)); get_cpu_reg_check_mask(id_aa64mmfr1_el1, _m(0000,f000,0000,0000)); @@ -138,7 +138,7 @@ int main(void) get_cpu_reg_check_mask(id_aa64dfr0_el1, _m(0000,0000,0000,0006)); get_cpu_reg_check_zero(id_aa64dfr1_el1); get_cpu_reg_check_mask(SYS_ID_AA64ZFR0_EL1, _m(0ff0,ff0f,00ff,00ff)); - get_cpu_reg_check_mask(SYS_ID_AA64SMFR0_EL1, _m(80f1,00fd,0000,0000)); + get_cpu_reg_check_mask(SYS_ID_AA64SMFR0_EL1, _m(8ff1,fcff,0000,0000)); get_cpu_reg_check_zero(id_aa64afr0_el1); get_cpu_reg_check_zero(id_aa64afr1_el1); to avoid check-tcg failing when the new features like FEAT_MOPS or FEAT_HBC are present in 'max'. -- PMM