From nobody Sat Jul 18 00:13:17 2026 X-Original-To: dev-commits-src-main@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 4h26gf1x4xz6lkpx for ; Sat, 18 Jul 2026 00:13:18 +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 4h26gf0Bfsz3PBY for ; Sat, 18 Jul 2026 00:13:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1784333598; 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=OnPk1ZM5WKkB5awzzYbYU/D+Twr/zydW5G9VEjCXMW4=; b=yCecTb1gsrooHb5mPigGsPz3tOsd7N7czf52y6neP9at0ud6PnbFOW6jb0neGhMJqnVd/P dMkTlyw2K+qnSC0jjpjSJAlubTo8+PbS/wdkBXvUYfmNsUw0dtnNogFDZzWwv+fboBT35e AVAXdhVvpbtDeJGFF1mI/r2KsXY7qAnU6bGko8TZBRkQ2Pj3eDWh7IpDNK6JVxkwvXu/Ii xcWQLCxBBO+4hvSHhBMUpLxDzTHLav14BOQPXCLecdAizF7Bl9+plAGRXj8dEo4HHtdwOM 2fT8Z1eqtpRAHxyy/HDFZo/Ki4CmgmpL2wtwjjzakF+QwrP4rLR41rf++M8eiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1784333598; a=rsa-sha256; cv=none; b=xFKB1n6QCcFCu5y++1y8jeWTfxZK1aqrGBGaW9MHmlqKl+ZPfuaoIdOZnt5RIshUnXhiPL pxGbMsh0cHaTV+WwDhHgSCVolaeiJ3GG06Qm/dsPfHkhuNDgExsLWYd4IHKHHhKWw29lap GpTsZ2KeTJnAqRIliORey67zyJHcNOhmKIRJjojEbjjQl87B4/EmRw8lF4ATv9XuS7VNc/ vNQYOQVGdGcUo1FFOiBXViInzbAwDQceepxSI/if0UOJfvKHJUcc8gkWkxkQ/oPZMPEF3m JDpMCczjdl7py4BlnXNDhXnm3TLnzIa7cxTrGIm0R+CdKUWhVsPYQQO9X9i0+A== 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=1784333598; 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=OnPk1ZM5WKkB5awzzYbYU/D+Twr/zydW5G9VEjCXMW4=; b=A00YwchyDEKGPcsKkS28H1kjFg1sxPAzH/2Aibl+nrp8JAS1aWXyLafkcc6gj8U9vtuEQ1 YA2hKocpMLwuNPC9aETW4KldTJlT4xsibV+kDdhveFIV7K8hb0/vLRrlzYk2sL+ycTOgMb liFrNvjsNmeljlHz1EjOsRKm/EEai/Svo+5ODoZvlJ4ddDVWnkKqEQjJeepyQ+cy47BUf/ 5Lb1XfEyd1th3QXGjLm7Hf52VlHVSKCUSJBuC0DG70Aho/GB1Wmsly7PCiL+M6ALWnrDhZ ScJGpRO0C8k9Jo6thVcr6cCOzunjILDalIuwrQZQTOxGMdKTAf8GMHE6lUg/8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4h26gd6BhNz18dk for ; Sat, 18 Jul 2026 00:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f282 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 18 Jul 2026 00:13:17 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jessica Clarke Subject: git: 123dfd378959 - main - arm64/vmm: Fix vgic_v3 dropping EOI for disabled IRQs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 123dfd378959aecc97cfc1d9b457453194d6f25b Auto-Submitted: auto-generated Date: Sat, 18 Jul 2026 00:13:17 +0000 Message-Id: <6a5ac51d.3f282.780c67b5@gitrepo.freebsd.org> The branch main has been updated by jrtc27: URL: https://cgit.FreeBSD.org/src/commit/?id=123dfd378959aecc97cfc1d9b457453194d6f25b commit 123dfd378959aecc97cfc1d9b457453194d6f25b Author: Jessica Clarke AuthorDate: 2026-07-17 23:57:15 +0000 Commit: Jessica Clarke CommitDate: 2026-07-17 23:57:15 +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 --- 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 ee96cc975755..09d1448c1803 100644 --- a/sys/arm64/vmm/io/vgic_v3.c +++ b/sys/arm64/vmm/io/vgic_v3.c @@ -2136,7 +2136,13 @@ vgic_v3_flush_hwstate(device_t dev, struct hypctx *hypctx) if (i == hypctx->vgic_v3.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_write_sys_reg(hypctx, HOST_ICH_LR_EL2(i),