Page MenuHomeFreeBSD

D53763.diff
No OneTemporary

D53763.diff

diff --git a/sys/kern/subr_module.c b/sys/kern/subr_module.c
--- a/sys/kern/subr_module.c
+++ b/sys/kern/subr_module.c
@@ -28,6 +28,9 @@
* SUCH DAMAGE.
*/
+#include <sys/cdefs.h>
+#include "opt_ddb.h"
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/linker.h>
@@ -39,6 +42,10 @@
#include <vm/vm.h>
#include <vm/vm_extern.h>
+#ifdef DDB
+#include <ddb/ddb.h>
+#endif
+
/*
* Preloaded module support
*/
@@ -602,3 +609,16 @@
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
--- a/sys/kern/subr_prf.c
+++ b/sys/kern/subr_prf.c
@@ -1336,3 +1336,12 @@
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
--- a/sys/kern/subr_witness.c
+++ b/sys/kern/subr_witness.c
@@ -2800,12 +2800,6 @@
}
#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
--- a/sys/sys/sbuf.h
+++ b/sys/sys/sbuf.h
@@ -114,6 +114,9 @@
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

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 21, 1:52 AM (17 h, 57 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25694934
Default Alt Text
D53763.diff (1 KB)

Event Timeline