Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

KVM: arm64: Add trap routing for GMID_EL1

HCR_EL2.TID5 is currently ignored by the trap routing infrastructure.
Wire it in the routing table so that GMID_EL1, the sole register
trapped by this bit, is correctly handled in the NV case.

Link: https://patch.msgid.link/20260108173233.2911955-3-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>

+8
+8
arch/arm64/kvm/emulate-nested.c
··· 70 70 CGT_HCR_ENSCXT, 71 71 CGT_HCR_TTLBIS, 72 72 CGT_HCR_TTLBOS, 73 + CGT_HCR_TID5, 73 74 74 75 CGT_MDCR_TPMCR, 75 76 CGT_MDCR_TPM, ··· 307 306 .index = HCR_EL2, 308 307 .value = HCR_TTLBOS, 309 308 .mask = HCR_TTLBOS, 309 + .behaviour = BEHAVE_FORWARD_RW, 310 + }, 311 + [CGT_HCR_TID5] = { 312 + .index = HCR_EL2, 313 + .value = HCR_TID5, 314 + .mask = HCR_TID5, 310 315 .behaviour = BEHAVE_FORWARD_RW, 311 316 }, 312 317 [CGT_MDCR_TPMCR] = { ··· 672 665 SR_TRAP(SYS_CCSIDR2_EL1, CGT_HCR_TID2_TID4), 673 666 SR_TRAP(SYS_CLIDR_EL1, CGT_HCR_TID2_TID4), 674 667 SR_TRAP(SYS_CSSELR_EL1, CGT_HCR_TID2_TID4), 668 + SR_TRAP(SYS_GMID_EL1, CGT_HCR_TID5), 675 669 SR_RANGE_TRAP(SYS_ID_PFR0_EL1, 676 670 sys_reg(3, 0, 0, 7, 7), CGT_HCR_TID3), 677 671 SR_TRAP(SYS_ICC_SGI0R_EL1, CGT_HCR_IMO_FMO_ICH_HCR_TC),