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)
 {
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to