KVM: arm64: Add missing HFGITR_EL2 FGT entries to nested virt
authorFuad Tabba <tabba@google.com>
Thu, 14 Dec 2023 10:01:47 +0000 (10:01 +0000)
committerMarc Zyngier <maz@kernel.org>
Mon, 18 Dec 2023 09:22:32 +0000 (09:22 +0000)
Add the missing nested virt FGT table entries HFGITR_EL2. Based
on DDI0601 and DDI0602 2023-09.

Signed-off-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20231214100158.2305400-8-tabba@google.com
arch/arm64/kvm/emulate-nested.c

index 8b473a1bbc1100757f6694fe623490af37a3629e..89901550db342f320d2fb9514ecbe890d1da745b 100644 (file)
@@ -1117,6 +1117,11 @@ static const struct encoding_to_trap_config encoding_to_fgt[] __initconst = {
        SR_FGT(SYS_AFSR1_EL1,           HFGxTR, AFSR1_EL1, 1),
        SR_FGT(SYS_AFSR0_EL1,           HFGxTR, AFSR0_EL1, 1),
        /* HFGITR_EL2 */
+       SR_FGT(OP_AT_S1E1A,             HFGITR, ATS1E1A, 1),
+       SR_FGT(OP_COSP_RCTX,            HFGITR, COSPRCTX, 1),
+       SR_FGT(OP_GCSPUSHX,             HFGITR, nGCSEPP, 0),
+       SR_FGT(OP_GCSPOPX,              HFGITR, nGCSEPP, 0),
+       SR_FGT(OP_GCSPUSHM,             HFGITR, nGCSPUSHM_EL1, 0),
        SR_FGT(OP_BRB_IALL,             HFGITR, nBRBIALL, 0),
        SR_FGT(OP_BRB_INJ,              HFGITR, nBRBINJ, 0),
        SR_FGT(SYS_DC_CVAC,             HFGITR, DCCVAC, 1),