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
This commit is contained in:
Conrad Meyer 2016-06-09 18:27:41 +00:00
parent dd6ea7f7bc
commit 8a3aeac27b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=301751

View File

@ -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 fileid, struct kld_file_stat *stat)
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)
{