On Sat, Oct 05, 2024 at 12:34:20PM +0100, Marc Zyngier wrote:
Mark Brown broonie@kernel.org 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?