From nobody Sun Feb 22 04:06:13 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 4fJVln5Ffmz6StK4 for ; Sun, 22 Feb 2026 04:06:13 +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 "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fJVln49lNz3Vxh for ; Sun, 22 Feb 2026 04:06:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771733173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nYklUgaze4lMKk3Jz7+tgsd5H3BhBK5biO4I3skNwfA=; b=vnj0IK+3u+bnlYmn4MHCJIjdtVUNelg2PLBtBlxBtcO4ndxbNY1+9aBBpsOFpVNXoEnBaS DHVHmR9E11rDfAG5mG5pisCxUM1ymePTpoN1dYBQPiTPc02rWj6BqrPuw8JgUHLBF7OSBU TB8m6FulFsrr8Pr4/TsT/rkuNON0C6EKLEtqY84RLTM/rVnKnqC942TcDxYV9FJmwPYXke S5UpBkOkTuSOcH3Z24/KqN11DrjMo4KVD7Or5dKzrfQz5U3HzXmQ3evNrol4m8/ylm01YH iatr3xIjd6ZljMN8Z04sW7obmKQQAWlQZS5bRfS2wIsssgIBg7OL1JkObsA7Og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771733173; a=rsa-sha256; cv=none; b=o29IlJ5FFIScAcJH32g49gKXMTL7GEHGTt04NBqKcRU1ivB+XLhiWPCayl9BctZLOx59Hf 8hrWFnbxkGPZWDvpWpM0wLTrJCFX9PXeCKVtVnqsVzDhHUfPhhkEY9mMcojXkqA3N+IcUz Ar7+jPdPHPADMI72UYZObU76JKkvs4nnHb0epXBx5sMjJNc7cP4o09tNEaAxhiQ0d9+7CL yk2zowGpm6D4qvHnYIjInJ0BPU/V3PADSybijs98kAI8Sz6aDbC4z03eTieXvCBke88hNp KDm9cS4YIHnt5sBJrEUWDHPPLI61uNafUvX0XhOjFVQDJvRaB+yHvgENZMv1fA== 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=1771733173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nYklUgaze4lMKk3Jz7+tgsd5H3BhBK5biO4I3skNwfA=; b=SsfKVkN4QYezfWGFiSa3pR7E5TZEk1H+9c3TBlr3yiQJ5u3L38KC4VOhc2++Hf2LID7GFr XtrZG0uX8lfn/5mQ8BMtnXBKhgqIl5YErZqkqcD6S5lRXq6Yp9mbZH5h9ibxn5uETeEy/G P9m09WzE4JgitIYAqz7YDqxHroqSrgsve+GfPsn4KhzciK4AZ+6ErJ6iWdtEZwUQdM15ot 0J8h5HyrMe6dGr1M5pLg6FZ/qGXmxcEc3S3CQtvEEva8BzNCG4e4s0lxAgmlu829r8nPd1 Dl3oRLT/DNg7zJj6sccOx0iI86dDx/v2/uEduJkeRDijdK6hBf3NNC6gTRvjYw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fJVln3SBbzCnW for ; Sun, 22 Feb 2026 04:06:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22dd1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 22 Feb 2026 04:06:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Abdelkader Boudih From: Enji Cooper Subject: git: afa1058ff70a - stable/15 - asmc: improve asmc_dumpall to read actual SMC key count 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: afa1058ff70a1850759802ff03124fb4e6772a0e Auto-Submitted: auto-generated Date: Sun, 22 Feb 2026 04:06:13 +0000 Message-Id: <699a80b5.22dd1.5e205063@gitrepo.freebsd.org> The branch stable/15 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=afa1058ff70a1850759802ff03124fb4e6772a0e commit afa1058ff70a1850759802ff03124fb4e6772a0e Author: Abdelkader Boudih AuthorDate: 2026-01-03 18:33:11 +0000 Commit: Enji Cooper CommitDate: 2026-02-22 04:05:39 +0000 asmc: improve asmc_dumpall to read actual SMC key count The asmc_dumpall debug function previously used a hardcoded loop limit of 0x100 (256) keys with a "XXX magic number" comment. This change improves asmc_dumpall to: * Read the actual number of keys from the ASMC_NKEYS SMC key * Print the key count being dumped for better debugging output * Loop only up to the actual key count (e.g., 297 on Mac Mini 5,1) This provides more accurate debug output and removes the magic number. Tested on Mac Mini 5,1 (FreeBSD 16.0-CURRENT): * Rebuild kernel with DEBUG enabled in asmc driver * Boot with new kernel * Verify dmesg shows "asmc_dumpall: dumping 297 keys" (or actual count) * Verify all 297 keys are dumped Differential Revision: https://reviews.freebsd.org/D54436 Reviewed by: markj, adrian (cherry picked from commit 2a7c4685b7693bfa15e2bd4d5e82905a368b0030) --- sys/dev/asmc/asmc.c | 25 +++++++++++++++++-------- sys/dev/asmc/asmcvar.h | 1 + 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index da040b1e434a..5d3b97a065c9 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -833,10 +833,16 @@ asmc_resume(device_t dev) #ifdef ASMC_DEBUG void asmc_dumpall(device_t dev) { + struct asmc_softc *sc = device_get_softc(dev); int i; - /* XXX magic number */ - for (i=0; i < 0x100; i++) + if (sc->sc_nkeys == 0) { + device_printf(dev, "asmc_dumpall: key count not available\n"); + return; + } + + device_printf(dev, "asmc_dumpall: dumping %d keys\n", sc->sc_nkeys); + for (i = 0; i < sc->sc_nkeys; i++) asmc_key_dump(dev, i); } #endif @@ -924,12 +930,15 @@ nosms: sc->sc_nfan = ASMC_MAXFANS; } - if (bootverbose) { - /* - * The number of keys is a 32 bit buffer - */ - asmc_key_read(dev, ASMC_NKEYS, buf, 4); - device_printf(dev, "number of keys: %d\n", ntohl(*(uint32_t*)buf)); + /* + * Read and cache the number of SMC keys (32 bit buffer) + */ + if (asmc_key_read(dev, ASMC_NKEYS, buf, 4) == 0) { + sc->sc_nkeys = be32dec(buf); + if (bootverbose) + device_printf(dev, "number of keys: %d\n", sc->sc_nkeys); + } else { + sc->sc_nkeys = 0; } #ifdef ASMC_DEBUG diff --git a/sys/dev/asmc/asmcvar.h b/sys/dev/asmc/asmcvar.h index d40dc1e7c8ff..b6d8686d9670 100644 --- a/sys/dev/asmc/asmcvar.h +++ b/sys/dev/asmc/asmcvar.h @@ -33,6 +33,7 @@ struct asmc_softc { device_t sc_dev; struct mtx sc_mtx; int sc_nfan; + int sc_nkeys; int16_t sms_rest_x; int16_t sms_rest_y; int16_t sms_rest_z;