diff options
author | kib <kib@FreeBSD.org> | 2013-04-05 14:30:51 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2013-04-05 14:30:51 +0000 |
commit | d6e3efdde97c9e3ed66f70b5cd94ff323da6fd5a (patch) | |
tree | 16a6c4a75dd1aa3d4c4ff74b1ca3e1f8c360f294 /sys/kern/kern_intr.c | |
parent | 9414459699f1fec0c072d9fba0b3c751e9847175 (diff) | |
download | FreeBSD-src-d6e3efdde97c9e3ed66f70b5cd94ff323da6fd5a.zip FreeBSD-src-d6e3efdde97c9e3ed66f70b5cd94ff323da6fd5a.tar.gz |
If filter of the interrupt event is not null, print it, in addition to
the handler address. Add a mark to distinguish between filter and
handler.
Note that the arguments for both filter and handler are same.
Sponsored by: The FreeBSD Foundation
Reviewed by: jhb
MFC after: 1 week
Diffstat (limited to 'sys/kern/kern_intr.c')
-rw-r--r-- | sys/kern/kern_intr.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c index 8351ab8..8d63c9b 100644 --- a/sys/kern/kern_intr.c +++ b/sys/kern/kern_intr.c @@ -1739,7 +1739,16 @@ db_dump_intrhand(struct intr_handler *ih) break; } db_printf(" "); - db_printsym((uintptr_t)ih->ih_handler, DB_STGY_PROC); + if (ih->ih_filter != NULL) { + db_printf("[F]"); + db_printsym((uintptr_t)ih->ih_filter, DB_STGY_PROC); + } + if (ih->ih_handler != NULL) { + if (ih->ih_filter != NULL) + db_printf(","); + db_printf("[H]"); + db_printsym((uintptr_t)ih->ih_handler, DB_STGY_PROC); + } db_printf("(%p)", ih->ih_argument); if (ih->ih_need || (ih->ih_flags & (IH_EXCLUSIVE | IH_ENTROPY | IH_DEAD | |