svn commit: r301751 - head/sys/kern

Conrad E. Meyer cem at FreeBSD.org
Thu Jun 9 18:27:42 UTC 2016


Author: cem
Date: Thu Jun  9 18:27:41 2016
New Revision: 301751
URL: https://svnweb.freebsd.org/changeset/base/301751

Log:
  Add DDB command "kldstat"
  
  It prints much the same information as kldstat(8) without any arguments.
  
  Suggested by:	jhibbits
  Sponsored by:	EMC / Isilon Storage Division

Modified:
  head/sys/kern/kern_linker.c

Modified: head/sys/kern/kern_linker.c
==============================================================================
--- head/sys/kern/kern_linker.c	Thu Jun  9 18:24:51 2016	(r301750)
+++ head/sys/kern/kern_linker.c	Thu Jun  9 18:27:41 2016	(r301751)
@@ -54,6 +54,10 @@ __FBSDID("$FreeBSD$");
 #include <sys/syscallsubr.h>
 #include <sys/sysctl.h>
 
+#ifdef DDB
+#include <ddb/ddb.h>
+#endif
+
 #include <net/vnet.h>
 
 #include <security/mac/mac_framework.h>
@@ -1256,6 +1260,23 @@ kern_kldstat(struct thread *td, int file
 	return (0);
 }
 
+#ifdef DDB
+DB_COMMAND(kldstat, db_kldstat)
+{
+	linker_file_t lf;
+
+#define	POINTER_WIDTH	((int)(sizeof(void *) * 2 + 2))
+	db_printf("Id Refs Address%*c Size     Name\n", POINTER_WIDTH - 7, ' ');
+#undef	POINTER_WIDTH
+	TAILQ_FOREACH(lf, &linker_files, link) {
+		if (db_pager_quit)
+			return;
+		db_printf("%2d %4d %p %-8zx %s\n", lf->id, lf->refs,
+		    lf->address, lf->size, lf->filename);
+	}
+}
+#endif /* DDB */
+
 int
 sys_kldfirstmod(struct thread *td, struct kldfirstmod_args *uap)
 {


More information about the svn-src-head mailing list