[PATCH v2 10/18] KVM: arm64: vgic-v5: Add missing trap handing for NV triage

Joey Gouly joey.gouly at arm.com
Wed May 20 06:54:39 PDT 2026


On Wed, May 20, 2026 at 10:19:41AM +0100, Marc Zyngier wrote:
> From: Sascha Bischoff <sascha.bischoff at arm.com>
> 
> As things stand, there is no support for Nested Virt with GICv5 guests
> yet. However, this is coming and therefore we need to be able to
> correctly triage the traps when running with NV.
> 
> Add the missing fgtreg lookups required for that to
> triage_sysreg_trap(). These are specific to the FGT regs added as part
> of GICv5:
>    * ICH_HFGRTR_EL2
>    * ICH_HFGWTR_EL2
>    * ICH_HFGITR_EL2
> 
> Fixes: 9d6d9514c08f "(KVM: arm64: gic-v5: Support GICv5 FGTs & FGUs")
> Link: https://sashiko.dev/#/patchset/20260319154937.3619520-1-sascha.bischoff%40arm.com
> Signed-off-by: Sascha Bischoff <sascha.bischoff at arm.com>
> Signed-off-by: Marc Zyngier <maz at kernel.org>

Reviewed-by: Joey Gouly <joey.gouly at arm.com>

> ---
>  arch/arm64/kvm/emulate-nested.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/arch/arm64/kvm/emulate-nested.c b/arch/arm64/kvm/emulate-nested.c
> index dba7ced74ca5e..a4eb36b4c4421 100644
> --- a/arch/arm64/kvm/emulate-nested.c
> +++ b/arch/arm64/kvm/emulate-nested.c
> @@ -2631,6 +2631,14 @@ bool triage_sysreg_trap(struct kvm_vcpu *vcpu, int *sr_index)
>  		fgtreg = HFGITR2_EL2;
>  		break;
>  
> +	case ICH_HFGRTR_GROUP:
> +		fgtreg = is_read ? ICH_HFGRTR_EL2 : ICH_HFGWTR_EL2;
> +		break;
> +
> +	case ICH_HFGITR_GROUP:
> +		fgtreg = ICH_HFGITR_EL2;
> +		break;
> +
>  	default:
>  		/* Something is really wrong, bail out */
>  		WARN_ONCE(1, "Bad FGT group (encoding %08x, config %016llx)\n",
> -- 
> 2.47.3
> 



More information about the linux-arm-kernel mailing list