From nobody Thu Aug 6 18:03:24 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hGFWd2Z0sz6nQyp for ; Thu, 06 Aug 2026 18:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hGFWd0TWnz3gmS for ; Thu, 06 Aug 2026 18:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786039405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xntxgh0D4Nxi+yhmYMBwfYUWlQFGCPCytD1Sl7abd+I=; b=rOyqDyR1tfJ3bVxt9D1jj6+8D0wdQBGRcoDzVExVatiV4GdvBrqdRrFcoM+0/oRlp5whV6 YqxQCt7WnZVRAZRF58cA0P6dxlwEWzBbaNBO26mj1RXMPdhe+P/0N0baXbfHGy4UWl5hJs fOCLA4SaZB5y2etjOW01uzBJnscSJhEVkAJmCnemKHQkGdCP6efQA+t/fbzBUFkUGQKcyP /qAEFMtWRx87xbiKPuwpkKnpPaMLwcTrX+gW1itD22f+sVbs3zyx1uyccT+WyQZXTrZvrt cXrWr3es1n15sQovCtY/pSwP4SNxthhlna1tr3ZJf6+U37zkp+LiBjUV3HHGpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786039405; a=rsa-sha256; cv=none; b=YZRkSxGsmhtsez5w++G7l5HhboossmLfHhH4KhDYc8t6hgGbk0HcWY4YSQz7OUXAmGc2Mb wp0dxhBbTphSPzW25ocPDojbTeUf8AM3YIc3j+sh4WI7ObfyhV9W34BK0Zm0lJ/SQ5lP0M l4eOzmS96mhB1CCxhlDWekm1vJ6FFyLmgVfLeNlNDGnJpEaC8ZqFjUQ9IJOH/0ccIjFZMG /LIAVzQr7A1fSr+DEpQAd9htD8HB5irQF5ywyi3CJg/YC9rVZbrHIcOFcOI9W3DjrIxp0O csW58G9YBPNzr8fBTztMh5BVxlL1nMnba9GDNF9rbSDsnAi675mPz6Wb1szgYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786039405; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xntxgh0D4Nxi+yhmYMBwfYUWlQFGCPCytD1Sl7abd+I=; b=WW0lnTZGcsaxCdhzuo7ICykPGFiMr2NGdsIet7ABBzKHHwymrlLxB7co62tJtLHiNgY2iq p/bBd69jfUQb5VwflV7xwMAdipYy4VblM501ZMt5SD9kFnV3hj9Fsdk3MN1iLMUf5h0o7U ga5wAfG3A7dD3aU7cJvG0yXqgOY4jirb6K4QccmKJ22f6CgU6vNSP9HxsembLZQ6sbC9hK LECJgVJ/9+IXAYB+jjIfZY+NmT9mKYCmBXPlm8LSMosfjJx2n1C+eHCKVZjd3kQbAyz3vt Fi5+vbnaQmDB49YGzcPyntfy7i3f3vvhgMYMM07V5qLG1HvkvSd2hHBNq9eMRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hGFWc6Mn9zWX8 for ; Thu, 06 Aug 2026 18:03:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30c6a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 06 Aug 2026 18:03:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Jessica Clarke Subject: git: 6184b31972ff - stable/15 - arm64/vmm: Fix vgic_v3 dropping EOI for disabled IRQs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrtc27 X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 6184b31972ff8cb3e93d5618c73744f0687efcc4 Auto-Submitted: auto-generated Date: Thu, 06 Aug 2026 18:03:24 +0000 Message-Id: <6a74cc6c.30c6a.1ba583c0@gitrepo.freebsd.org> The branch stable/15 has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=6184b31972ff8cb3e93d5618c73744f0687efcc4 commit 6184b31972ff8cb3e93d5618c73744f0687efcc4 Author: Jessica Clarke AuthorDate: 2026-07-17 23:57:15 +0000 Commit: Jessica Clarke CommitDate: 2026-08-06 18:02:04 +0000 arm64/vmm: Fix vgic_v3 dropping EOI for disabled IRQs Now that IRQs can properly be disabled by GICD_ICENABLERn, an EOI for a disabled IRQ ends up being lost, since we don't assign it to a list register and don't enable maintenance interrupts for such cases. As a result, we keep the IRQ active, which stops it from ever being delivered again (which would be true even if we supported the active and pending state). Keep disabled but active IRQs around in list registers so we can see the EOI having taken place in a future sync (noting that since we already don't create list registers in active and pending state there are no concerns with causing a disabled IRQ to be delivered). Fixes: 47e073941f4e ("Import the kernel parts of bhyve/arm64") MFC after: 1 week (cherry picked from commit 123dfd378959aecc97cfc1d9b457453194d6f25b) --- sys/arm64/vmm/io/vgic_v3.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/arm64/vmm/io/vgic_v3.c b/sys/arm64/vmm/io/vgic_v3.c index 1565dfb33bc9..ac3720c4c443 100644 --- a/sys/arm64/vmm/io/vgic_v3.c +++ b/sys/arm64/vmm/io/vgic_v3.c @@ -2135,7 +2135,13 @@ vgic_v3_flush_hwstate(device_t dev, struct hypctx *hypctx) if (i == hypctx->vgic_v3_regs.ich_lr_num) break; - if (!irq->enabled) + /* + * NB: Disabled active interrupts are kept around for EOI to + * make them inactive, since we don't enable maintenace + * interrupts to intercept EOIs for interrupts not in a list + * register. + */ + if (!irq->enabled && !irq->active) continue; hypctx->vgic_v3_regs.ich_lr_el2[i] = ICH_LR_EL2_GROUP1 |