diff options
-rw-r--r-- | sys/modules/vinum/.gdbinit.crash | 4 | ||||
-rw-r--r-- | sys/modules/vinum/.gdbinit.kernel | 645 | ||||
-rw-r--r-- | sys/modules/vinum/.gdbinit.serial | 5 | ||||
-rw-r--r-- | sys/modules/vinum/.gdbinit.vinum | 299 | ||||
-rw-r--r-- | sys/modules/vinum/.gdbinit.vinum.paths | 19 |
5 files changed, 0 insertions, 972 deletions
diff --git a/sys/modules/vinum/.gdbinit.crash b/sys/modules/vinum/.gdbinit.crash deleted file mode 100644 index f3e6436..0000000 --- a/sys/modules/vinum/.gdbinit.crash +++ /dev/null @@ -1,4 +0,0 @@ -source .gdbinit.kernel -source .gdbinit.vinum.paths -source .gdbinit.vinum -asf diff --git a/sys/modules/vinum/.gdbinit.kernel b/sys/modules/vinum/.gdbinit.kernel deleted file mode 100644 index c814d7f..0000000 --- a/sys/modules/vinum/.gdbinit.kernel +++ /dev/null @@ -1,645 +0,0 @@ -set remotebaud 38400 -set remotetimeout 1 -set complaints 1 -set print pretty -define xi -x/10i $eip -end -define xs -x/12x $esp -end -define xb -x/12x $ebp -end -define z -ni -x/1i $eip -end -define zs -si -x/1i $eip -end -define xp -printf " esp: " -output/x $esp -echo ( -output (((int)$ebp)-(int)$esp)/4-4 -printf " words on stack)\n ebp: " -output/x $ebp -printf "\n eip: " -x/1i $eip -printf "Saved ebp: " -output/x *(int*)$ebp -printf " (maximum of " -output ((*(int*)$ebp)-(int)$ebp)/4-4 -printf " parameters possible)\nSaved eip: " -x/1i *(int*)($ebp+4) -printf "\nParm 1 at " -output/x (int) ($ebp+8) -printf ": " -output (char*) *(int*)($ebp+8) -printf "\nParm 2 at " -output/x (int) ($ebp+12) -printf ": " -output (char*) *(int*)($ebp+12) -printf "\nParm 3 at " -output/x (int) ($ebp+16) -printf ": " -output (char*) *(int*)($ebp+16) -printf "\nParm 4 at " -output/x (int) ($ebp+20) -printf ": " -output (char*) *(int*)($ebp+20) -echo \n -end -document xp -Show the register contents and the first four parameter -words of the current frame. -end -define xxp -printf " esp: " -output/x $esp -printf "\n ebp: " -output/x $ebp -printf "\n eip: " -x/1i $eip -printf "Saved ebp: " -output/x *(int*)$ebp -printf " (maximum of " -output ((*(int*)$ebp)-(int)$ebp)/4-4 -printf " parameters possible)\nSaved eip: " -x/1i *(int*)($ebp+4) -printf "\nParm 1 at " -output/x (int) ($ebp+8) -printf ": " -output (char*) *(int*)($ebp+8) -printf "\nParm 2 at " -output/x (int) ($ebp+12) -printf ": " -output (char*) *(int*)($ebp+12) -printf "\nParm 3 at " -output/x (int) ($ebp+16) -printf ": " -output (char*) *(int*)($ebp+16) -printf "\nParm 4 at " -output/x (int) ($ebp+20) -printf ": " -output (char*) *(int*)($ebp+20) -printf "\nParm 5 at " -output/x (int) ($ebp+24) -printf ": " -output (char*) *(int*)($ebp+24) -printf "\nParm 6 at " -output/x (int) ($ebp+28) -printf ": " -output (char*) *(int*)($ebp+28) -printf "\nParm 7 at " -output/x (int) ($ebp+32) -printf ": " -output (char*) *(int*)($ebp+32) -printf "\nParm 8 at " -output/x (int) ($ebp+36) -printf ": " -output (char*) *(int*)($ebp+36) -printf "\nParm 9 at " -output/x (int) ($ebp+40) -printf ": " -output (char*) *(int*)($ebp+40) -printf "\nParm 10 at " -output/x (int) ($ebp+44) -printf ": " -output (char*) *(int*)($ebp+44) -echo \n -end -document xxp -Show the register contents and the first ten parameter -words of the current frame. -end -define xp0 -x/12x *(int*)$esp -p *(int*)$esp -p (char*)*$esp -end -define xp1 -x/12x *(int*)($ebp+4) -p *(int*)($ebp+4) -p (char**)($ebp+4) -end -define xp2 -x/12x *(int*)($ebp+8) -p *(int*)($ebp+8) -p *(char**)($ebp+8) -end -define xp3 -x/12x *(int*)($ebp+12) -p *(int*)($ebp+12) -p (char**)($ebp+12) -end -define xp4 -x/12x *(int*)($ebp+16) -p *(int*)($ebp+16) -p (char**)($ebp+16) -end -document xp0 -Show the first parameter of current stack frame in various formats -end -document xp1 -Show the second parameter of current stack frame in various formats -end -document xp2 -Show the third parameter of current stack frame in various formats -end -document xp3 -Show the fourth parameter of current stack frame in various formats -end -document xp4 -Show the fifth parameter of current stack frame in various formats -end -define f0 -f 0 -xp -end -define f1 -f 1 -xp -end -define f2 -f 2 -xp -end -define f3 -f 3 -xp -end -define f4 -f 4 -xp -end -define f5 -f 5 -xp -end -document f0 -Select stack frame 0 and show assembler-level details -end -document f1 -Select stack frame 1 and show assembler-level details -end -document f2 -Select stack frame 2 and show assembler-level details -end -document f3 -Select stack frame 3 and show assembler-level details -end -document f4 -Select stack frame 4 and show assembler-level details -end -document f5 -Select stack frame 5 and show assembler-level details -end -document z -Single step 1 instruction (over calls) and show next instruction. -end -document zs -Single step 1 instruction (through calls) and show next instruction. -end -document xi -List the next 10 instructions from the current IP value -end -document xs -Show the last 12 words on stack in hex -end -document xb -Show 12 words starting at current BP value in hex -end -define tr -target remote /dev/cuaa1 -end -document tr -Attach to a remote kernel via /dev/cuaa0 -end -set output-radix 16 -define pname -p (char *)curproc->p_comm -end -document pname -Print the command name of the current process -end -define bpp -set $bp = (struct buf *) $arg0 - if $bp->b_dev - printf " Buffer at 0x%x: dev 0x%x data 0x%x bcount 0x%x blkno 0x%x resid 0x%x\n", \ - $bp, \ - $bp->b_dev->si_udev, \ - $bp->b_data, \ - $bp->b_bcount, \ - $bp->b_blkno, \ - $bp->b_resid - else - printf " Buffer at 0x%x: dev (none) data 0x%x bcount 0x%x blkno 0x%x resid 0x%x\n", \ - $bp, \ - $bp->b_data, \ - $bp->b_bcount, \ - $bp->b_blkno, \ - $bp->b_resid - end - printf " flags 0x%x: ", $bp->b_flags - if $bp->b_flags & 0x10 - printf "busy " - end - if $bp->b_flags & 0x40 - printf "call " - end - if $bp->b_flags & 0x200 - printf "done " - end - if $bp->b_flags & 0x800 - printf "error " - end - if $bp->b_flags & 0x40000 - printf "phys " - end - if $bp->b_flags & 0x100000 - printf "read " - end - printf "\n" -end -define bpl -set $bp = (struct buf *) $arg0 -printf "b_proc: " -output $bp->b_proc -printf "\nb_flags: " -output $bp->b_flags -printf "\nb_qindex: " -output $bp->b_qindex -printf "\nb_usecount: " -output $bp->b_usecount -printf "\nb_error: " -output $bp->b_error -printf "\nb_bufsize: " -output $bp->b_bufsize -printf "\nb_bcount: " -output $bp->b_bcount -printf "\nb_resid: " -output $bp->b_resid -printf "\nb_dev: " -output $bp->b_dev -printf "\nb_data: " -output $bp->b_data -printf "\nb_kvasize: " -output $bp->b_kvasize -printf "\nb_lblkno: " -output $bp->b_lblkno -printf "\nb_blkno: " -output $bp->b_blkno -printf "\nb_iodone: " -output $bp->b_iodone -printf "\nb_vp: " -output $bp->b_vp -printf "\nb_dirtyoff: " -output $bp->b_dirtyoff -printf "\nb_dirtyend: " -output $bp->b_dirtyend -printf "\nb_generation: " -output $bp->b_generation -printf "\nb_rcred: " -output $bp->b_rcred -printf "\nb_wcred: " -output $bp->b_wcred -printf "\nb_validoff: " -output $bp->b_validoff -printf "\nb_validend: " -output $bp->b_validend -printf "\nb_pblkno: " -output $bp->b_pblkno -printf "\nb_saveaddr: " -output $bp->b_saveaddr -printf "\nb_savekva: " -output $bp->b_savekva -printf "\nb_driver1: " -output $bp->b_driver1 -printf "\nb_driver2: " -output $bp->b_driver2 -printf "\nb_spc: " -output $bp->b_spc -printf "\nb_npages: " -output $bp->b_npages -printf "\n" -end -define bp -bpp bp -end -define bpd - printf "Buffer data:\n%s", (char *) bp->b_data -end -document bpd -Show the contents (char*) of bp->data in the current frame. -end -document bp -Show information about the buffer header pointed to by the -variable bp in the current frame. -end -document bpp -Show summary information about the buffer header (struct bp) pointed -at by the parameter. -end -document bpl -Show detailled information about the buffer header (struct bp) pointed -at by the parameter. -end -document bpl -Show detailled information about the buffer header (struct bp) pointed -at by the local variable bp. -end -define bx -printf "\n b_vnbufs " -output/x bp->b_vnbufs -printf "\n b_freelist " -output/x bp->b_freelist -printf "\n b_act " -output/x bp->b_act -printf "\n b_flags " -output/x bp->b_flags -printf "\n b_qindex " -output/x bp->b_qindex -printf "\n b_usecount " -output/x bp->b_usecount -printf "\n b_error " -output/x bp->b_error -printf "\n b_bufsize " -output/x bp->b_bufsize -printf "\n b_bcount " -output/x bp->b_bcount -printf "\n b_resid " -output/x bp->b_resid -printf "\n b_dev " -output/x bp->b_dev -printf "\n b_data " -output/x bp->b_data -printf "\n b_kvasize " -output/x bp->b_kvasize -printf "\n b_blkno " -output/x bp->b_blkno -printf "\n b_iodone_chain " -output/x bp->b_iodone_chain -printf "\n b_vp " -output/x bp->b_vp -printf "\n b_dirtyoff " -output/x bp->b_dirtyoff -printf "\n b_validoff " -output/x bp->b_validoff -echo \n -end -define ddb -set boothowto=0x80000000 -s -end -document ddb -Switch back to ddb. -end -define ps - set $nproc = nprocs - set $aproc = allproc.lh_first - set $proc = allproc.lh_first - printf " pid proc addr uid ppid pgrp flag stat comm wchan\n" - while (--$nproc >= 0) - set $pptr = $proc.p_pptr - if ($pptr == 0) - set $pptr = $proc - end - if ($proc.p_stat) - printf "%5d %08x %08x %4d %5d %5d %06x %d %-10s ", \ - $proc.p_pid, $aproc, \ - $proc.p_addr, $proc.p_cred->p_ruid, $pptr->p_pid, \ - $proc.p_pgrp->pg_id, $proc.p_flag, $proc.p_stat, \ - &$proc.p_comm[0] - if ($proc.p_wchan) - if ($proc.p_wmesg) - printf "%s ", $proc.p_wmesg - end - printf "%x", $proc.p_wchan - end - printf "\n" - end - set $aproc = $proc.p_list.le_next - if ($aproc == 0 && $nproc > 0) - set $aproc = zombproc - end - set $proc = $aproc - end -end -document ps -"ps" -- when kernel debugging, type out a ps-like listing of active processes. -end -define pcb - set $nproc = nprocs - set $aproc = allproc.lh_first - set $proc = allproc.lh_first - while (--$nproc >= 0) - set $pptr = $proc.p_pptr - if ($proc->p_pid == $arg0) - set $pcba = $pptr->p_addr->u_pcb - printf "ip: %08x sp: %08x bp: %08x bx: %08x\n", $pcba->pcb_eip, $pcba->pcb_esp, $pcba->pcb_ebp, $pcba->pcb_ebx - x/1i $pcba->pcb_eip - set $nproc = 0 - end - set $aproc = $proc.p_list.le_next - if ($aproc == 0 && $nproc > 0) - set $aproc = zombproc - end - set $proc = $aproc - end -end -document pcb -Show some pcb contents of process whose pid is specified. -end -define btr -set $frame = $arg0 -set $fno = 0 -while (*(int *) $frame > 0xc0000000) - set $myebp = *(int *) $frame - set $myeip = *(int *) ($frame + 4) - printf " frame %d at %p: ebp %8x, eip ", $fno, $frame, $myebp - x/1i $myeip - set $frame = $myebp - set $fno = $fno + 1 -end -end -document btr -Show a backtrace from the ebp address specified. This can be used to -get a backtrace from any stack resident in memory. -end -define btp - set $nproc = nprocs - set $aproc = allproc.lh_first - set $proc = allproc.lh_first - while (--$nproc >= 0) - if ($proc->p_pid == $arg0) - btr $proc->p_addr->u_pcb->pcb_ebp - set $nproc = 0 - else - set $aproc = $proc.p_list.le_next - if ($aproc == 0 && $nproc > 0) - set $aproc = zombproc - end - set $proc = $aproc - end - end -end -document btp -Show a backtrace for the process whose pid is specified as a parameter. -end -define btpa - set $nproc = nprocs - set $aproc = allproc.lh_first - set $proc = allproc.lh_first - printf " pid proc addr uid ppid pgrp flag stat comm wchan\n" - while (--$nproc >= 0) - set $pptr = $proc.p_pptr - if ($pptr == 0) - set $pptr = $proc - end - if ($proc.p_stat) - printf "%5d %08x %08x %4d %5d %5d %06x %d %-10s ", \ - $proc.p_pid, $aproc, \ - $proc.p_addr, $proc.p_cred->p_ruid, $pptr->p_pid, \ - $proc.p_pgrp->pg_id, $proc.p_flag, $proc.p_stat, \ - &$proc.p_comm[0] - if ($proc.p_wchan) - if ($proc.p_wmesg) - printf "%s ", $proc.p_wmesg - end - printf "%x", $proc.p_wchan - end - printf "\n" - if ($proc->p_flag & 4) - btr $proc->p_addr->u_pcb->pcb_ebp - else - echo (not loaded)\n - end - end - set $aproc = $proc.p_list.le_next - if ($aproc == 0 && $nproc > 0) - set $aproc = zombproc - end - set $proc = $aproc - end -end -document btpa -Show backtraces for all processes in the system. -end -define btpp - if ($myvectorproc->p_flag & 4) - btr $myvectorproc->p_addr->u_pcb->pcb_ebp - else - echo (not loaded)\n - end -end -document btpp -Show a backtrace for the process previously selected with 'defproc'. -end -define defproc - set $nproc = nprocs - set $aproc = allproc.lh_first - set $proc = allproc.lh_first - while (--$nproc >= 0) - if ($proc->p_pid == $arg0) - set $pptr = $proc.p_pptr - if ($pptr == 0) - set $pptr = $proc - end - set $myvectorproc = $proc - if ($proc.p_stat) - printf "%5d %08x %08x %4d %5d %5d %06x %d %-10s ", \ - $proc.p_pid, $aproc, \ - $proc.p_addr, $proc.p_cred->p_ruid, $pptr->p_pid, \ - $proc.p_pgrp->pg_id, $proc.p_flag, $proc.p_stat, \ - &$proc.p_comm[0] - if ($proc.p_wchan) - if ($proc.p_wmesg) - printf "%s ", $proc.p_wmesg - end - printf "%x", $proc.p_wchan - end - printf "\n" - end - btpp - set $nproc = 0 - else - set $proc = $proc.p_list.le_next - end - end -end -document defproc -Specify a process for btpp and fr commands. -end -define fr -set $fno = 0 -set $searching = 1 -if ($myvectorproc->p_flag & 4) - set $frame = $myvectorproc->p_addr->u_pcb->pcb_ebp - while (($searching == 1) && (*(int *) $frame > 0xc0000000)) - set $myebp = *(int *) $frame - set $myeip = *(int *) ($frame + 4) - if ($fno == $arg0) - printf " frame %d at %p: ebp %8x, eip ", $fno, $frame, $myebp - x/1i $myeip - printf "Called from %8x, stack frame at %8x\n", *(int *) ($myebp+4), *(int *) $myebp - printf "last 20 local variables:\n" - x/20x ($myebp-80) - printf "call parameters:\n" - x/8x ($myebp+8) - set $searching = 0 - else - set $frame = $myebp - set $fno = $fno + 1 - end - end - if ($searching == 1) - echo frame not found\n - end -else - printf "process %d is not loaded in memory\n", $myvectorproc->p_pid -end -end -document fr -Show the frame of the stack of the process previously selected with 'defproc'. -end -set height 70 -set width 120 -define vdev -if (vp->v_type == VBLK) - p *vp->v_un.vu_spec.vu_specinfo - printf "numoutput: %d\n", vp->v_numoutput -else - echo "Not a block device" -end -end -document vdev -Show some information of the vnode pointed to by the local variable vp. -end -define y -echo Check your .gdbinit, it contains a y command\n -end -define kldstat - set $file = files.tqh_first - printf "Id Refs Address Size Name\n" - while ($file != 0) - printf "%2d %4d 0x%8x %8x %s\n", \ - $file->id, \ - $file->refs, \ - $file->address, \ - $file->size, \ - $file->filename - set $file = $file->link.tqe_next - end -end -document kldstat -Equivalent of the kldstat(9) command, without options. -end -define msgbuf -printf "%s", msgbufp->msg_ptr -end -document msgbuf -Print the system message buffer (dmesg). This can take a long time due to the time it takes to transmit the data across a serial line. -end diff --git a/sys/modules/vinum/.gdbinit.serial b/sys/modules/vinum/.gdbinit.serial deleted file mode 100644 index d302f8a..0000000 --- a/sys/modules/vinum/.gdbinit.serial +++ /dev/null @@ -1,5 +0,0 @@ -source .gdbinit.kernel -source .gdbinit.vinum.paths -source .gdbinit.vinum -tr -asf diff --git a/sys/modules/vinum/.gdbinit.vinum b/sys/modules/vinum/.gdbinit.vinum deleted file mode 100644 index d494be3..0000000 --- a/sys/modules/vinum/.gdbinit.vinum +++ /dev/null @@ -1,299 +0,0 @@ -define rq -rqq rq -end -document rq -Show information about the request pointed to by the variable rq in the current frame. -end -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 -define rqe -rrqe rqe -end -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 rqe -Show information about the request element pointed to by the variable rqe in the current frame. -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 -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 -define xy -bpp -echo stripeoffset -p stripeoffset -echo stripebase -p stripebase -echo sdno -p sdno -echo sdoffset -p sdoffset -echo rqe->sectors -p rqe->sectors -echo rqe->sdoffset -p rqe->sdoffset -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 -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\tSequence\t size\t address\t line\t\tfile\n" -set $i = 0 -while $i < malloccount - printf "%6d\t%6d\t\t%6d\t0x%08x\t%6d\t\t%s\n", $i, 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 diff --git a/sys/modules/vinum/.gdbinit.vinum.paths b/sys/modules/vinum/.gdbinit.vinum.paths deleted file mode 100644 index 104ffec..0000000 --- a/sys/modules/vinum/.gdbinit.vinum.paths +++ /dev/null @@ -1,19 +0,0 @@ -dir /usr/src/sys/modules/vinum -dir /usr/src/sys/i386/conf -dir /usr/src/sys -define asf - set $file = linker_files.tqh_first - set $found = 0 - while ($found == 0) - if (*$file->filename == 'v') - set $found = 1 - else - set $file = $file->link.tqe_next - end - end - shell /usr/bin/objdump --section-headers /modules/vinum.ko | grep ' .text' | awk '{print "add-symbol-file /modules/vinum.ko \$file->address+0x" $4}' > .asf - source .asf -end -document asf -Find the load address of Vinum in the kernel and add the symbols at this address -end |