summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/kern/subr_rman.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-11-06 16:20:21 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-11-11 10:08:08 +0100
commit66659ff1ad6831b0ea7425fa6ecd8a8687523658 (patch)
tree48e22b475fa8854128e0861a33fed6f78c8094b5 /freebsd/sys/kern/subr_rman.c
parentDefine __GLOBL1() and __GLOBL() (diff)
downloadrtems-libbsd-66659ff1ad6831b0ea7425fa6ecd8a8687523658.tar.bz2
Update to FreeBSD 9.2
Diffstat (limited to 'freebsd/sys/kern/subr_rman.c')
-rw-r--r--freebsd/sys/kern/subr_rman.c31
1 files changed, 26 insertions, 5 deletions
diff --git a/freebsd/sys/kern/subr_rman.c b/freebsd/sys/kern/subr_rman.c
index 5480201c..668201a9 100644
--- a/freebsd/sys/kern/subr_rman.c
+++ b/freebsd/sys/kern/subr_rman.c
@@ -1087,11 +1087,21 @@ found:
return (error);
}
-SYSCTL_NODE(_hw_bus, OID_AUTO, rman, CTLFLAG_RD, sysctl_rman,
+static SYSCTL_NODE(_hw_bus, OID_AUTO, rman, CTLFLAG_RD, sysctl_rman,
"kernel resource manager");
#ifdef DDB
static void
+dump_rman_header(struct rman *rm)
+{
+
+ if (db_pager_quit)
+ return;
+ db_printf("rman %p: %s (0x%lx-0x%lx full range)\n",
+ rm, rm->rm_descr, rm->rm_start, rm->rm_end);
+}
+
+static void
dump_rman(struct rman *rm)
{
struct resource_i *r;
@@ -1099,8 +1109,6 @@ dump_rman(struct rman *rm)
if (db_pager_quit)
return;
- db_printf("rman: %s\n", rm->rm_descr);
- db_printf(" 0x%lx-0x%lx (full range)\n", rm->rm_start, rm->rm_end);
TAILQ_FOREACH(r, &rm->rm_list, r_link) {
if (r->r_dev != NULL) {
devname = device_get_nameunit(r->r_dev);
@@ -1121,16 +1129,29 @@ dump_rman(struct rman *rm)
DB_SHOW_COMMAND(rman, db_show_rman)
{
- if (have_addr)
+ if (have_addr) {
+ dump_rman_header((struct rman *)addr);
dump_rman((struct rman *)addr);
+ }
+}
+
+DB_SHOW_COMMAND(rmans, db_show_rmans)
+{
+ struct rman *rm;
+
+ TAILQ_FOREACH(rm, &rman_head, rm_link) {
+ dump_rman_header(rm);
+ }
}
DB_SHOW_ALL_COMMAND(rman, db_show_all_rman)
{
struct rman *rm;
- TAILQ_FOREACH(rm, &rman_head, rm_link)
+ TAILQ_FOREACH(rm, &rman_head, rm_link) {
+ dump_rman_header(rm);
dump_rman(rm);
+ }
}
DB_SHOW_ALIAS(allrman, db_show_all_rman);
#endif