From nobody Mon Oct 05 14:13:29 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 4hz1Zf062Mz6jw8l for ; Mon, 05 Oct 2026 14:13:30 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hz1Zd6L5fz3FfZ for ; Mon, 05 Oct 2026 14:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791209609; 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=vUVVWE54VIT2QppRXzfWL7qSLRWVaVHp1pQmv8cPjfM=; b=nFnbZ+VG0WBeiVrfOh48FB5veI4w5aMnHKIek62rR8r2kF9b0hom4jB9BQp9EqG6ELIk7L H4C/4Fz/HyAFk14JjKYKonGxMruvfmitvlqRfBnhXfUBGceDdwZveDMuT8SA02bIoHyCPB a9LAa6TjkkZpcYrrQKiw1dMNBJeEwnXtuJLMpUHQoZp7TAHLY0icXqwjWeA1YJvlebA/4t 3jXKWwYJdEVSReuxFJCnqLBxwjDoLU3qFbXEZrA9t/Ouy6jaW1EcjxYIQud5Gr8pc6z/Zl 3zYT2oZubEJuj1u1pBj7vjEYLUc/4yXjNorxvRzqdwwfBNVRMOqEb8rGZqDy1Q== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791209609; b=RXF+B5VnWo8ze3xiYoxRx2oLxzfJ2wLgPuloidgu30XV8wPgfl/vHxObeaFYJPA3HxmHJc 7rgKbefu8JEhts2sVTRMy0ztgGLVtOUbTAsijKNs6dEcN1JEFIJ3RrFP1T8qtADLNdIEes C+/hipysqhbk5XtdNeU7LEsF2lfdvqXiw9FiAvqT3BdG05+8xf3Pgn4Jt/DEICsrWnwYJi 3pLnBzse6AUht0sRrBR+cYTrAR3uhLWtnYbuQP97kE7u11ypdQ5ylMF8AMxZ/eHim//HKl PFLeyxapYGLLEZ0mebsPq7YGUTaPjEEv2YLImOadsN0vXAp+QQ7iYUGUX3T8UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791209609; 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=vUVVWE54VIT2QppRXzfWL7qSLRWVaVHp1pQmv8cPjfM=; b=ZnEPu3ZIUJCFzW5oP07JiUSmmS1hvNtrp5kKEZH+LMhMAS9H5xlmaIi1vNF2XRtsrbAFAz Jh45gqlVfMRSU1Rz8ILkQZC5//CDy4VPFhreV3vRi30y7B7nrKbQOeUXwwDGbrkjmTkSyX BHE41gfz9s7CDM4BrXKTAYiAvrWF5UeNMe+rSh3vZEGjtuTvtq1VaCd3+CPJDXWdYphMQX 3gQw1h3lh+MQiUa0SPHo+MZGvdVUXjy/Iz7KIM/jYNxPiCVvsXvs7/HLsdd5qWzRJJOtZB UqVbXRkd9IXZZck7K0350wf3cpP8cnGJWcfSa93JkmYAb72+0JL52y6UKytYuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hz1Zd5LrzzNF1 for ; Mon, 05 Oct 2026 14:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 444eb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 05 Oct 2026 14:13:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 412c3a037049 - main - arm64/gicv5: Use ArmMpidr to find the correct CPU 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 412c3a0370491c6745e056266f54ce9aa67017e1 Auto-Submitted: auto-generated Date: Mon, 05 Oct 2026 14:13:29 +0000 Message-Id: <6ac3b089.444eb.5231fef4@gitrepo.freebsd.org> The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=412c3a0370491c6745e056266f54ce9aa67017e1 commit 412c3a0370491c6745e056266f54ce9aa67017e1 Author: Andrew Turner AuthorDate: 2026-10-05 13:31:02 +0000 Commit: Andrew Turner CommitDate: 2026-10-05 14:13:06 +0000 arm64/gicv5: Use ArmMpidr to find the correct CPU The GICv5 ACPI code uses CpuInterfaceNumber to as the CPU ID. This a GICv5 CPU ID and may not be the same as the appropriate FreeBSD value. It is also possible the target CPU is disabled, e.g. when the hw.ncpu tunable is uses to limit CPUs. If this is the case we don't want to enable the CPU in the cpu set as it is offline so cannot handle interrupts. Switch to use ArmMpidr to find which pcpu to use when finding which CPUs the IRS is attached to. Fixes: 9556306213e1 ("arm64: Add ACPI support to GICv5 driver") Differential Revision: https://reviews.freebsd.org/D59993 Sponsored by: Arm Ltd --- sys/arm64/arm64/gicv5_acpi.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/sys/arm64/arm64/gicv5_acpi.c b/sys/arm64/arm64/gicv5_acpi.c index 0cece1eae0e5..aebea1dcd466 100644 --- a/sys/arm64/arm64/gicv5_acpi.c +++ b/sys/arm64/arm64/gicv5_acpi.c @@ -28,11 +28,12 @@ #include #include #include +#include #include #include #include #include -#include +#include #include #include @@ -254,14 +255,24 @@ madt_process_gicc(ACPI_SUBTABLE_HEADER *entry, void *arg) { struct process_gicc_args *gicc_args; ACPI_MADT_GENERIC_INTERRUPT *gicc; + struct pcpu *pcpu; + int cpu; gicc_args = (struct process_gicc_args *)arg; if (entry->Type == ACPI_MADT_TYPE_GENERIC_INTERRUPT) { gicc = (ACPI_MADT_GENERIC_INTERRUPT *)entry; - if (gicc->IrsId == gicc_args->irs_id) - CPU_SET(gicc->CpuInterfaceNumber, &gicc_args->cpuset); + if (gicc->IrsId == gicc_args->irs_id) { + /* Find CPU ID from gicc->ArmMpidr */ + CPU_FOREACH(cpu) { + pcpu = pcpu_find(cpu); + if (pcpu->pc_mpidr != gicc->ArmMpidr) + continue; + CPU_SET(pcpu->pc_cpuid, &gicc_args->cpuset); + break; + } + } } }