From nobody Sun Feb 22 04:06:50 2026 X-Original-To: dev-commits-src-all@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 4fJVmW0g9Jz6StM7 for ; Sun, 22 Feb 2026 04:06:51 +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 4fJVmV4nQ7z3WlL for ; Sun, 22 Feb 2026 04:06:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771733210; 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=qIgGB3Li1d73DdxWGF9l3azPGm2XGVm1eXhHrxx8y84=; b=d+RXQRk3GG/pXzjfZllP5Vn2Sq6J+1ylkCJtQD63tSkWV/w6H/CpCxH+NNZntYIE4m/MO7 pUDKVm+Xi4D4q6DcuMLGdc+imswUQ4aA4kv+FYKlNQwSBtIQRwRqMaIsDyn1j+9vwiBzg4 Wp/ldJHA8b2kxFIPH6FpXlOYj+Ig7B5jgf3FVXd2mZRFqarEDgAyyoL/sNJ4R48gPGU4J6 UVOV+a2DRFyYgi7BPfNXOfc1jhKOOsLiX+eU0v+Zugie+gVR32T4FFa03AggRzdV0x5OFc GVn/w7iwxgyUTXqnwN+oqL/G4OTEGq5Y5XZ0ml1ej0eJUJSPgW+yPRDow8y9nA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771733210; a=rsa-sha256; cv=none; b=glDq6+ytDMIUnDAci5Uce3PqtFBThSJXStJWxz2OG4IYWWfxESCeHO07Q1j504b4JxXIsn nQslJs0UU7fcSC9kgHd+7iCo2EbZTQ6UUvZFmMi18JH2z60y3uZkRTdhu92JpNhZKaizI8 RBDZfrKII0esfsUrEcUGEDrlxDlV4lhrGAavDyqCMgyXoZgCmuwzVEKjuukNre7BfCfSt2 30i9cVhZzyc2t2zUy2U10KPWRPODcUzLq/tTHW6aJulTibgUAbxRC7KG4qC6BttJ5vIpJP edkke2IAI5bELWcqN3vI5XDomCthQUBQts0JyVoDUhNn7J/j+GcpQJKkACByFA== 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=1771733210; 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=qIgGB3Li1d73DdxWGF9l3azPGm2XGVm1eXhHrxx8y84=; b=RG6K3ucweKIocXTFRSLN1LDYku5595KjqNkYid5E4v9tCQnQSmZ3BwKSVOXn9xXxLOM94q b1bZF8tX7PYfkT9mqjQ7xlSZUhf4aABx5n2dmi2bxCgkXJ7s/LXxVBP7Ffh1nSYGtNWe44 9TSqiwdn/k6XpUiwItSyeowPARo2S9m1D4B4ZGXjPo4vj5yqfdQ89jR83OluoR94mXmCrH v2SlFJs0XrwJubUMGj9YKmMeq86eIB0lo+7pnWCL/Idzdid+xhTJ3sZMzeWGpPgx4wJzdC iAZ7QQ7/XOBJ6En40KzhjsRO47aHLoBkJIovjEnNQyw9eQxcbMY7yKy4gBjmVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fJVmV4GX7zCKl for ; Sun, 22 Feb 2026 04:06:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22dd6 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 22 Feb 2026 04:06:50 +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: 26f41f8e5ebe - stable/14 - asmc: improve asmc_dumpall to read actual SMC key count List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/14 X-Git-Reftype: branch X-Git-Commit: 26f41f8e5ebee7faf2fb9a65baa18bb41ad63564 Auto-Submitted: auto-generated Date: Sun, 22 Feb 2026 04:06:50 +0000 Message-Id: <699a80da.22dd6.73b9dee@gitrepo.freebsd.org> The branch stable/14 has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=26f41f8e5ebee7faf2fb9a65baa18bb41ad63564 commit 26f41f8e5ebee7faf2fb9a65baa18bb41ad63564 Author: Abdelkader Boudih AuthorDate: 2026-01-03 18:33:11 +0000 Commit: Enji Cooper CommitDate: 2026-02-22 04:04:06 +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 3c63e959fc9f..e4b1afa9619d 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -806,10 +806,16 @@ asmc_resume(device_t dev) #ifdef 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 @@ -897,12 +903,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 DEBUG diff --git a/sys/dev/asmc/asmcvar.h b/sys/dev/asmc/asmcvar.h index 73a8fc449c2c..b2fa62f8b6af 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;