diff --git a/tools/debugscripts/dot.gdbinit b/tools/debugscripts/dot.gdbinit index 39033ac8e152..642ef387ecf4 100644 --- a/tools/debugscripts/dot.gdbinit +++ b/tools/debugscripts/dot.gdbinit @@ -105,7 +105,6 @@ Display kldstat information for the target machine and invite user to paste it b end source gdbinit.kernel -source gdbinit.vinum source gdbinit.machine echo Ready to go. Enter 'tr' to connect to the remote target\n diff --git a/tools/debugscripts/gdbinit.vinum b/tools/debugscripts/gdbinit.vinum deleted file mode 100644 index 6a55d72c9b64..000000000000 --- a/tools/debugscripts/gdbinit.vinum +++ /dev/null @@ -1,329 +0,0 @@ -# $FreeBSD$ -# gdb macros for debugging Vinum. -# This file gets included from the .gdbinit files in -# the kernel build directory and /var/crash. -# Normally you won't need to include it directly. -# see gdbinit(9) for further details. - -# Show information about the request pointed to by the variable rq in the current frame. -define rq -rqq rq -end -document rq -Show information about the request pointed to by the variable rq in the current frame. -end - -# Show information about the request (struct rq) pointed at by the parameter -define rqq -set $rq = (struct request *) $arg0 -printf "Request: \n" -output/x *$rq -printf "\n" -bpp $rq->bp -set $rqg = $rq->rqg -while ($rqg != 0) - printf "\nRequest group at %x:\n", $rqg - output/x *$rqg - printf "\n" - set $rqno = 0 - while ($rqno < $rqg->count) - printf "rqg->rqe [%d]: ", $rqno - rrqe &$rqg->rqe[$rqno] - set $rqno = $rqno + 1 - end - set $rqg = $rqg->next - end -end -document rqq -Show information about the request (struct rq) pointed at by the parameter -end - -# Show information about the request element pointed to by the variable rqe in the current frame. -define rqe -rrqe rqe -end -document rqe -Show information about the request element pointed to by the variable rqe in the current frame. -end - -# Show information about the request element (struct rqe) pointed at by the parameter. -define rrqe -set $rqe = (struct rqelement *) $arg0 - printf "sdoffset 0x%x, useroffset 0x%x, dataoffset 0x%x, datalen 0x%x, groupoffset 0x%x, grouplen 0x%x, buflen 0x%x\n", \ - $rqe->sdoffset, \ - $rqe->useroffset, \ - $rqe->dataoffset, \ - $rqe->datalen, \ - $rqe->groupoffset, \ - $rqe->grouplen, \ - $rqe->buflen - printf " Flags 0x%x, Subdisk %d Drive %d\n", \ - $rqe->flags, \ - $rqe->sdno, \ - $rqe->driveno - bpp &$rqe->b -end -document rrqe -Show information about the request element (struct rqe) pointed at by the parameter. -end - -define rqq0 -printf "rq->prq [0].rqe[0].sdno: " -output/x rq->prq[0].rqe[0].sdno -printf "\nBuffer: device: " -output/x rq->prq[0].rqe[0].b.b_dev -printf " data: " -output/x rq->prq[0].rqe[0].b.b_data -printf " length: " -output/x rq->prq[0].rqe[0].b.b_bcount -printf " drive offset: " -output/x rq->prq[0].rqe[0].b.b_blkno -printf " subdisk offset: " -output/x rq->prq[0].rqe[0].sdoffset -printf "\nFlags: " -if (rq->prq[0].rqe[0].b.b_flags & 0x10) -printf "busy " -end -if (rq->prq[0].rqe[0].b.b_flags & 0x200) -printf "done " -end -if (rq->prq[0].rqe[0].b.b_flags & 0x800) -printf "error " -end -if (rq->prq[0].rqe[0].b.b_flags & 0x100000) -printf "read " -end -output/x rq->prq[0].rqe[0].b.b_flags -printf "\nrq->prq [0].rqe[1].sdno: " -output/x rq->prq[0].rqe[1].sdno -printf "\nBuffer: device: " -output/x rq->prq[0].rqe[1].b.b_dev -printf " data: " -output/x rq->prq[0].rqe[1].b.b_data -printf " length: " -output/x rq->prq[0].rqe[1].b.b_bcount -printf " drive offset: " -output/x rq->prq[0].rqe[1].b.b_blkno -printf " subdisk offset: " -output/x rq->prq[0].rqe[1].sdoffset -printf "\nFlags: " -output/x rq->prq[0].rqe[1].b.b_flags -echo \n -end -document rqq0 -Print important information on Vinum request structures. -end - -define rqq1 -printf "\nrq->prq [1].rqe[0].sdno: " -output/x rq->prq[1].rqe[0].sdno -printf "\nBuffer: device: " -output/x rq->prq[1].rqe[0].b.b_dev -printf " data: " -output/x rq->prq[1].rqe[0].b.b_data -printf " length: " -output/x rq->prq[1].rqe[0].b.b_bcount -printf " drive offset: " -output/x rq->prq[1].rqe[0].b.b_blkno -printf " subdisk offset: " -output/x rq->prq[1].rqe[0].sdoffset -printf "\nFlags: " -output/x rq->prq[1].rqe[0].b.b_flags -printf "\nrq->prq [1].rqe[1].sdno: " -output/x rq->prq[1].rqe[1].sdno -printf "\nBuffer: device: " -output/x rq->prq[1].rqe[1].b.b_dev -printf " data: 0x%x length 0x%x drive offset 0x%x sd offset 0x%x\n" rq->prq[1].rqe[1].b.b_data, - rq->prq[1].rqe[1].b.b_bcount, - rq->prq[1].rqe[1].b.b_blkno, - rq->prq[1].rqe[1].sdoffset -printf "\nFlags: " -output/x rq->prq[1].rqe[1].b.b_flags -echo \n -end -document rqq1 -Print important information on Vinum request structures. -end - -# kernel equivalent of 'info -V' -define rqi - set $rqipe = rqip - set $rqip = $rqipe + 1 - set $rqend = rqinfo + 128 - if ($rqip == $rqend) - set $rqip = rqinfo - end - set $done = 0 - while ($done == 0) - if ($rqip->bp != 0) - printf "%X:\t%d.%06d\tUBP: %x\t", $rqip, $rqip->timestamp.tv_sec, $rqip->timestamp.tv_usec, $rqip->bp - p $rqip->type - printf " user " - bpp $rqip->bp - if ($rqip->type < loginfo_rqe) - printf " copied" - bpp &$rqip->info - else - rrqe &$rqip->info - end - end - set $rqip = $rqip + 1 - if ($rqip == $rqipe) - set $done = 1 - end - if ($rqip == $rqend) - set $rqip = rqinfo - end - end -end -document rqi -Print out the same information as 'vinum info -V'. -end - -define rqinfo - set $rqipe = rqip - set $rqip = $rqipe + 1 - set $rqend = rqinfo + 128 - if ($rqip == $rqend) - set $rqip = rqinfo - end - set $done = 0 - printf "\nTime\t\t\t Event\t\t Buf\tDev\t Offset\tBytes\tSD\tSDoff\tDoffset\tGoffset\n\n" - while ($done == 0) - if ($rqip->bp != 0) - printf "%d.%06d\t", $rqip->timestamp.tv_sec, $rqip->timestamp.tv_usec - if ($rqip->type == loginfo_user_bp) - if ($rqip->info.b.b_flags & 0x00100000) - printf "1VS Read" - else - printf "1VS Write" - end - printf "\t%p\t%d.%d\t0x%-9x\t%ld\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount - end - - if ($rqip->type == loginfo_user_bpl) - if ($rqip->info.b.b_flags & 0x00100000) - printf "2LR Read" - else - printf "2LR Write" - end - printf "\t%p\t%d.%d\t0x%-9x\t%ld\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount - end - - if ($rqip->type == loginfo_rqe) - if ($rqip->info.b.b_flags & 0x00100000) - printf "3RQ Read" - else - printf "3RQ Write" - end - printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset - end - - if ($rqip->type == loginfo_iodone) - if ($rqip->info.b.b_flags & 0x00100000) - printf "4DN Read" - else - printf "4DN Write" - end - printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset - end - - if ($rqip->type == loginfo_raid5_data) - if ($rqip->info.b.b_flags & 0x00100000) - printf "5RD Read" - else - printf "5RD Write" - end - printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset - end - - if ($rqip->type == loginfo_raid5_parity) - if ($rqip->info.b.b_flags & 0x00100000) - printf "6RP Read" - else - printf "6RP Write" - end - printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset - end - - if ($rqip->type == loginfo_sdio) - if ($rqip->info.b.b_flags & 0x00100000) - printf "7VS Read" - else - printf "7VS Write" - end - printf "\t%p\t\t 0x%-9x\t%ld\t%d\n", $rqip->bp, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount, $rqip->devminor & 0xff - end - - if ($rqip->type == loginfo_sdiol) - if ($rqip->info.b.b_flags & 0x00100000) - printf "8LR Read" - else - printf "8LR Write" - end - printf "\t%p\t%d.%d\t0x%-9x\t%ld\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount - end - - if ($rqip->type == loginfo_lockwait) - printf "Lockwait %p\t%d\t 0x%x\n", $rqip->bp, $rqip->info.lockinfo.plexno, $rqip->info.lockinfo.stripe - end - - if ($rqip->type == loginfo_lock) - printf "Lock \t%p\t%d\t 0x%x\n", $rqip->bp, $rqip->info.lockinfo.plexno, $rqip->info.lockinfo.stripe - end - - if ($rqip->type == loginfo_unlock) - printf "Unlock \t%p\t%d\t 0x%x\n", $rqip->bp, $rqip->info.lockinfo.plexno, $rqip->info.lockinfo.stripe - end - - if ($rqip->type == loginfo_sdiodone) - if ($rqip->info.b.b_flags & 0x00100000) - printf "9DN Read" - else - printf "9DN Write" - end - printf "\t%p\t\t 0x%-9x\t%ld\t%d\n", $rqip->bp, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount, $rqip->devminor - end - - end - set $rqip = $rqip + 1 - if ($rqip == $rqipe) - set $done = 1 - end - if ($rqip == $rqend) - set $rqip = rqinfo - end - end -end -document rqinfo -Show the Vinum request log buffer like 'vinum info -V' -end -define meminfo -printf "Block\t\tTime\t\tSequence\t size\t address\t line\t\tfile\n" -set $i = 0 -while $i < malloccount - printf "%6d\t%10d.%06d\t%6d\t\t%6d\t0x%08x\t%6d\t\t%s\n", $i, malloced [$i].time.tv_sec, malloced [$i].time.tv_usec, malloced [$i].seq, malloced[$i].size, malloced[$i].address, malloced[$i].line, &malloced[$i].file - set $i = $i + 1 -end -end -document meminfo -Equivalent of 'vinum info -v' command -end -define finfo -printf "Block\t\tTime\t\tSequence\t size\t address\t line\t\tfile\n" -set $i = lastfree -set $j = 0 -while $j < 64 - if $i == 64 - set $i = 0 - end - if freeinfo[$i].line != 0 - printf "%6d\t%10d.%06d\t%6d\t\t%6d\t0x%08x\t%6d\t\t%s\n", $i, freeinfo [$i].time.tv_sec, freeinfo [$i].time.tv_usec, freeinfo [$i].seq, freeinfo[$i].size, freeinfo[$i].address, freeinfo[$i].line, &freeinfo[$i].file - end - set $i = $i + 1 - set $j = $j + 1 -end -end -document finfo -Show recently freed Vinum memory blocks. -end