KVM: arm64: Add trap routing for FEAT_FGT2 registers
authorMarc Zyngier <maz@kernel.org>
Fri, 25 Apr 2025 16:42:49 +0000 (17:42 +0100)
committerMarc Zyngier <maz@kernel.org>
Mon, 19 May 2025 10:36:21 +0000 (11:36 +0100)
Similarly to the FEAT_FGT registers, pick the correct FEAT_FGT2
register when a sysreg trap indicates they could be responsible
for the exception.

Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/emulate-nested.c

index 3312aefa095e0baa46d0ecb0461771f3e2a3d905..e2a843675da968b41051a4acd13828426559806b 100644 (file)
@@ -2485,6 +2485,18 @@ bool triage_sysreg_trap(struct kvm_vcpu *vcpu, int *sr_index)
                }
                break;
 
+       case HFGRTR2_GROUP:
+               fgtreg = is_read ? HFGRTR2_EL2 : HFGWTR2_EL2;
+               break;
+
+       case HDFGRTR2_GROUP:
+               fgtreg = is_read ? HDFGRTR2_EL2 : HDFGWTR2_EL2;
+               break;
+
+       case HFGITR2_GROUP:
+               fgtreg = HFGITR2_EL2;
+               break;
+
        default:
                /* Something is really wrong, bail out */
                WARN_ONCE(1, "Bad FGT group (encoding %08x, config %016llx)\n",