On Sat, Oct 05, 2024 at 12:34:20PM +0100, Marc Zyngier wrote: > Mark Brown <broonie@xxxxxxxxxx> wrote: > > + if (!kvm_has_gcs(kvm)) { > > + kvm->arch.fgu[HFGxTR_GROUP] |= (HFGxTR_EL2_nGCS_EL0 | > > + HFGxTR_EL2_nGCS_EL1); > > + kvm->arch.fgu[HFGITR_GROUP] |= (HFGITR_EL2_nGCSEPP | > > + HFGITR_EL2_nGCSSTR_EL1 | > > + HFGITR_EL2_nGCSPUSHM_EL1); > Where is the handling of traps resulting of HFGITR_EL2.nGCSSTR_EL1? These will trap with an EC of 0x2d which isn't known so I was expecting this to get handled in the same way as for example a return of false from kvm_hyp_handle_fpsimd() for SVE when unsupported, or for the simiarly unknown SME EC, currently. I gather from your comment that you're instead expecting to see an explicit exit handler for this EC that just injects the UNDEF directly?
Attachment:
signature.asc
Description: PGP signature