Hi Marc, On 10/14/23 00:33, Marc Zyngier wrote: > DBGVCR32_EL2, DACR32_EL2, IFSR32_EL2 and FPEXC32_EL2 are required to > UNDEF when AArch32 isn't implemented, which is definitely the case when > running NV. > > Given that this is the only case where these registers can trap, > unconditionally inject an UNDEF exception. > > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> Eric > --- > arch/arm64/kvm/sys_regs.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c > index 0afd6136e275..0071ccccaf00 100644 > --- a/arch/arm64/kvm/sys_regs.c > +++ b/arch/arm64/kvm/sys_regs.c > @@ -1961,7 +1961,7 @@ static const struct sys_reg_desc sys_reg_descs[] = { > // DBGDTR[TR]X_EL0 share the same encoding > { SYS_DESC(SYS_DBGDTRTX_EL0), trap_raz_wi }, > > - { SYS_DESC(SYS_DBGVCR32_EL2), NULL, reset_val, DBGVCR32_EL2, 0 }, > + { SYS_DESC(SYS_DBGVCR32_EL2), trap_undef, reset_val, DBGVCR32_EL2, 0 }, > > { SYS_DESC(SYS_MPIDR_EL1), NULL, reset_mpidr, MPIDR_EL1 }, > > @@ -2380,18 +2380,18 @@ static const struct sys_reg_desc sys_reg_descs[] = { > EL2_REG(VTTBR_EL2, access_rw, reset_val, 0), > EL2_REG(VTCR_EL2, access_rw, reset_val, 0), > > - { SYS_DESC(SYS_DACR32_EL2), NULL, reset_unknown, DACR32_EL2 }, > + { SYS_DESC(SYS_DACR32_EL2), trap_undef, reset_unknown, DACR32_EL2 }, > EL2_REG(HDFGRTR_EL2, access_rw, reset_val, 0), > EL2_REG(HDFGWTR_EL2, access_rw, reset_val, 0), > EL2_REG(SPSR_EL2, access_rw, reset_val, 0), > EL2_REG(ELR_EL2, access_rw, reset_val, 0), > { SYS_DESC(SYS_SP_EL1), access_sp_el1}, > > - { SYS_DESC(SYS_IFSR32_EL2), NULL, reset_unknown, IFSR32_EL2 }, > + { SYS_DESC(SYS_IFSR32_EL2), trap_undef, reset_unknown, IFSR32_EL2 }, > EL2_REG(AFSR0_EL2, access_rw, reset_val, 0), > EL2_REG(AFSR1_EL2, access_rw, reset_val, 0), > EL2_REG(ESR_EL2, access_rw, reset_val, 0), > - { SYS_DESC(SYS_FPEXC32_EL2), NULL, reset_val, FPEXC32_EL2, 0x700 }, > + { SYS_DESC(SYS_FPEXC32_EL2), trap_undef, reset_val, FPEXC32_EL2, 0x700 }, > > EL2_REG(FAR_EL2, access_rw, reset_val, 0), > EL2_REG(HPFAR_EL2, access_rw, reset_val, 0),