From nobody Thu Apr 30 05:20:51 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 4g5jDz5Xnlz6ZW4p for ; Thu, 30 Apr 2026 05:20: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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g5jDz51Lkz3bWK for ; Thu, 30 Apr 2026 05:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777526451; 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=lmoV/si0t7IbxCCvsQdKajMmr/wYF89y352NbeiWbEI=; b=UaP6AUqWyEyMmgXgAIBA4Sm4Hd3QgxIwp5ZH20ZN7cy8rW/PO3rSpOohW1TiWKB7lgcLu4 31uttbncr4rpvxHLPRNTeRy8Godl7Z2QLDOzNkcGkGjNm7br7/xKvarRxHN9kth5BaVFzp H9M7mbi1DibrNn78KRNq340SIXxe0PUwG8SbHIuF/8Iz2YgycARSuV60MVzaCG8USOYk1j dc0WGtBX/459hjU7ChDdn/b2xa3yOGCYPdFmrYtDxR0f96Ajdwd1odtdK40WWrwbsUUwVL XQEkISIXwKUM20zkWOqCBW+zk95J/lR2QbZvR/niMLQCJz5dmDsopgIuTxrbbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777526451; a=rsa-sha256; cv=none; b=oEWxnxz4nlPMGWSOjUXffvQLqoXDkWy99o3RW8wxnQLK+LAE4+KEp6zRrRT2r3uwavo3rE Vdd/KV3YefABnMI/8PwWhrzaxOOPE72yo8XIVd5QqFpPNJ2ntScdPnP8iiDWzckINyT9IM 6gh9Yd90geKXHxLVGiQUX+nl2Co7X3un4dD/wYWOub8LIpMBRYxLMzlkaPV+BW2ZmaQMU/ OFTXf+wXSrQ+nHyzm210YngpHNVruzpL5oeGGvWbhXg4LLTmdZGO/lIK+xhhmg2Xlxq3nq CrWDu4PCgy6N7BNJ7bHzfgnnIczopU9+mkp/NxqRmAHIdFl3rfvwo+4CsnI0rA== 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=1777526451; 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=lmoV/si0t7IbxCCvsQdKajMmr/wYF89y352NbeiWbEI=; b=CceP2zsv5IA58ixTQv9m2cSm9a2VdPwcSEEYYN9chPNiz7PbDq+U38VtGe8W1fl27Or6dk dGyzCx5ICEuZyob5cy0DgYglu4uD1gY1Ti0GeLax5NJghf4Qv6PBLfTmJLc2duCMTNCOJz Zx3zIUfhqHyUCEoXVcs6vcNM9CY5MNAdw1lIV0fKfFcYDQG4DxEYLL/0Wzz5exztoVGyNP 4HS59ng5wBBnqsza2EcA63bjNDqZWYyt6JX6wEnKJHsoTQ0OtsRAvU1FgoZouAr8PYr53R bnYzsJfvZ/CXL5IWekZxqzPv53a405Gonw/6SKu4lb8LJCmhDUkggno0ub3xLA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g5jDz4Vzxz1C6C for ; Thu, 30 Apr 2026 05:20:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22073 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 30 Apr 2026 05:20:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Stephen J. Kiernan Subject: git: b683fd0b3206 - main - preload: add "show preload" DDB command 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 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: stevek X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b683fd0b3206b35214f7f87805246e5c74552942 Auto-Submitted: auto-generated Date: Thu, 30 Apr 2026 05:20:51 +0000 Message-Id: <69f2e6b3.22073.38fe94f3@gitrepo.freebsd.org> The branch main has been updated by stevek: URL: https://cgit.FreeBSD.org/src/commit/?id=b683fd0b3206b35214f7f87805246e5c74552942 commit b683fd0b3206b35214f7f87805246e5c74552942 Author: Stephen J. Kiernan AuthorDate: 2026-04-30 05:19:09 +0000 Commit: Stephen J. Kiernan CommitDate: 2026-04-30 05:20:12 +0000 preload: add "show preload" DDB command This is the DDB equivalent of the debug.dump_modinfo sysctl which outputs pretty-printed bootloader metadata. Move sbuf_db_printf_drain to subr_prf.c and expose it for general use. Reviewed By: jmg Differential Revision: https://reviews.freebsd.org/D53763 --- sys/kern/subr_module.c | 20 ++++++++++++++++++++ sys/kern/subr_prf.c | 9 +++++++++ sys/kern/subr_witness.c | 6 ------ sys/sys/sbuf.h | 3 +++ 4 files changed, 32 insertions(+), 6 deletions(-) diff --git a/sys/kern/subr_module.c b/sys/kern/subr_module.c index 92f22206f8cf..b2d723fef038 100644 --- a/sys/kern/subr_module.c +++ b/sys/kern/subr_module.c @@ -28,6 +28,9 @@ * SUCH DAMAGE. */ +#include +#include "opt_ddb.h" + #include #include #include @@ -39,6 +42,10 @@ #include #include +#ifdef DDB +#include +#endif + /* * Preloaded module support */ @@ -607,3 +614,16 @@ SYSCTL_PROC(_debug, OID_AUTO, dump_modinfo, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0, sysctl_preload_dump, "A", "pretty-print the bootloader metadata"); + +#ifdef DDB +DB_SHOW_COMMAND_FLAGS(preload, db_show_preload, DB_CMD_MEMSAFE) +{ + struct sbuf sb; + char buffer[128]; + + sbuf_new(&sb, buffer, sizeof(buffer), SBUF_FIXEDLEN); + sbuf_set_drain(&sb, sbuf_db_printf_drain, NULL); + preload_dump_internal(&sb); + sbuf_finish(&sb); +} +#endif diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index bbf81b7a4ffe..35b5ee8ccdc8 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -1358,3 +1358,12 @@ sbuf_printf_drain(void *arg, const char *data, int len) return (r); } + +#if defined(_KERNEL) && defined(DDB) +int +sbuf_db_printf_drain(void *arg __unused, const char *data, int len) +{ + + return (db_printf("%.*s", len, data)); +} +#endif diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c index 85dc0c321797..3c192b2b0dce 100644 --- a/sys/kern/subr_witness.c +++ b/sys/kern/subr_witness.c @@ -3121,12 +3121,6 @@ sysctl_debug_witness_badstacks(SYSCTL_HANDLER_ARGS) } #ifdef DDB -static int -sbuf_db_printf_drain(void *arg __unused, const char *data, int len) -{ - return (db_printf("%.*s", len, data)); -} - DB_SHOW_COMMAND_FLAGS(badstacks, db_witness_badstacks, DB_CMD_MEMSAFE) { struct sbuf sb; diff --git a/sys/sys/sbuf.h b/sys/sys/sbuf.h index 60dcda53a461..e9959d7b2a13 100644 --- a/sys/sys/sbuf.h +++ b/sys/sys/sbuf.h @@ -114,6 +114,9 @@ struct uio; struct sbuf *sbuf_uionew(struct sbuf *, struct uio *, int *); int sbuf_bcopyin(struct sbuf *, const void *, size_t); int sbuf_copyin(struct sbuf *, const void *, size_t); +#ifdef DDB +int sbuf_db_printf_drain(void *arg, const char *data, int len); +#endif #endif __END_DECLS