\ 147362
\ Copyright (c) 1995-1997 by Sun Microsystems, Inc.
\ All rights reserved.
\
\ "@(#)data32.fth	1.1	97/11/06 SMI"

hex

only forth also definitions
vocabulary kdbg-words
also kdbg-words definitions

defer p@
defer p!
['] l@ is p@
['] l! is p!

4 constant ptrsize

false constant wyoming?
\ Copyright (c) 1995-1997 by Sun Microsystems, Inc.
\ All rights reserved.
\

h# 7ff constant v9bias

\ enable forthdebug when entering interpreter
' kdbg-words is debugger-vocabulary-hook

: next-word ( alf voc-acf -- false | alf' true )
   over  if  drop  else  nip >threads  then
   another-link?  if  >link true  else  false  then
;

\ another? that allows nesting
: another? ( alf voc-acf -- false | alf' voc-acf anf true )
   dup >r next-word  if         ( alf' ) ( r: voc-acf )
      r> over l>name true       ( alf' voc-acf anf true )
   else                         ( ) ( r: voc-acf )
      r> drop false             ( false )
   then
;


create err-no-sym ," symbol not found"

\ guard against bad symbols
: symbol ( -- n ) \ symbol-name
   parse-word $handle-literal? 0=  if
      +level compile err-no-sym compile throw -level
   then
; immediate


\ print in octal
: .o ( n -- ) base @ >r octal . r> base ! ;

\ print string
: .str ( str -- )
   ?dup  if
      cscount type
   else
      ." NULL"
   then
;

\ new actions
: print 2 perform-action ;
: index 3 perform-action ;
: sizeof 1 perform-action ;

\ indent control
-8 value plevel
: +plevel ( -- ) plevel 8 + to plevel ;
: -plevel ( -- ) plevel 8 - to plevel ;
: 0plevel ( -- ) -8 to plevel ;

\ new print words
: name-print ( apf -- apf ) plevel spaces dup body> .name ." = " ;
: voc-print ( addr acf -- )
   ??cr +plevel
   0 swap                         ( addr 0 acf )
   begin  another?  while         ( addr alf acf anf )
      3 pick swap name> print     ( addr alf acf )
      exit?  if                   ( addr alf acf )
         0plevel true throw       ( )
      then                        ( addr alf acf )
   repeat                         ( addr )
   drop -plevel                   ( )
;


3 actions ( offset print-acf )
action: ( addr apf -- x )       @ + x@ ;        \ get
action: ( addr x apf -- )       @ rot + x! ;    \ set
action: ( addr apf -- )
   name-print
   dup @ rot + x@ swap         ( x apf )
   na1+ @ execute cr ;                          \ print

: ext-field ( acf offset -- ) create , , use-actions ;


3 actions ( offset print-acf )
action: ( addr apf -- l )       @ + l@ ;        \ get
action: ( addr l apf -- )       @ rot + l! ;    \ set
action: ( addr apf -- )
   name-print
   dup @ rot + l@ swap          ( l apf )
   na1+ @ execute cr ;                          \ print

: long-field ( acf offset -- ) create , , use-actions ;


3 actions ( offset print-acf )
action: ( addr apf -- w )       @ + w@ ;        \ get
action: ( addr w apf -- )       @ rot + w! ;    \ set
action: ( addr apf -- )
   name-print
   dup @ rot + w@ swap          ( w apf )
   na1+ @ execute cr ;                          \ print

: short-field ( acf offset -- ) create , , use-actions ;


3 actions ( offset print-acf )
action: ( addr apf -- c )       @ + c@ ;        \ get
action: ( addr c apf -- )       @ rot + c! ;    \ set
action: ( addr apf -- )
   name-print
   dup @ rot + c@ swap          ( c apf )
   na1+ @ execute cr ;                          \ print

: byte-field ( acf offset -- ) create , , use-actions ;


3 actions ( offset print-acf )
action: ( addr apf -- ptr )     @ + p@ ;        \ get
action: ( addr l apf -- )       @ rot + p! ;    \ set
action: ( addr apf -- )
   name-print
   dup @ rot + p@ ?dup  if     ( apf ptr )
      swap na1+ @ execute      ( )
   else                        ( apf )
      drop ." NULL"            ( )
   then                        ( )
   cr ;                                         \ print
 
: ptr-field ( acf offset -- ) create , , use-actions ;


3 actions ( offset print-acf )
action: ( addr apf -- saddr )   @ + ;           \ get
action: ( -- )                  quit ;          \ error
action: ( addr apf -- )
   name-print
   dup @ rot + swap             ( saddr apf )
   na1+ @ execute ??cr ;                       \ print
 
: struct-field ( acf offset -- ) create , , use-actions ;


4 actions ( offset inc limit print-acf fetch-acf )
action: ( addr apf -- araddr )  @ + ;           \ get
action: ( -- )                  quit ;          \ set
action: ( addr apf -- )
   name-print
   dup @ rot + swap         ( base apf )
   na1+ dup @ -rot          ( inc base apf' )
   na1+ dup @ swap          ( inc base limit apf' )
   na1+ dup @ swap          ( inc base limit p-acf apf' )
   na1+ @ 2swap             ( inc p-acf f-acf base limit )
   bounds  do               ( inc p-acf f-acf )
      3dup                  ( inc p-acf f-acf inc p-acf f-acf )
      i swap execute        ( inc f-acf p-acf inc p-acf n )
      swap execute          ( inc f-acf p-acf inc )
   +loop                    ( inc f-acf p-acf )
   3drop ??cr ;                                 \ print
action: ( addr index apf -- ith-item )
   rot swap                 ( index addr apf )
   dup @ rot + swap         ( index base apf )
   na1+ dup @ 3 roll *      ( base apf' ioff )
   rot + swap 3 na+ @       ( iaddr f-acf )
   execute ;                                    \ index

: array-field ( f-acf p-acf limit inc offset -- ) create , , , , , use-actions ;


3 actions ( offset mask shift print-acf )
action: ( addr apf -- bits )
   dup @ rot + l@ swap         ( b-word apf )
   na1+ dup @ rot and swap     ( b-masked apf' )
   na1+ @ >> ;                               \ get
action: ( addr bits apf -- )
   rot over @ + dup l@ 2swap   ( b-addr b-word nbits apf )
   na1+ dup @ -rot             ( b-addr b-word mask nbits apf' )
   na1+ @ << over and          ( b-addr b-word mask nb-masked )
   -rot invert and or swap l! ;              \ set
action: ( addr apf -- )
   name-print
   dup @ rot + l@ swap         ( b-word apf )
   na1+ dup @ rot and swap     ( b-mask apf' )
   na1+ dup @ rot swap >> swap ( bits apf' )
   na1+ @ execute cr ;                       \ print

: bits-field ( acf shift mask offset -- ) create , , , , use-actions ;


2 actions ( voc-acf size )
action: ( apf -- )              @ voc-print ;   \ print vocabulary
action: ( apf -- size )         na1+ @ ;        \ sizeof

: c-struct ( size acf -- ) create , , use-actions ;

: c-enum ( {str value}+ n-values -- )
   create   ( n-values {value str}+ )
      dup 2* 1+ 0  do  ,  loop
   does>    ( enum apf -- )
      dup @ 0  do                     ( enum apf' )
         na1+ 2dup @ =  if            ( enum apf' )
            na1+ @ .str               ( enum )
            drop unloop exit          ( )
         then                         ( enum apf' )
         na1+                         ( enum apf' )
      loop                            ( enum apf' )
      drop .d cr                      ( )
;

\ end kdbg section

wyoming? if d# 32 else d# 18 then constant nbitsminor
wyoming? if h# ffffffff else h# 3ffff then constant maxmin

: .dev_t ( dev -- ) dup nbitsminor >> .d maxmin and .d ;


vocabulary adaptive_mutex-words
8 ' adaptive_mutex-words c-struct .adaptive_mutex
also adaptive_mutex-words definitions

' .x 0 long-field _m_owner
' .x 4 long-field _m_filler

kdbg-words definitions
previous

\ end adaptive_mutex section


vocabulary spin_mutex-words
8 ' spin_mutex-words c-struct .spin_mutex
also spin_mutex-words definitions

' .x 0 short-field m_filler
' .x 2 byte-field m_spinlock
' .x 3 byte-field m_dummylock
' .x 4 short-field m_oldspl
' .x 6 short-field m_minspl

kdbg-words definitions
previous

\ end spin_mutex section


vocabulary rwlock_impl-words
4 ' rwlock_impl-words c-struct .rwlock_impl
also rwlock_impl-words definitions

' .x 0 long-field rw_wwwh

kdbg-words definitions
previous

\ end rwlock_impl section


alias .mutex .adaptive_mutex
alias .rwlock .rwlock_impl


vocabulary seg_next-words
4 ' seg_next-words c-struct .seg_next
also seg_next-words definitions

' .x 0 ptr-field list

kdbg-words definitions
previous

\ end seg_next section


vocabulary as-words
44 ' as-words c-struct .as
also as-words definitions

' .mutex 0 struct-field a_contents
' .x 9 byte-field a_vbits
' .x a struct-field a_cv
' .x c ptr-field a_hat
' .x 14 ptr-field a_userlimit
' .x 18 struct-field a_cache
' .rwlock 1c struct-field a_lock
' .seg_next 28 struct-field a_segs
' .x 2c long-field a_size
' .x 30 ptr-field a_tail
' .d 34 long-field a_nsegs
' .x 38 byte-field a_lrep
' .x 39 byte-field a_hilevel

kdbg-words definitions
previous

\ end as section


vocabulary seg-words
1c ' seg-words c-struct .seg
also seg-words definitions

' .x 0 ptr-field s_base
' .x 4 long-field s_size
' .x 8 ptr-field s_as
' .seg_next c struct-field s_next
' .x 10 ptr-field s_prev
' .adr 14 ptr-field s_ops
' .x 18 ptr-field s_data

kdbg-words definitions
previous

\ end seg section


vocabulary page-words
30 ' page-words c-struct .page
also page-words definitions

' .x 0 ptr-field p_vnode
' .x 4 ptr-field p_hash
' .x 8 ptr-field p_vpnext
' .x c ptr-field p_vpprev
' .x 10 ptr-field p_next
' .x 14 ptr-field p_prev
' .x 18 ext-field p_offset
' .x 20 long-field p_selock
' .x 24 short-field p_lckcnt
' .x 26 short-field p_cowcnt
' .x 28 struct-field p_cv
' .x 2a struct-field p_io_cv
' .x 2c byte-field p_iolock_state
' .x 2d byte-field p_toxic
' .x 2e byte-field p_fsdata
' .x 2f byte-field p_state

kdbg-words definitions
previous

\ end page section


vocabulary memlist-words
18 ' memlist-words c-struct .memlist
also memlist-words definitions

' .x 0 ext-field address
' .x 8 ext-field size
' .x 10 ptr-field next
' .x 14 ptr-field prev

kdbg-words definitions
previous

\ end memlist section


: .seg-list ( seg -- )
   [ also seg-words ]
   [ also seg_next-words ]
   begin  ?dup  while          ( seg )
      dup .seg cr s_next list  ( seg' )
   repeat                      ( )
   [ previous ]
   [ previous ]
;

: .seg-addr ( as addr -- )
   [ also as-words ]
   [ also seg-words ]
   [ also seg_next-words ]
   swap a_segs list 
   begin  ?dup  while        ( addr seg )
      2dup dup s_base swap   ( addr seg addr base seg )
      s_size over +          ( addr seg addr base end )
      within  if             ( addr seg )
         .seg drop exit      ( )
      then                   ( addr seg )
      s_next list            ( addr seg' )
   repeat                    ( addr )
   . ." not found"           ( )
   [ previous ]
   [ previous ]
   [ previous ]
;


vocabulary _label_t-words
8 ' _label_t-words c-struct ._label_t
also _label_t-words definitions

' l@ ' .x 8 4 0 array-field val

kdbg-words definitions
previous

\ end _label_t section


vocabulary timeval-words
8 ' timeval-words c-struct .timeval
also timeval-words definitions

' .x 0 long-field tv_sec
' .x 4 long-field tv_usec

kdbg-words definitions
previous

\ end timeval section


vocabulary itimerval-words
10 ' itimerval-words c-struct .itimerval
also itimerval-words definitions

' .timeval 0 struct-field it_interval
' .timeval 8 struct-field it_value

kdbg-words definitions
previous

\ end itimerval section


vocabulary k_sigset_t-words
8 ' k_sigset_t-words c-struct .k_sigset_t
also k_sigset_t-words definitions

' l@ ' .x 8 4 0 array-field __sigbits

kdbg-words definitions
previous

\ end k_sigset_t section


vocabulary k_siginfo-words
1c ' k_siginfo-words c-struct .k_siginfo
also k_siginfo-words definitions

' .x 0 long-field si_signo
' .x 4 long-field si_code
' .d 8 long-field si_errno

kdbg-words definitions
previous

\ end k_siginfo section


vocabulary _kthread-words
168 ' _kthread-words c-struct ._kthread
also _kthread-words definitions

' .x 0 ptr-field t_link
' .x 4 ptr-field t_stk
' .x c ptr-field t_bound_cpu
' .d 10 short-field t_affinitycnt
' .d 12 short-field t_bind_cpu
' .x 14 short-field t_flag
' .x 16 short-field t_proc_flag
' .x 18 short-field t_schedflag
' .d 1a byte-field t_preempt
' .x 1c long-field t_state
' .d 20 short-field t_pri
' .d 22 short-field t_epri
' ._label_t 24 struct-field t_pcb
' .adr 34 ptr-field t_sobj_ops
' .x 38 long-field t_cid
' .x 3c ptr-field t_clfuncs
' .x 40 ptr-field t_cldata
' .x 44 ptr-field t_ctx
' .x 48 long-field t_lofault
' .x 4c ptr-field t_onfault
' .x 50 ptr-field t_nofault
' .x 54 ptr-field t_swap
' .x 58 byte-field t_lock
' .d 5a byte-field t_pil
' .x 5c ptr-field t_cpu
' .x 60 ptr-field t_intr
' .d 64 long-field t_did
' .d 6c long-field t_tid
' .x 70 ptr-field t_alarmid
' .itimerval 74 struct-field t_realitimer
' .x 84 ptr-field t_itimerid
' .x 88 ptr-field t_sigqueue
' .k_sigset_t 8c struct-field t_sig
' .k_sigset_t 94 struct-field t_hold
' .x 9c ptr-field t_forw
' .x a0 ptr-field t_back
' .x a4 ptr-field t_lwp
' .x a8 ptr-field t_procp
' .x b0 ptr-field t_next
' .x b4 ptr-field t_prev
' .x b8 ptr-field t_trace
' .d bc short-field t_whystop
' .d be short-field t_whatstop
' .x c4 ptr-field t_pollstate
' .x c8 ptr-field t_cred
' .x d0 long-field t_lbolt
' .d e0 short-field t_sysnum
' .x e2 struct-field t_delay_cv
' .x e4 long-field t_pctcpu
' .x e8 ptr-field t_lockp
' .x ec short-field t_oldspl
' .x ee byte-field t_pre_sys
' .d f4 long-field t_disp_time
' .d f8 long-field t_kpri_req
' .x fc struct-field _tu
' .x 100 ext-field t_waitrq
' .d 108 long-field t_mstate
' .x 10c ptr-field t_rprof
' .x 110 ptr-field t_prioinv
' .x 114 ptr-field t_ts
' .x 154 ptr-field t_priforw
' .x 158 ptr-field t_priback
' .x 15c ptr-field t_sleepq

kdbg-words definitions
previous

\ end _kthread section


vocabulary mstate-words
70 ' mstate-words c-struct .mstate
also mstate-words definitions

' .x 0 long-field ms_prev
' .x 8 ext-field ms_start
' .x 10 ext-field ms_term
' .x 18 ext-field ms_state_start

kdbg-words definitions
previous

\ end mstate section


vocabulary _klwp-words
238 ' _klwp-words c-struct ._klwp
also _klwp-words definitions

' .x 58 long-field lwp_oldcontext
' .x 5c ptr-field lwp_ap
' .d 60 long-field lwp_errno
' .x 64 byte-field lwp_error
' .x 65 byte-field lwp_eosys
' l@ ' .x 20 4 68 array-field lwp_arg
' .x 88 ptr-field lwp_regs
' .x 8c ptr-field lwp_fpu
' ._label_t 90 struct-field lwp_qsav
' .x 98 byte-field lwp_cursig
' .x 99 byte-field lwp_curflt
' .x 9a byte-field lwp_sysabort
' .x 9b byte-field lwp_asleep
' .x a8 ptr-field lwp_curinfo
' .k_sigset_t c8 struct-field lwp_sigoldmask
' .x 110 long-field lwp_oweupc
' .mstate 118 struct-field lwp_mstate
' .d 1e8 long-field lwp_lastfault
' .x 1ec ptr-field lwp_lastfaddr
' .x 221 byte-field lwp_state
' .x 222 short-field lwp_nostop
' .x 224 struct-field lwp_cv
' .x 228 long-field lwp_utime
' .x 22c long-field lwp_stime
' .x 230 ptr-field lwp_thread
' .x 234 ptr-field lwp_procp

kdbg-words definitions
previous

\ end _klwp section


vocabulary user-words
498 ' user-words c-struct .user
also user-words definitions

' .x 0 long-field u_execid
' .d 4 long-field u_execsz
' .d 8 long-field u_tsize
' .d c long-field u_dsize
' .x 10 long-field u_start
' .x 14 long-field u_ticks
' .x 1c struct-field u_exdata
' noop ' .x 98 8 50 array-field u_auxv
' c@ ' .x 50 1 e8 array-field u_psargs
' c@ ' .x 11 1 138 array-field u_comm
' .d 14c long-field u_argc
' .x 158 long-field u_argv
' .x 15c long-field u_envp
' .x 164 ptr-field u_cdir
' .x 168 ptr-field u_rdir
' .x 16c long-field u_cmask
' .x 170 long-field u_mem
' .d 174 short-field u_nshmseg
' .x 176 byte-field u_acflag
' .x 177 byte-field u_systrap
' l@ ' .x b4 4 348 array-field u_signal
' noop ' .x 70 10 400 array-field u_rlimit
' .d 488 long-field u_nofiles
' .x 48c ptr-field u_flist
' .x 490 ptr-field u_execsw

kdbg-words definitions
previous

\ end user section


vocabulary proc-words
708 ' proc-words c-struct .proc
also proc-words definitions

' .x 0 ptr-field p_exec
' .x 4 ptr-field p_as
' .mutex c struct-field p_crlock
' .x 14 ptr-field p_cred
' .d 18 long-field p_swapcnt
' .d 1c byte-field p_stat
' .d 24 long-field p_ppid
' .x 28 ptr-field p_link
' .x 2c ptr-field p_parent
' .x 30 ptr-field p_child
' .x 34 ptr-field p_sibling
' .x 38 ptr-field p_psibling
' .x 3c ptr-field p_sibling_ns
' .x 40 ptr-field p_child_ns
' .x 44 ptr-field p_next
' .x 48 ptr-field p_prev
' .x 4c ptr-field p_nextofkin
' .x 50 ptr-field p_orphan
' .x 54 ptr-field p_nextorph
' .x 58 ptr-field p_pglink
' .x 60 ptr-field p_sessp
' .x 64 ptr-field p_pidp
' .x 68 ptr-field p_pgidp
' .x 6c struct-field p_cv
' .x 6e struct-field p_flag_cv
' .x 70 struct-field p_lwpexit
' .x 72 struct-field p_holdlwps
' .x 78 long-field p_flag
' .x 7c long-field p_utime
' .x 80 long-field p_stime
' .x 84 long-field p_cutime
' .x 88 long-field p_cstime
' .x 8c ptr-field p_segacct
' .x 90 ptr-field p_brkbase
' .x 94 long-field p_brksize
' .k_sigset_t 98 struct-field p_sig
' .k_sigset_t a0 struct-field p_ignore
' .k_sigset_t a8 struct-field p_siginfo
' .x b0 ptr-field p_sigqueue
' .d bc byte-field p_stopsig
' .d c0 long-field p_lwptotal
' .d c4 long-field p_lwpcnt
' .d c8 long-field p_lwprcnt
' .d cc long-field p_zombcnt
' .x d0 ptr-field p_tlist
' .x d4 ptr-field p_zomblist
' .k_sigset_t d8 struct-field p_sigmask
' .x e4 ptr-field p_trace
' .x e8 ptr-field p_plist
' .x 104 ptr-field p_rlink
' .x 108 struct-field p_srwchan_cv
' .x 10c long-field p_stksize
' .x 210 struct-field p_user
' .x 6e4 ptr-field p_usrstack
' .x 6ec long-field p_model

kdbg-words definitions
previous

\ end proc section


alias .thread ._kthread
alias .lwp ._klwp

: l0x ( sp -- sp l0 ) dup v9bias + d# 0 + x@ ;
: l1x ( sp -- sp l1 ) dup v9bias + d# 8 + x@ ;
: l2x ( sp -- sp l2 ) dup v9bias + d# 16 + x@ ;
: l3x ( sp -- sp l3 ) dup v9bias + d# 24 + x@ ;
: l4x ( sp -- sp l4 ) dup v9bias + d# 32 + x@ ;
: l5x ( sp -- sp l5 ) dup v9bias + d# 40 + x@ ;
: l6x ( sp -- sp l6 ) dup v9bias + d# 48 + x@ ;
: l7x ( sp -- sp l7 ) dup v9bias + d# 56 + x@ ;
: i0x ( sp -- sp i0 ) dup v9bias + d# 64 + x@ ;
: i1x ( sp -- sp i1 ) dup v9bias + d# 72 + x@ ;
: i2x ( sp -- sp i2 ) dup v9bias + d# 80 + x@ ;
: i3x ( sp -- sp i3 ) dup v9bias + d# 88 + x@ ;
: i4x ( sp -- sp i4 ) dup v9bias + d# 96 + x@ ;
: i5x ( sp -- sp i5 ) dup v9bias + d# 104 + x@ ;
: i6x ( sp -- sp i6 ) dup v9bias + d# 112 + x@ ;
: i7x ( sp -- sp i7 ) dup v9bias + d# 120 + x@ ;

: l0 ( sp -- sp l0 ) dup d# 0 + l@ ;
: l1 ( sp -- sp l1 ) dup d# 4 + l@ ;
: l2 ( sp -- sp l2 ) dup d# 8 + l@ ;
: l3 ( sp -- sp l3 ) dup d# 12 + l@ ;
: l4 ( sp -- sp l4 ) dup d# 16 + l@ ;
: l5 ( sp -- sp l5 ) dup d# 20 + l@ ;
: l6 ( sp -- sp l6 ) dup d# 24 + l@ ;
: l7 ( sp -- sp l7 ) dup d# 28 + l@ ;
: i0 ( sp -- sp i0 ) dup d# 32 + l@ ;
: i1 ( sp -- sp i1 ) dup d# 36 + l@ ;
: i2 ( sp -- sp i2 ) dup d# 40 + l@ ;
: i3 ( sp -- sp i3 ) dup d# 44 + l@ ;
: i4 ( sp -- sp i4 ) dup d# 48 + l@ ;
: i5 ( sp -- sp i5 ) dup d# 52 + l@ ;
: i6 ( sp -- sp i6 ) dup d# 56 + l@ ;
: i7 ( sp -- sp i7 ) dup d# 60 + l@ ;

: .stacktrace ( sp -- )
   begin  dup pointer-bad? 0= over and  while
      dup 1 and  if
         i7x dup 1 and if v9bias + then .subroutine ." from " i7x .subname cr
         ."  ( " i0x .h i1x .h i2x .h i3x .h i4x .h i5x .h ." )" cr
         i6x
      else
         i7 .subroutine ." from " i7 .subname cr
         ."  ( " i0 .h i1 .h i2 .h i3 .h i4 .h i5 .h ." )" cr
         i6
      then
      exit? throw nip
   repeat
   drop
;

: .threadtrace ( t -- )
   [ also _kthread-words ]
   [ also _label_t-words ]
   t_pcb                              ( pcb )
   ."  pc: " dup 0 ['] val index .x   ( pcb )
   ."  sp: " 1 ['] val index dup .x   ( sp )
   cr .stacktrace cr                  ( )
   [ previous ]
   [ previous ]
;

: .proctlist ( p -- )
   [ also proc-words ]
   [ also _kthread-words ]
   p_tlist dup                     ( t0 t0 )
   begin                           ( t0 t )
      ."    thread " dup .x        ( t0 t )
      dup t_forw swap              ( t0 t' t )
      .threadtrace                 ( t0 t' )
   2dup =  until                   ( t0 t )
   2drop                           ( )
   [ previous ]
   [ previous ]
;

: .threadlist ( -- )
   [ also _kthread-words ]
   symbol genunix:allthreads p@ ?dup  if  ( t )
      dup                                 ( t t )
      begin                               ( t0 t )
         ."    thread " dup .x            ( t0 t )
         dup t_next swap                  ( t0 t' t )
	 dup t_state  if                  ( t0 t' t )
            .threadtrace false            ( t0 t false )
         else                             ( t0 t' t )
            ."  free" cr cr drop exit?    ( t0 t' done? )
         then                             ( t0 t' done? )
      dup 2over = or nip  until           ( t0 t )
      2drop                               ( )
   then                                   ( )
   [ previous ]
;


vocabulary _disp-words
1c ' _disp-words c-struct ._disp
also _disp-words definitions

' .x 0 byte-field disp_lock
' .d 2 short-field disp_npri
' .x 4 ptr-field disp_q
' .x 8 ptr-field disp_q_limit
' .x c ptr-field disp_qactmap
' .d 10 short-field disp_maxrunpri
' .d 12 short-field disp_max_unbound_pri
' .d 14 long-field disp_nrunnable

kdbg-words definitions
previous

\ end _disp section


vocabulary cpu-words
5c8 ' cpu-words c-struct .cpu
also cpu-words definitions

' .d 0 long-field cpu_id
' .d 4 long-field cpu_seqid
' .x 8 short-field cpu_flags
' .x c ptr-field cpu_thread
' .x 10 ptr-field cpu_idle_thread
' .x 14 ptr-field cpu_pause_thread
' .x 18 ptr-field cpu_lwp
' .x 1c ptr-field cpu_fpowner
' .x 28 ptr-field cpu_next
' .x 2c ptr-field cpu_prev
' .x 30 ptr-field cpu_next_onln
' .x 34 ptr-field cpu_prev_onln
' ._disp 40 struct-field cpu_disp
' .x 5c byte-field cpu_runrun
' .x 5d byte-field cpu_kprunrun
' .x 60 ptr-field cpu_dispthread
' .x 64 byte-field cpu_thread_lock
' .d 66 short-field cpu_dispatch_pri
' .x 6c ptr-field cpu_intr_stack
' .x 70 long-field cpu_on_intr
' .x 74 ptr-field cpu_intr_thread
' .x 78 long-field cpu_intr_actv
' .d 7c long-field cpu_base_spl
' .x 204 struct-field cpu_trace
' .x 2a0 struct-field cpu_m

kdbg-words definitions
previous

\ end cpu section


alias .disp ._disp

: .cpu-n ( n -- )
   dup ptrsize * symbol cpu + p@        ( n cpu )
   ?dup  if                       ( n cpu )
      .cpu drop                   ( )
   else                           ( n )
      ." cpu[ " .d ." ] is NULL"  ( )
   then                           ( )
;

: .cpu-list ( -- )
   [ also cpu-words ]
   symbol cpu_list p@ ?dup  if   ( cpu0 )
      dup                        ( cpu0 cpu0 )
      begin                      ( cpu0 cpu )
         dup .cpu cpu_next cr    ( cpu0 cpu' )
      2dup =  until              ( cpu0 cpu )
      2drop                      ( )
   then                          ( )
   [ previous ]
;


vocabulary tracedata-words
40 ' tracedata-words c-struct .tracedata
also tracedata-words definitions

' .x 0 ptr-field tbuf_start
' .x 4 ptr-field tbuf_end
' .x 8 ptr-field tbuf_wrap
' .x c ptr-field tbuf_head
' .x 10 ptr-field tbuf_tail
' .x 14 ptr-field tbuf_redzone
' .x 18 ptr-field tbuf_overflow
' .x 1c ptr-field real_event_map
' .x 20 ptr-field event_map
' .x 24 ptr-field trace_file
' .x 28 long-field last_hrtime_lo32
' .x 2c ptr-field last_thread

kdbg-words definitions
previous

\ end tracedata section


vocabulary vt_generic-words
100 ' vt_generic-words c-struct .vt_generic
also vt_generic-words definitions

' .x 0 long-field head
' l@ ' .x fc 4 4 array-field data

kdbg-words definitions
previous

\ end vt_generic section


vocabulary vt_label-words
18 ' vt_label-words c-struct .vt_label
also vt_label-words definitions

' .x 0 long-field head
' .x 4 long-field facility
' .x 8 long-field tag
' .x c long-field length
' .x 10 long-field info
' .x 14 long-field npf

kdbg-words definitions
previous

\ end vt_label section


vocabulary vt_data_4-words
10 ' vt_data_4-words c-struct .vt_data_4
also vt_data_4-words definitions

' .x 0 long-field head
' l@ ' .x c 4 4 array-field data

kdbg-words definitions
previous

\ end vt_data_4 section


vocabulary vt_data_8-words
20 ' vt_data_8-words c-struct .vt_data_8
also vt_data_8-words definitions

' .x 0 long-field head
' l@ ' .x 1c 4 4 array-field data

kdbg-words definitions
previous

\ end vt_data_8 section


vocabulary vt_data_16-words
40 ' vt_data_16-words c-struct .vt_data_16
also vt_data_16-words definitions

' .x 0 long-field head
' l@ ' .x 3c 4 4 array-field data

kdbg-words definitions
previous

\ end vt_data_16 section


vocabulary vt_data_32-words
80 ' vt_data_32-words c-struct .vt_data_32
also vt_data_32-words definitions

' .x 0 long-field head
' l@ ' .x 7c 4 4 array-field data

kdbg-words definitions
previous

\ end vt_data_32 section


vocabulary dev_info-words
a4 ' dev_info-words c-struct .dev_info
also dev_info-words definitions

' .x 0 ptr-field devi_parent
' .x 4 ptr-field devi_child
' .x 8 ptr-field devi_sibling
' .str 10 ptr-field devi_addr
' .x 14 long-field devi_nodeid
' .x 18 long-field devi_instance
' .adr 1c ptr-field devi_ops
' .x 20 ptr-field devi_parent_data
' .x 24 ptr-field devi_driver_data
' .x 28 ptr-field devi_drv_prop_ptr
' .x 2c ptr-field devi_sys_prop_ptr
' .x 30 ptr-field devi_minor
' .x 34 ptr-field devi_next

kdbg-words definitions
previous

\ end dev_info section


vocabulary lldaddr_t-words
8 ' lldaddr_t-words c-struct .lldaddr_t
also lldaddr_t-words definitions

' .x 0 ext-field _f

kdbg-words definitions
previous

\ end lldaddr_t section


vocabulary buf.b_un-words
4 ' buf.b_un-words c-struct .buf.b_un
also buf.b_un-words definitions

' .x 0 ptr-field b_addr

kdbg-words definitions
previous

\ end buf.b_un section


vocabulary buf-words
78 ' buf-words c-struct .buf
also buf-words definitions

' .x 0 long-field b_flags
' .x 4 ptr-field b_forw
' .x 8 ptr-field b_back
' .x c ptr-field av_forw
' .x 10 ptr-field av_back
' .d 18 long-field b_bcount
' .buf.b_un 1c struct-field b_un
' .lldaddr_t 20 struct-field _b_blkno
' .d 2c long-field b_resid
' .adr 34 ptr-field b_proc
' .x 38 ptr-field b_pages
' .d 40 long-field b_bufsize
' .x 44 ptr-field b_iodone
' .x 48 ptr-field b_vp
' .d 54 long-field b_error
' .dev_t 5c long-field b_edev

kdbg-words definitions
previous

\ end buf section


vocabulary uio-words
28 ' uio-words c-struct .uio
also uio-words definitions

' .x 0 ptr-field uio_iov
' .x 4 long-field uio_iovcnt
' .x 8 struct-field _uio_offset
' .d 10 long-field uio_segflg
' .x 14 short-field uio_fmode
' .x 18 struct-field _uio_limit
' .x 20 long-field uio_resid

kdbg-words definitions
previous

\ end uio section


vocabulary iovec-words
8 ' iovec-words c-struct .iovec
also iovec-words definitions

' .x 0 ptr-field iov_base
' .x 4 long-field iov_len

kdbg-words definitions
previous

\ end iovec section


: .devinfo-tree ( dip -- ) recursive
   [ also dev_info-words ]
   dup .dev_info cr           ( dip )
   dup devi_child ?dup  if    ( dip child )
      .devinfo-tree cr        ( dip )
   then                       ( dip )
   dup devi_sibling ?dup  if  ( dip sibling )
      .devinfo-tree cr        ( dip )
   then                       ( dip )
   drop                       ( )
   [ previous ]
;

: .devinfo-inst ( dip -- )
   [ also dev_info-words ]
   begin  ?dup  while         ( dip )
      .dev_info cr devi_next  ( dip )
   repeat                     ( )
   [ previous ]
;

: .devinfo-level ( dip -- )
   [ also dev_info-words ]
   begin  ?dup  while             ( dip )
      .dev_info cr devi_sibling   ( dip )
   repeat                         ( )
   [ previous ]
;


vocabulary modctl-words
44 ' modctl-words c-struct .modctl
also modctl-words definitions

' .x 0 ptr-field mod_next
' .x 4 ptr-field mod_prev
' .d 8 long-field mod_id
' .x c ptr-field mod_mp
' .x 10 ptr-field mod_inprogress_thread
' .x 14 ptr-field mod_modinfo
' .x 18 ptr-field mod_linkage
' .str 1c ptr-field mod_filename
' .str 20 ptr-field mod_modname
' .x 24 long-field mod_busy
' .x 28 long-field mod_stub
' .x 2c byte-field mod_loaded
' .x 2d byte-field mod_installed
' .x 2f byte-field mod_want
' .d 38 long-field mod_loadcnt

kdbg-words definitions
previous

\ end modctl section


vocabulary module-words
9c ' module-words c-struct .module
also module-words definitions

' .d 0 long-field total_allocated
' .x 38 ptr-field shdrs
' .x 3c ptr-field symhdr
' .x 40 ptr-field strhdr
' .d 48 long-field symsize
' .x 4c ptr-field symspace
' .x 50 long-field flags
' .d 54 long-field text_size
' .d 58 long-field data_size
' .x 5c ptr-field text
' .x 60 ptr-field data
' .d 64 long-field symtbl_section
' .x 68 ptr-field symtbl
' .x 6c ptr-field strings
' .d 70 long-field hashsize
' .x 74 ptr-field buckets
' .x 78 ptr-field chains
' .d 7c long-field nsyms
' .d 80 long-field bss_align
' .d 84 long-field bss_size
' .x 88 long-field bss
' .str 8c ptr-field filename

kdbg-words definitions
previous

\ end module section


: .module-list ( -- )
   [ also modctl-words ]
   symbol modules dup         ( mod0 mod0 )
   begin                      ( mod0 mod )
      dup mod_next swap       ( mod0 mod' mod )
      mod_mp ?dup  if         ( mod0 mod' mp )
         .module cr           ( mod0 mod' )
      then                    ( mod0 mod' )
   2dup =  until              ( mod0 mod' )
   2drop                      ( )
   [ previous ]
;


vocabulary kmem_slab-words
20 ' kmem_slab-words c-struct .kmem_slab
also kmem_slab-words definitions

' .x 0 ptr-field slab_cache
' .x 4 ptr-field slab_base
' .x 8 ptr-field slab_next
' .x c ptr-field slab_prev
' .x 10 ptr-field slab_head
' .x 14 ptr-field slab_tail
' .x 18 long-field slab_refcnt
' .x 1c long-field slab_chunks

kdbg-words definitions
previous

\ end kmem_slab section


vocabulary kmem_cache-words
158 ' kmem_cache-words c-struct .kmem_cache
also kmem_cache-words definitions

' .mutex 0 struct-field cache_lock
' .x 8 long-field cache_flags
' .x c ptr-field cache_freelist
' .d 10 long-field cache_offset
' .d 1c long-field cache_alloc_fail
' .x 20 long-field cache_hash_shift
' .x 24 long-field cache_hash_mask
' .x 28 ptr-field cache_hash_table
' .kmem_slab 2c struct-field cache_nullslab
' .adr 4c ptr-field cache_constructor
' .adr 50 ptr-field cache_destructor
' .adr 54 ptr-field cache_reclaim
' .d 6c long-field cache_bufsize
' .d 70 long-field cache_align
' .d 74 long-field cache_chunksize
' .d 78 long-field cache_slabsize
' .d 7c long-field cache_color
' .d 80 long-field cache_maxcolor
' .d 84 long-field cache_slab_create
' .d 88 long-field cache_slab_destroy
' .d 8c long-field cache_buftotal
' .d 90 long-field cache_bufmax
' .d 94 long-field cache_rescale
' .d 98 long-field cache_lookup_depth
' .x 9c ptr-field cache_kstat
' .x a0 ptr-field cache_next
' .x a4 ptr-field cache_prev
' c@ ' emit 20 1 a8 array-field cache_name
' .x cc ptr-field cache_magazine_cache
' .d d0 long-field cache_magazine_size
' .d d4 long-field cache_magazine_maxsize
' .mutex d8 struct-field cache_depot_lock
' .d e4 long-field cache_ncpus
' .d e8 long-field cache_depot_contention
' .d ec long-field cache_depot_contention_last
' .d f0 long-field cache_depot_alloc
' .d f4 long-field cache_depot_free
' .x f8 ptr-field cache_fmag_list
' .d fc long-field cache_fmag_total
' .d 100 long-field cache_fmag_min
' .d 104 long-field cache_fmag_reaplimit
' .x 108 ptr-field cache_emag_list
' .d 10c long-field cache_emag_total
' .d 110 long-field cache_emag_min
' .d 114 long-field cache_emag_reaplimit

kdbg-words definitions
previous

\ end kmem_cache section


vocabulary timespec-words
8 ' timespec-words c-struct .timespec
also timespec-words definitions

' .x 0 long-field tv_sec
' .x 4 long-field tv_nsec

kdbg-words definitions
previous

\ end timespec section


alias .timestruc .timespec


here ," VNON" 0
here ," VREG" 1
here ," VDIR" 2
here ," VBLK" 3
here ," VCHR" 4
here ," VLNK" 5
here ," VFIFO" 6
here ," VDOOR" 7
here ," VPROC" 8
here ," VSOCK" 9
here ," VBAD" a
b c-enum .vtype

vocabulary vattr-words
60 ' vattr-words c-struct .vattr
also vattr-words definitions

' .x 0 long-field va_mask
' .d 4 long-field va_type
' .x 8 long-field va_mode
' .d c long-field va_uid
' .d 10 long-field va_gid
' .x 14 long-field va_fsid
' .x 18 ext-field va_nodeid
' .d 20 long-field va_nlink
' .d 28 ext-field va_size
' .timespec 30 struct-field va_atime
' .timespec 38 struct-field va_mtime
' .timespec 40 struct-field va_ctime
' .dev_t 48 long-field va_rdev
' .d 4c long-field va_blksize
' .d 50 ext-field va_nblocks
' .d 58 long-field va_vcode

kdbg-words definitions
previous

\ end vattr section


vocabulary vnode-words
3c ' vnode-words c-struct .vnode
also vnode-words definitions

' .x 8 short-field v_flag
' .d c long-field v_count
' .x 10 ptr-field v_vfsmountedhere
' .adr 14 ptr-field v_op
' .x 18 ptr-field v_vfsp
' .x 1c ptr-field v_stream
' .x 20 ptr-field v_pages
' .vtype 24 long-field v_type
' .dev_t 28 long-field v_rdev
' .x 2c ptr-field v_data
' .x 30 ptr-field v_filocks

kdbg-words definitions
previous

\ end vnode section


vocabulary vfs-words
40 ' vfs-words c-struct .vfs
also vfs-words definitions

' .x 0 ptr-field vfs_next
' .adr 4 ptr-field vfs_op
' .x 8 ptr-field vfs_vnodecovered
' .x c long-field vfs_flag
' .d 14 long-field vfs_fstype
' .x 20 ptr-field vfs_data
' .dev_t 24 long-field vfs_dev
' .x 2c short-field vfs_nsubmounts
' .x 30 ptr-field vfs_list
' .x 34 ptr-field vfs_hash

kdbg-words definitions
previous

\ end vfs section


vocabulary callout-words
28 ' callout-words c-struct .callout
also callout-words definitions

' .x 0 ptr-field c_idnext
' .x 4 ptr-field c_idprev
' .x 8 ptr-field c_lbnext
' .x c ptr-field c_lbprev
' .x 10 long-field c_xid
' .x 14 long-field c_runtime
' .x 18 ptr-field c_func
' .x 1c ptr-field c_arg
' .x 20 ptr-field c_executor
' .x 24 struct-field c_done

kdbg-words definitions
previous

\ end callout section


vocabulary cred-words
24 ' cred-words c-struct .cred
also cred-words definitions

' .d 0 long-field cr_ref
' .d 4 long-field cr_uid
' .d 8 long-field cr_gid
' .d c long-field cr_ruid
' .d 10 long-field cr_rgid
' .d 14 long-field cr_suid
' .d 18 long-field cr_sgid
' .d 1c long-field cr_ngroups

kdbg-words definitions
previous

\ end cred section


vocabulary kstat_named.value-words
10 ' kstat_named.value-words c-struct .kstat_named.value
also kstat_named.value-words definitions

' .x 0 long-field ul

kdbg-words definitions
previous

\ end kstat_named.value section


vocabulary kstat_named-words
30 ' kstat_named-words c-struct .kstat_named
also kstat_named-words definitions

' c@ ' emit 1f 1 0 array-field name
' .kstat_named.value 20 struct-field value

kdbg-words definitions
previous

\ end kstat_named section


vocabulary kstat-words
98 ' kstat-words c-struct .kstat
also kstat-words definitions

' .x 0 ext-field ks_crtime
' .x 8 ptr-field ks_next
' .x c long-field ks_kid
' c@ ' .x 1f 1 10 array-field ks_module
' .x 2f byte-field ks_resv
' .x 30 long-field ks_instance
' c@ ' .x 1f 1 34 array-field ks_name
' .x 53 byte-field ks_type
' c@ ' .x 1f 1 54 array-field ks_class
' .x 73 byte-field ks_flags
' .x 74 ptr-field ks_data
' .x 78 long-field ks_ndata
' .x 7c long-field ks_data_size
' .x 80 ext-field ks_snaptime
' .x 88 ptr-field ks_update
' .x 8c ptr-field ks_private
' .x 90 ptr-field ks_snapshot
' .x 94 ptr-field ks_lock

kdbg-words definitions
previous

\ end kstat section


vocabulary streamtab-words
10 ' streamtab-words c-struct .streamtab
also streamtab-words definitions

' .x 0 ptr-field st_rdinit
' .x 4 ptr-field st_wrinit
' .x 8 ptr-field st_muxrinit
' .x c ptr-field st_muxwinit

kdbg-words definitions
previous

\ end streamtab section


vocabulary stroptions-words
24 ' stroptions-words c-struct .stroptions
also stroptions-words definitions

' .x 0 long-field so_flags
' .x 4 short-field so_readopt
' .x 6 short-field so_wroff
' .x 8 long-field so_minpsz
' .x c long-field so_maxpsz
' .x 10 long-field so_hiwat
' .x 14 long-field so_lowat
' .x 18 byte-field so_band
' .x 1a short-field so_erropt
' .x 1c long-field so_maxblk
' .x 20 short-field so_copyopt

kdbg-words definitions
previous

\ end stroptions section


vocabulary struiod-words
b0 ' struiod-words c-struct .struiod
also struiod-words definitions

' .x 0 ptr-field d_mp
' .x 8 struct-field d_uio
' noop ' .x 80 8 30 array-field d_iov

kdbg-words definitions
previous

\ end struiod section


vocabulary infod-words
10 ' infod-words c-struct .infod
also infod-words definitions

' .x 0 byte-field d_cmd
' .x 1 byte-field d_res
' .x 4 long-field d_bytes
' .x 8 long-field d_count
' .x c ptr-field d_uiop

kdbg-words definitions
previous

\ end infod section


vocabulary queue-words
60 ' queue-words c-struct .queue
also queue-words definitions

' .x 0 ptr-field q_qinfo
' .x 4 ptr-field q_first
' .x 8 ptr-field q_last
' .x c ptr-field q_next
' .x 10 ptr-field q_link
' .x 14 ptr-field q_ptr
' .x 18 long-field q_count
' .x 1c long-field q_flag
' .x 20 long-field q_minpsz
' .x 24 long-field q_maxpsz
' .x 28 long-field q_hiwat
' .x 2c long-field q_lowat
' .x 30 ptr-field q_bandp
' .x 34 struct-field q_lock
' .x 3c ptr-field q_stream
' .x 40 ptr-field q_syncq
' .x 44 byte-field q_nband
' .x 46 struct-field q_wait
' .x 48 struct-field q_sync
' .x 4c ptr-field q_nfsrv
' .x 50 ptr-field q_nbsrv
' .x 54 short-field q_draining
' .x 56 short-field q_struiot
' .x 58 long-field q_syncqmsgs
' .x 5c long-field q_mblkcnt

kdbg-words definitions
previous

\ end queue section


vocabulary module_info-words
18 ' module_info-words c-struct .module_info
also module_info-words definitions

' .d 0 short-field mi_idnum
' .str 4 ptr-field mi_idname
' .d 8 long-field mi_minpsz
' .d c long-field mi_maxpsz
' .d 10 long-field mi_hiwat
' .d 14 long-field mi_lowat

kdbg-words definitions
previous

\ end module_info section


vocabulary qinit-words
28 ' qinit-words c-struct .qinit
also qinit-words definitions

' .adr 0 ptr-field qi_putp
' .adr 4 ptr-field qi_srvp
' .adr 8 ptr-field qi_qopen
' .adr c ptr-field qi_qclose
' .adr 10 ptr-field qi_qadmin
' .module_info 14 ptr-field qi_minfo
' .adr 20 ptr-field qi_infop
' .x 24 long-field qi_struiot

kdbg-words definitions
previous

\ end qinit section


vocabulary linkblk-words
c ' linkblk-words c-struct .linkblk
also linkblk-words definitions

' .x 0 ptr-field l_qtop
' .x 4 ptr-field l_qbot
' .x 8 long-field l_index

kdbg-words definitions
previous

\ end linkblk section


vocabulary free_rtn-words
8 ' free_rtn-words c-struct .free_rtn
also free_rtn-words definitions

' .x 0 ptr-field free_func
' .x 4 ptr-field free_arg

kdbg-words definitions
previous

\ end free_rtn section


vocabulary stdata-words
bc ' stdata-words c-struct .stdata
also stdata-words definitions

' .x 0 ptr-field sd_wrq
' .x 4 ptr-field sd_iocblk
' .x 8 ptr-field sd_vnode
' .x c ptr-field sd_strtab
' .x 10 long-field sd_flag
' .x 14 long-field sd_iocid
' .x 18 ptr-field sd_sidp
' .x 1c ptr-field sd_pgidp
' .x 20 short-field dummy
' .x 22 short-field sd_wroff
' .x 24 long-field sd_rerror
' .x 28 long-field sd_werror
' .x 2c long-field sd_pushcnt
' .x 30 long-field sd_sigflags
' .x 34 ptr-field sd_siglist
' .x 38 struct-field sd_pollist
' .x 44 ptr-field sd_mark
' .x 48 long-field sd_closetime
' .x 4c struct-field sd_lock
' .x 54 struct-field sd_monitor
' .x 56 struct-field sd_iocmonitor
' .x 58 long-field sd_qn_minpsz
' .x 5c long-field sd_qn_maxpsz
' .x 60 ptr-field sd_mate
' .x 64 ptr-field sd_freezer
' .x 68 struct-field sd_reflock
' .x 70 long-field sd_refcnt
' .x 74 ptr-field sd_next
' .x 78 ptr-field sd_prev
' .x 7c long-field sd_wakeq
' .x 80 ptr-field sd_struiordq
' .x 84 ptr-field sd_struiowrq
' .x 88 byte-field sd_struiodnak
' .x 8c ptr-field sd_struionak
' .x 90 ptr-field sd_t_audit_data
' .x 94 ptr-field sd_vnfifo
' .x 98 long-field sd_maxblk
' .x 9c ptr-field sd_kcp
' .x a0 long-field sd_rput_opt
' .x a4 long-field sd_wput_opt
' .x a8 long-field sd_read_opt
' .x ac ptr-field sd_rprotofunc
' .x b0 ptr-field sd_rmiscfunc
' .x b4 ptr-field sd_rderrfunc
' .x b8 ptr-field sd_wrerrfunc

kdbg-words definitions
previous

\ end stdata section


vocabulary msgb-words
20 ' msgb-words c-struct .msgb
also msgb-words definitions

' .x 0 ptr-field b_next
' .x 4 ptr-field b_prev
' .x 8 ptr-field b_cont
' .x c ptr-field b_rptr
' .x 10 ptr-field b_wptr
' .x 14 ptr-field b_datap
' .x 18 byte-field b_band
' .x 1a short-field b_flag
' .x 1c ptr-field b_queue

kdbg-words definitions
previous

\ end msgb section


vocabulary datab-words
38 ' datab-words c-struct .datab
also datab-words definitions

' .x 0 ptr-field db_frtnp
' .x 4 ptr-field db_base
' .x 8 ptr-field db_lim
' .x c byte-field db_ref
' .x d byte-field db_type
' .x e byte-field db_flags
' .x f byte-field db_struioflag
' .x 10 ptr-field db_cache
' .x 14 ptr-field db_mblk
' .x 18 ptr-field db_free
' .x 1c ptr-field db_lastfree
' .x 20 ptr-field db_pad
' .x 24 ptr-field db_struiobase
' .x 28 ptr-field db_struiolim
' .x 2c ptr-field db_struioptr
' .x 30 struct-field db_struioun

kdbg-words definitions
previous

\ end datab section


vocabulary qband-words
20 ' qband-words c-struct .qband
also qband-words definitions

' .x 0 ptr-field qb_next
' .x 4 long-field qb_count
' .x 8 ptr-field qb_first
' .x c ptr-field qb_last
' .x 10 long-field qb_hiwat
' .x 14 long-field qb_lowat
' .x 18 long-field qb_flag
' .x 1c long-field qb_mblkcnt

kdbg-words definitions
previous

\ end qband section


vocabulary iocblk-words
28 ' iocblk-words c-struct .iocblk
also iocblk-words definitions

' .x 0 long-field ioc_cmd
' .x 4 ptr-field ioc_cr
' .x 8 long-field ioc_id
' .x c long-field ioc_count
' .x 10 long-field ioc_error
' .x 14 long-field ioc_rval
' .x 18 long-field ioc_fill1
' .x 1c long-field ioc_flag
' l@ ' .x 8 4 20 array-field ioc_filler

kdbg-words definitions
previous

\ end iocblk section


vocabulary copyreq-words
2c ' copyreq-words c-struct .copyreq
also copyreq-words definitions

' .x 0 long-field cq_cmd
' .x 4 ptr-field cq_cr
' .x 8 long-field cq_id
' .x c ptr-field cq_addr
' .x 10 long-field cq_size
' .x 14 long-field cq_flag
' .x 18 ptr-field cq_private
' l@ ' .x 10 4 1c array-field cq_filler

kdbg-words definitions
previous

\ end copyreq section


vocabulary copyresp-words
2c ' copyresp-words c-struct .copyresp
also copyresp-words definitions

' .x 0 long-field cp_cmd
' .x 4 ptr-field cp_cr
' .x 8 long-field cp_id
' .x c ptr-field cp_rval
' .x 10 long-field cp_pad1
' .x 14 long-field cp_pad2
' .x 18 ptr-field cp_private
' .x 1c long-field cp_flag
' l@ ' .x c 4 20 array-field cp_filler

kdbg-words definitions
previous

\ end copyresp section


vocabulary ioctypes-words
2c ' ioctypes-words c-struct .ioctypes
also ioctypes-words definitions

' .x 0 struct-field iocblk
' .x 0 struct-field copyreq
' .x 0 struct-field copyresp

kdbg-words definitions
previous

\ end ioctypes section


: .stream-list ( stream -- )
   [ also stdata-words ]
   [ also queue-words ]
   [ also qinit-words ]
   sd_wrq		       ( queue )
   begin  ?dup  while          ( queue )
      dup .queue cr	       ( queue )
      dup q_qinfo .qinit cr    ( queue )
      cr
      q_next		       ( queue' )
   repeat                      ( )
   [ previous ]
   [ previous ]
   [ previous ]
;


vocabulary shmid_ds-words
70 ' shmid_ds-words c-struct .shmid_ds
also shmid_ds-words definitions

' .x 0 struct-field shm_perm
' .x 2c long-field shm_segsz
' .x 30 ptr-field shm_amp
' .x 34 short-field shm_lkcnt
' .x 38 long-field shm_lpid
' .x 3c long-field shm_cpid
' .x 40 long-field shm_nattch
' .x 44 long-field shm_cnattch
' .x 48 long-field shm_atime
' .x 4c long-field shm_pad1
' .x 50 long-field shm_dtime
' .x 54 long-field shm_pad2
' .x 58 long-field shm_ctime
' .x 5c long-field shm_pad3
' .x 60 struct-field shm_cv
' c@ ' .x 2 1 62 array-field shm_pad4
' .x 64 ptr-field shm_sptinfo
' .x 68 ptr-field shm_sptseg
' .x 6c long-field shm_sptprot

kdbg-words definitions
previous

\ end shmid_ds section


vocabulary ipc_perm-words
2c ' ipc_perm-words c-struct .ipc_perm
also ipc_perm-words definitions

' .x 0 long-field uid
' .x 4 long-field gid
' .x 8 long-field cuid
' .x c long-field cgid
' .x 10 long-field mode
' .x 14 long-field seq
' .x 18 long-field key
' l@ ' .x 10 4 1c array-field pad

kdbg-words definitions
previous

\ end ipc_perm section


vocabulary dirent64-words
18 ' dirent64-words c-struct .dirent64
also dirent64-words definitions

' .x 0 ext-field d_ino
' .x 8 ext-field d_off
' .x 10 short-field d_reclen
' c@ ' .x 1 1 12 array-field d_name

kdbg-words definitions
previous

\ end dirent64 section


vocabulary dirent32-words
c ' dirent32-words c-struct .dirent32
also dirent32-words definitions

' .x 0 long-field d_ino
' .x 4 long-field d_off
' .x 8 short-field d_reclen
' c@ ' .x 1 1 a array-field d_name

kdbg-words definitions
previous

\ end dirent32 section


vocabulary dirent-words
c ' dirent-words c-struct .dirent
also dirent-words definitions

' .x 0 long-field d_ino
' .x 4 long-field d_off
' .x 8 short-field d_reclen
' c@ ' .x 1 1 a array-field d_name

kdbg-words definitions
previous

\ end dirent section


vocabulary ufid-words
c ' ufid-words c-struct .ufid
also ufid-words definitions

' .x 0 short-field ufid_len
' .x 4 long-field ufid_ino
' .x 8 long-field ufid_gen

kdbg-words definitions
previous

\ end ufid section


vocabulary mntinfo-words
128 ' mntinfo-words c-struct .mntinfo
also mntinfo-words definitions

' .x 0 struct-field mi_lock
' .x 8 ptr-field mi_servers
' .x c ptr-field mi_curr_serv
' .x 10 struct-field mi_failover_cv
' .x 14 long-field mi_readers
' .x 18 ptr-field mi_rootvp
' .x 1c long-field mi_flags
' .x 20 long-field mi_tsize
' .x 24 long-field mi_stsize
' .x 28 long-field mi_timeo
' .x 2c long-field mi_retrans
' .x 30 long-field mi_acregmin
' .x 34 long-field mi_acregmax
' .x 38 long-field mi_acdirmin
' .x 3c long-field mi_acdirmax
' .x 40 ext-field mi_maxfilesize
' noop ' .x 30 c 48 array-field mi_timers
' .x 78 long-field mi_curread
' .x 7c long-field mi_curwrite
' l@ ' .x 14 4 80 array-field mi_async_reqs
' l@ ' .x 14 4 94 array-field mi_async_tail
' .x a8 ptr-field mi_async_curr
' l@ ' .x 14 4 ac array-field mi_async_clusters
' .x c0 long-field mi_async_init_clusters
' .x c4 struct-field mi_async_reqs_cv
' .x c6 short-field mi_threads
' .x c8 short-field mi_max_threads
' .x ca struct-field mi_async_cv
' .x cc long-field mi_async_count
' .x d0 struct-field mi_async_lock
' .x d8 ptr-field mi_pathconf
' .x dc long-field mi_prog
' .x e0 long-field mi_vers
' .x e4 ptr-field mi_rfsnames
' .x e8 ptr-field mi_reqs
' .x ec ptr-field mi_call_type
' .x f0 ptr-field mi_ss_call_type
' .x f4 ptr-field mi_timer_type
' .x f8 long-field mi_printftime
' .x fc ptr-field mi_aclnames
' .x 100 ptr-field mi_aclreqs
' .x 104 ptr-field mi_acl_call_type
' .x 108 ptr-field mi_acl_ss_call_type
' .x 10c ptr-field mi_acl_timer_type
' .x 110 long-field mi_noresponse
' .x 114 long-field mi_failover
' .x 118 long-field mi_remap
' .x 11c ptr-field mi_io_kstats
' .x 120 ptr-field mi_ro_kstats

kdbg-words definitions
previous

\ end mntinfo section


vocabulary failinfo-words
10 ' failinfo-words c-struct .failinfo
also failinfo-words definitions

' .x 0 ptr-field vp
' .x 4 ptr-field fhp
' .x 8 ptr-field copyproc
' .x c ptr-field lookupproc

kdbg-words definitions
previous

\ end failinfo section


vocabulary servinfo-words
64 ' servinfo-words c-struct .servinfo
also servinfo-words definitions

' .x 0 ptr-field sv_knconf
' .x 4 struct-field sv_addr
' .x 10 struct-field sv_fhandle
' .x 54 ptr-field sv_secdata
' .x 58 ptr-field sv_hostname
' .x 5c long-field sv_hostnamelen
' .x 60 ptr-field sv_next

kdbg-words definitions
previous

\ end servinfo section


vocabulary nfs_fid-words
24 ' nfs_fid-words c-struct .nfs_fid
also nfs_fid-words definitions

' .x 0 short-field nf_len
' .x 2 short-field nf_pad
' c@ ' .x 20 1 4 array-field nf_data

kdbg-words definitions
previous

\ end nfs_fid section


vocabulary svcfh-words
20 ' svcfh-words c-struct .svcfh
also svcfh-words definitions

' .x 0 struct-field fh_fsid
' .x 8 short-field fh_len
' c@ ' .x a 1 a array-field fh_data
' .x 14 short-field fh_xlen
' c@ ' .x a 1 16 array-field fh_xdata

kdbg-words definitions
previous

\ end svcfh section


vocabulary sess-words
34 ' sess-words c-struct .sess
also sess-words definitions

' .x 0 short-field s_ref
' .x 2 short-field s_mode
' .x 4 long-field s_uid
' .x 8 long-field s_gid
' .x c long-field s_ctime
' .x 10 long-field s_dev
' .x 14 ptr-field s_vp
' .x 18 ptr-field s_sidp
' .x 1c ptr-field s_cred
' .x 20 struct-field s_lock
' .x 28 struct-field s_wait_cv
' .x 2c long-field s_cnt
' .x 30 long-field s_flag

kdbg-words definitions
previous

\ end sess section


vocabulary snode-words
98 ' snode-words c-struct .snode
also snode-words definitions

' .x 0 ptr-field s_next
' .x 4 struct-field s_vnode
' .x 40 ptr-field s_realvp
' .x 44 ptr-field s_commonvp
' .x 48 long-field s_dev
' .x 4c ptr-field s_dip
' .x 50 ext-field s_nextr
' .x 58 ptr-field s_list
' .x 60 ext-field s_size
' .x 68 short-field s_flag
' .x 6c long-field s_fsid
' .x 70 long-field s_atime
' .x 74 long-field s_mtime
' .x 78 long-field s_ctime
' .x 7c long-field s_count
' .x 80 long-field s_mapcnt
' .x 84 struct-field s_lock
' .x 8c struct-field s_cv
' .x 90 long-field s_gdev

kdbg-words definitions
previous

\ end snode section


vocabulary fnnode-words
c0 ' fnnode-words c-struct .fnnode
also fnnode-words definitions

' .str 0 ptr-field fn_name
' .d 10 long-field fn_linkcnt
' .d 30 long-field fn_size
' .x 34 struct-field fn_vnode
' .x 70 ptr-field fn_parent
' .x 74 ptr-field fn_next
' .x 78 ptr-field fn_dirents
' .x 7c ptr-field fn_trigger

kdbg-words definitions
previous

\ end fnnode section


vocabulary utsname-words
505 ' utsname-words c-struct .utsname
also utsname-words definitions

' c@ ' .x 101 1 0 array-field sysname
' c@ ' .x 101 1 101 array-field nodename
' c@ ' .x 101 1 202 array-field release
' c@ ' .x 101 1 303 array-field version
' c@ ' .x 101 1 404 array-field machine

kdbg-words definitions
previous

\ end utsname section

: utsname
   [ also utsname-words ]
   symbol utsname
   dup sysname .str space
   dup nodename .str space
   dup release .str space
   dup version .str space
   dup machine .str cr
   [ previous ]
;

vocabulary rlimit64-words
10 ' rlimit64-words c-struct .rlimit64
also rlimit64-words definitions

' .x 0 ext-field rlim_cur
' .x 8 ext-field rlim_max

kdbg-words definitions
previous

\ end rlimit64 section


vocabulary rlimit32-words
8 ' rlimit32-words c-struct .rlimit32
also rlimit32-words definitions

' .x 0 long-field rlim_cur
' .x 4 long-field rlim_max

kdbg-words definitions
previous

\ end rlimit32 section


vocabulary scsi_address-words
8 ' scsi_address-words c-struct .scsi_address
also scsi_address-words definitions

' .x 0 ptr-field a_hba_tran
' .x 4 short-field a_target
' .x 6 byte-field a_lun
' .x 7 byte-field a_sublun

kdbg-words definitions
previous

\ end scsi_address section


vocabulary scsi_arq_status-words
20 ' scsi_arq_status-words c-struct .scsi_arq_status
also scsi_arq_status-words definitions

' .x 0 struct-field sts_status
' .x 1 struct-field sts_rqpkt_status
' .x 2 byte-field sts_rqpkt_reason
' .x 3 byte-field sts_rqpkt_resid
' .x 4 long-field sts_rqpkt_state
' .x 8 long-field sts_rqpkt_statistics
' .x c struct-field sts_sensedata

kdbg-words definitions
previous

\ end scsi_arq_status section


vocabulary scsi_device-words
24 ' scsi_device-words c-struct .scsi_device
also scsi_device-words definitions

' .x 0 struct-field sd_address
' .x 8 ptr-field sd_dev
' .x c struct-field sd_mutex
' .x 14 ptr-field sd_reserved
' .x 18 ptr-field sd_inq
' .x 1c ptr-field sd_sense
' .x 20 ptr-field sd_private

kdbg-words definitions
previous

\ end scsi_device section


vocabulary scsi_hba_tran-words
90 ' scsi_hba_tran-words c-struct .scsi_hba_tran
also scsi_hba_tran-words definitions

' .x 0 ptr-field tran_hba_dip
' .x 4 ptr-field tran_hba_private
' .x 8 ptr-field tran_tgt_private
' .x c ptr-field tran_sd
' .x 10 ptr-field tran_tgt_init
' .x 14 ptr-field tran_tgt_probe
' .x 18 ptr-field tran_tgt_free
' .x 1c ptr-field tran_start
' .x 20 ptr-field tran_reset
' .x 24 ptr-field tran_abort
' .x 28 ptr-field tran_getcap
' .x 2c ptr-field tran_setcap
' .x 30 ptr-field tran_init_pkt
' .x 34 ptr-field tran_destroy_pkt
' .x 38 ptr-field tran_dmafree
' .x 3c ptr-field tran_sync_pkt
' .x 40 ptr-field tran_reset_notify
' .x 44 ptr-field tran_get_bus_addr
' .x 48 ptr-field tran_get_name
' .x 4c ptr-field tran_clear_aca
' .x 50 ptr-field tran_clear_task_set
' .x 54 ptr-field tran_terminate_task
' .x 58 ptr-field tran_get_eventcookie
' .x 5c ptr-field tran_add_eventcall
' .x 60 ptr-field tran_remove_eventcall
' .x 64 ptr-field tran_post_event
' .x 68 ptr-field tran_quiesce
' .x 6c ptr-field tran_unquiesce
' .x 70 ptr-field tran_bus_reset
' .x 74 long-field tran_hba_flags
' .x 78 long-field tran_min_xfer
' .x 7c byte-field tran_min_burst_size
' .x 7d byte-field tran_max_burst_size
' .x 80 struct-field tran_open_lock
' .x 88 ext-field tran_open_flag

kdbg-words definitions
previous

\ end scsi_hba_tran section


vocabulary scsi_pkt-words
34 ' scsi_pkt-words c-struct .scsi_pkt
also scsi_pkt-words definitions

' .x 0 ptr-field pkt_ha_private
' .x 4 struct-field pkt_address
' .x c ptr-field pkt_private
' .x 10 ptr-field pkt_comp
' .x 14 long-field pkt_flags
' .x 18 long-field pkt_time
' .x 1c ptr-field pkt_scbp
' .x 20 ptr-field pkt_cdbp
' .x 24 long-field pkt_resid
' .x 28 long-field pkt_state
' .x 2c long-field pkt_statistics
' .x 30 byte-field pkt_reason

kdbg-words definitions
previous

\ end scsi_pkt section


vocabulary hat.h_un-words
4 ' hat.h_un-words c-struct .hat.h_un
also hat.h_un-words definitions

' .x 0 ptr-field sfmmu_iblkp

kdbg-words definitions
previous

\ end hat.h_un section


vocabulary hat-words
24 ' hat-words c-struct .hat
also hat-words definitions

' .mutex 0 struct-field sfmmu_mutex
' .x 8 long-field sfmmu_cpusran
' .x c ptr-field sfmmu_as
' .d 10 long-field sfmmu_rss
' .d 14 long-field sfmmu_lttecnt
' .hat.h_un 18 struct-field h_un
' .x 1f 80000000 1c bits-field sfmmu_free
' .x 1e 40000000 1c bits-field sfmmu_ismhat
' .x 1d byte-field sfmmu_rmstat
' .x 1e byte-field sfmmu_clrstart
' .x 20 short-field sfmmu_clrbin
' .x 22 short-field sfmmu_cnum

kdbg-words definitions
previous

\ end hat section


vocabulary tte-words
8 ' tte-words c-struct .tte
also tte-words definitions

' .x 1f 80000000 0 bits-field v
' .x 1d 60000000 0 bits-field sz
' .x 1c 10000000 0 bits-field nfo
' .x 1b 8000000 0 bits-field ie
' .x 18 7000000 0 bits-field hmenum
' .x 0 7ff 0 bits-field pahi
' .x d ffffe000 4 bits-field palo
' .x a 400 4 bits-field ref
' .x 9 200 4 bits-field wr_perm
' .x 8 100 4 bits-field no_sync
' .x 7 80 4 bits-field exec_perm
' .x 6 40 4 bits-field l
' .x 5 20 4 bits-field cp
' .x 4 10 4 bits-field cv
' .x 3 8 4 bits-field e
' .x 2 4 4 bits-field p
' .x 1 2 4 bits-field w
' .x 0 1 4 bits-field g

kdbg-words definitions
previous

\ end tte section


vocabulary hmehash_bucket-words
18 ' hmehash_bucket-words c-struct .hmehash_bucket
also hmehash_bucket-words definitions

' .mutex 0 struct-field hmehash_mutex
' .x 8 ext-field hmeh_nextpa
' .x 10 ptr-field hmeblkp

kdbg-words definitions
previous

\ end hmehash_bucket section


vocabulary hmeblk_tag-words
8 ' hmeblk_tag-words c-struct .hmeblk_tag
also hmeblk_tag-words definitions

' .x 0 ext-field htag_tag

kdbg-words definitions
previous

\ end hmeblk_tag section


vocabulary hme_blk.hblk_misc-words
4 ' hme_blk.hblk_misc-words c-struct .hme_blk.hblk_misc
also hme_blk.hblk_misc-words definitions

' .x 0 short-field locked_cnt
' .x 4 fff0 0 bits-field notused
' .x 3 8 0 bits-field shadow_bit
' .x 2 4 0 bits-field nucleus_bit
' .x 0 3 0 bits-field ttesize

kdbg-words definitions
previous

\ end hme_blk.hblk_misc section


vocabulary hme_blk.hblk_un-words
4 ' hme_blk.hblk_un-words c-struct .hme_blk.hblk_un
also hme_blk.hblk_un-words definitions

' .x 0 struct-field hblk_counts
' .x 0 long-field hblk_shadow_mask

kdbg-words definitions
previous

\ end hme_blk.hblk_un section


vocabulary hme_blk-words
40 ' hme_blk-words c-struct .hme_blk
also hme_blk-words definitions

' .x 0 ext-field hblk_nextpa
' .hmeblk_tag 8 struct-field hblk_tag
' .x 10 ptr-field hblk_next
' .x 14 ptr-field hblk_shadow
' .d 18 long-field hblk_span
' .hme_blk.hblk_misc 1c struct-field hblk_misc
' .hme_blk.hblk_un 20 struct-field hblk_un

kdbg-words definitions
previous

\ end hme_blk section


vocabulary sf_hment-words
18 ' sf_hment-words c-struct .sf_hment
also sf_hment-words definitions

' .tte 0 struct-field hme_tte
' .x 8 ptr-field hme_page
' .x c ptr-field hme_next
' .x 10 ptr-field hme_prev

kdbg-words definitions
previous

\ end sf_hment section


vocabulary ctx.c_un-words
4 ' ctx.c_un-words c-struct .ctx.c_un
also ctx.c_un-words definitions

' .x 0 ptr-field c_sfmmup

kdbg-words definitions
previous

\ end ctx.c_un section


vocabulary ctx-words
10 ' ctx-words c-struct .ctx
also ctx-words definitions

' .ctx.c_un 0 struct-field c_un
' .x 4 short-field c_flags
' .x 6 short-field c_refcnt
' .x 8 ext-field c_ismblkpa

kdbg-words definitions
previous

\ end ctx section


vocabulary sfmmu_global_stat-words
94 ' sfmmu_global_stat-words c-struct .sfmmu_global_stat
also sfmmu_global_stat-words definitions

' .d 0 long-field sf_slow_tsbmiss
' .d 4 long-field sf_pagefaults
' .d 8 long-field sf_uhash_searches
' .d c long-field sf_uhash_links
' .d 10 long-field sf_khash_searches
' .d 14 long-field sf_khash_links
' .d 18 long-field sf_ctxfree
' .d 1c long-field sf_ctxdirty
' .d 20 long-field sf_ctxsteal
' .d 24 long-field sf_tteload8k
' .d 28 long-field sf_tteload64k
' .d 2c long-field sf_tteload512k
' .d 30 long-field sf_tteload4m
' .d 34 long-field sf_hblk_hit
' .d 38 long-field sf_hblk8_nalloc
' .d 3c long-field sf_hblk8_dalloc
' .d 40 long-field sf_hblk8_dfree
' .d 44 long-field sf_hblk1_nalloc
' .d 48 long-field sf_hblk1_dalloc
' .d 4c long-field sf_hblk1_dfree
' .d 50 long-field sf_hblk8_startup_use
' .d 54 long-field sf_pgcolor_conflict
' .d 58 long-field sf_uncache_conflict
' .d 5c long-field sf_unload_conflict
' .d 60 long-field sf_ism_uncache
' .d 64 long-field sf_ism_recache
' .d 68 long-field sf_recache
' .d 6c long-field sf_steal_count
' .d 70 long-field sf_mlist_enter
' .d 74 long-field sf_mlist_exit
' .d 78 long-field sf_pagesync
' .d 7c long-field sf_pagesync_invalid
' .d 80 long-field sf_kernel_xcalls
' .d 84 long-field sf_user_xcalls
' .d 88 long-field sf_tsb_resize
' .d 8c long-field sf_tsb_resize_failures
' .d 90 long-field sf_user_vtop

kdbg-words definitions
previous

\ end sfmmu_global_stat section


vocabulary memseg-words
18 ' memseg-words c-struct .memseg
also memseg-words definitions

' .x 0 ptr-field pages
' .x 4 ptr-field epages
' .x 8 long-field pages_base
' .x c long-field pages_end
' .x 10 ptr-field next
' .x 14 ptr-field lnext

kdbg-words definitions
previous

\ end memseg section


vocabulary machpage-words
40 ' machpage-words c-struct .machpage
also machpage-words definitions

' .page 0 struct-field p_paget
' .x 30 ptr-field p_mapping
' .x 34 long-field p_pagenum
' .x 38 byte-field p_nrm
' .x 39 byte-field p_vcolor
' .x 3a byte-field p_index
' .x 3c long-field p_share

kdbg-words definitions
previous

\ end machpage section


vocabulary tsbmiss-words
40 ' tsbmiss-words c-struct .tsbmiss
also tsbmiss-words definitions

' .x 0 ptr-field sfmmup
' .x 4 ptr-field tsbptr
' .x 8 ptr-field tsbptr4m
' .x c ptr-field ctxs
' .x 10 ptr-field khashstart
' .x 14 ptr-field uhashstart
' .x 18 short-field khashsz
' .x 1a short-field uhashsz
' .x 1c long-field dcache_line_mask
' .x 20 long-field itlb_misses
' .x 24 long-field dtlb_misses
' .x 28 long-field utsb_misses
' .x 2c long-field ktsb_misses
' .x 30 short-field uprot_traps
' .x 32 short-field kprot_traps
' l@ ' .x c 4 34 array-field scratch

kdbg-words definitions
previous

\ end tsbmiss section


vocabulary ism_blk-words
64 ' ism_blk-words c-struct .ism_blk
also ism_blk-words definitions

' noop ' .x 60 c 0 array-field iblk_maps
' .x 60 ptr-field iblk_next

kdbg-words definitions
previous

\ end ism_blk section


vocabulary ism_map-words
c ' ism_map-words c-struct .ism_map
also ism_map-words definitions

' .x 0 long-field imap_seg
' .x 4 ptr-field imap_ismhat
' .x 8 ptr-field imap_ment

kdbg-words definitions
previous

\ end ism_map section


vocabulary ism_ment-words
10 ' ism_ment-words c-struct .ism_ment
also ism_ment-words definitions

' .x 0 ptr-field iment_hat
' .x 4 ptr-field iment_base_va
' .x 8 ptr-field iment_next
' .x c ptr-field iment_prev

kdbg-words definitions
previous

\ end ism_ment section



( given a pfn will display machpage struct )
: .page-n ( n -- )
   [ also machpage-words ]
   [ also memseg-words ]
   symbol memsegs p@                   ( n memseg )
   begin  ?dup  while                  ( n memseg )
      2dup                             ( n memseg n memseg )
      dup pages_base swap pages_end    ( n memseg n base end )
      within  if                       ( n memseg )
         2dup pages_base -             ( n memseg noff )
         ['] .machpage sizeof * swap	( n poff memseg )
         pages + dup		 	( page )
	 ." page " .x cr		( page )
	 .machpage drop exit		( )
      then                             ( n memseg )
      next                             ( n memseg' )
   repeat                              ( n )
   . ." not found"                     ( )
   [ previous ]
   [ previous ]
;

: .memseg-list ( -- )
   [ also memseg-words ]
   symbol memsegs p@        ( memseg )
   begin  ?dup  while       ( memseg )
      dup .memseg cr next   ( memseg' )
   repeat
   [ previous ]
;

: .memlist-list ( memlist -- )
   [ also memlist-words ]
   begin  ?dup  while        ( memlist )
      dup .memlist cr next   ( memlist' )
   repeat                    ( )
   [ previous ]
;

: .sfmmu-cnum ( cnum -- )
   [ also ctx-words ]
   [ also ctx.c_un-words ]
   ['] .ctx sizeof *		( coff )
   symbol ctxs p@ + c_sfmmup	( hat )
   ." sfmmu " dup .x cr		( hat )
   ?dup if .hat then		( )
   [ previous ]
;

: .hmeb-shift ( sfmmu addr shift -- )
   >> over xor swap                 ( hash sfmmu )
   symbol ksfmmup p@ <>  if               ( hash )
      symbol uhmehash_num l@ and    ( bucket )
      ['] .hmehash_bucket sizeof *  ( index )
      symbol uhme_hash p@ +         ( hmeb )
   else                             ( hash )
      symbol khmehash_num l@ and    ( bucket )
      ['] .hmehash_bucket sizeof *  ( index )
      symbol khme_hash p@ +         ( hmeb )
   then                             ( hmeb )
   ." hmeb " dup .x cr              ( hmeb )
   .hmehash_bucket                  ( )
;

: .hmeb-8k ( sfmmup addr -- ) d# 16 .hmeb-shift ;

alias .hmeb-64k .hmeb-8k

: .hmeb-512k ( sfmmup addr -- ) d# 19 .hmeb-shift ;

: .hmeb-4m ( sfmmup addr -- ) d# 22 .hmeb-shift ;

: .hmeblk-list ( hmeblk -- )
   [ also hme_blk-words ]
   begin  ?dup  while             ( hmeblk )
      dup .hme_blk cr hblk_next   ( hmeblk' )
   repeat                         ( )
   [ previous ]
;

: .pmap-list ( sfhme -- )
   [ also sf_hment-words ]
   begin  ?dup  while            ( sfhme )
      dup .sf_hment cr hme_next  ( sfhme' )
   repeat                        ( )
   [ previous ]
;

: clr_mmustats ( -- )
	[ also sfmmu_global_stat-words ]
	[ also tsbmiss-words ]
	symbol sfmmu_global_stat 
	dup 0 to sf_slow_tsbmiss
	dup 0 to sf_pagefaults
	dup 0 to sf_uhash_searches
	dup 0 to sf_uhash_links
	dup 0 to sf_khash_searches
	dup 0 to sf_khash_links
	dup 0 to sf_ctxfree
	dup 0 to sf_ctxdirty
	dup 0 to sf_ctxsteal
	dup 0 to sf_tteload8k
	dup 0 to sf_tteload64k
	dup 0 to sf_tteload512k
	dup 0 to sf_tteload4m
	dup 0 to sf_hblk_hit
	dup 0 to sf_hblk8_nalloc
	dup 0 to sf_hblk8_dalloc
	dup 0 to sf_hblk8_dfree
	dup 0 to sf_hblk1_nalloc
	dup 0 to sf_hblk1_dalloc
	dup 0 to sf_hblk1_dfree
	dup 0 to sf_hblk8_startup_use
	dup 0 to sf_pgcolor_conflict
	dup 0 to sf_uncache_conflict
	dup 0 to sf_unload_conflict
	dup 0 to sf_steal_count
	dup 0 to sf_mlist_enter
	dup 0 to sf_mlist_exit
	dup 0 to sf_pagesync
	dup 0 to sf_pagesync_invalid
	dup 0 to sf_kernel_xcalls
	dup 0 to sf_user_xcalls
	dup 0 to sf_tsb_resize
	dup 0 to sf_user_vtop
	symbol tsbmiss_area
	20 1 do
		dup 0 to itlb_misses
		dup 0 to dtlb_misses
		dup 0 to utsb_misses
		dup 0 to ktsb_misses
		dup 0 to uprot_traps
		dup 0 to kprot_traps
		['] .tsbmiss sizeof +
	loop
	[ previous ]
	[ previous ]
;

0 value itlbmis_total
0 value dtlbmis_total
0 value utsbmis_total
0 value ktsbmis_total
0 value kprot_total
0 value uprot_total
0 value thisarea
1 value hatstatcpu

: prt_mmustats ( -- )
	[ also sfmmu_global_stat-words ]
	[ also tsbmiss-words ]
	symbol sfmmu_global_stat .sfmmu_global_stat 
	0 to itlbmis_total
	0 to dtlbmis_total
	0 to utsbmis_total
	0 to ktsbmis_total
	0 to uprot_total
	0 to kprot_total
	1 to hatstatcpu
	symbol tsbmiss_area to thisarea
	20 1 do i
		symbol cpu_ready_set l@ hatstatcpu and
		0 <> if 
			thisarea itlb_misses itlbmis_total + to itlbmis_total
			thisarea dtlb_misses dtlbmis_total + to dtlbmis_total
			thisarea utsb_misses utsbmis_total + to utsbmis_total
			thisarea ktsb_misses ktsbmis_total + to ktsbmis_total
			thisarea uprot_traps uprot_total + to uprot_total
			thisarea kprot_traps kprot_total + to kprot_total
		then
		thisarea
		['] .tsbmiss sizeof + to thisarea
		hatstatcpu 1 lshift to hatstatcpu
	loop
	." inst tlb misses = " itlbmis_total .d cr
	." data tlb misses = " dtlbmis_total .d cr
	." u tsb misses = " utsbmis_total .d cr
	." k tsb misses = " ktsbmis_total .d cr
	." u prot misses = " uprot_total .d cr
	." k prot misses = " kprot_total .d cr
	[ previous ]
	[ previous ]
;

 
h# 58 constant ASI_DMMU
h#  8 constant MMU_PCONTEXT
h# 10 constant MMU_SCONTEXT
 
: sctx@
        MMU_SCONTEXT ASI_DMMU spacex@
;
: pctx@
        MMU_PCONTEXT ASI_DMMU spacex@
;
 
: umap? ( uvaddr -- )
        sctx@ unix-tte if               \ false | tte-data true
          tte> drop             \ pa
          ." pa = " . cr
        else
          ." no translation" cr
        then
;


vocabulary fas-words
c18 ' fas-words c-struct .fas
also fas-words definitions

' .x 0 long-field f_instance
' .x 4 ptr-field f_tran
' .x 8 ptr-field f_dev
' .x c struct-field f_mutex
' .x 14 ptr-field f_iblock
' .x 18 ptr-field f_next
' .x 1c byte-field f_type
' .x 1d byte-field f_hm_rev
' .x 1e byte-field f_fasconf
' .x 1f byte-field f_fasconf2
' c@ ' .x 10 1 20 array-field f_fasconf3
' .x 30 byte-field f_fasconf3_reg_last
' .x 31 byte-field f_clock_conv
' .x 32 short-field f_clock_cycle
' .x 34 byte-field f_stval
' .x 35 byte-field f_sdtr_sent
' .x 36 byte-field f_wdtr_sent
' .x 37 byte-field f_stat
' .x 38 byte-field f_stat2
' .x 39 byte-field f_intr
' .x 3a byte-field f_step
' .x 3b byte-field f_abort_msg_sent
' .x 3c byte-field f_reset_msg_sent
' .x 3d byte-field f_last_cmd
' .x 3e short-field f_state
' .x 40 short-field f_laststate
' .x 42 byte-field f_suspended
' .x 43 byte-field f_dslot
' .x 44 byte-field f_idcode
' .x 45 byte-field f_polled_intr
' c@ ' .x c 1 46 array-field f_cur_msgout
' .x 52 byte-field f_last_msgout
' .x 53 byte-field f_omsglen
' c@ ' .x 8 1 54 array-field f_imsgarea
' .x 5c byte-field f_imsglen
' .x 5d byte-field f_imsgindex
' .x 5e byte-field f_last_msgin
' .x 5f byte-field f_next_slot
' .x 60 byte-field f_resel_slot
' c@ ' .x 10 1 61 array-field f_offset
' c@ ' .x 10 1 71 array-field f_sync_period
' c@ ' .x 10 1 81 array-field f_neg_period
' .x 92 short-field f_backoff
' .x 94 byte-field f_req_ack_delay
' .x 95 byte-field f_offset_reg_last
' .x 96 byte-field f_period_reg_last
' .x 97 byte-field f_fifolen
' c@ ' .x 20 1 98 array-field f_fifo
' .x b8 short-field f_wide_known
' .x ba short-field f_nowide
' .x bc short-field f_wide_enabled
' .x be short-field f_sync_known
' .x c0 short-field f_nosync
' .x c2 short-field f_sync_enabled
' .x c4 short-field f_force_async
' .x c6 short-field f_notag
' .x c8 short-field f_props_update
' .x cc long-field f_target_scsi_options_defined
' .x d0 long-field f_scsi_options
' l@ ' .x 40 4 d4 array-field f_target_scsi_options
' .x 114 long-field f_scsi_tag_age_limit
' .x 118 long-field f_scsi_reset_delay
' .x 11c ptr-field f_cmdarea
' .x 120 long-field f_dma_csr
' .x 128 struct-field f_dmacookie
' .x 138 ptr-field f_dmahandle
' .x 13c ptr-field f_dma_attr
' .x 140 short-field f_ncmds
' .x 142 short-field f_ndisc
' .x 144 ptr-field f_reg
' .x 148 ptr-field f_dma
' .x 14c long-field f_lastdma
' .x 150 long-field f_lastcount
' .x 154 ptr-field f_current_sp
' l@ ' .x 200 4 158 array-field f_active
' l@ ' .x 200 4 358 array-field f_readyf
' l@ ' .x 200 4 558 array-field f_readyb
' w@ ' .x 100 2 758 array-field f_throttle
' w@ ' .x 100 2 858 array-field f_tcmds
' l@ ' .x 40 4 958 array-field f_reset_delay
' l@ ' .x 200 4 998 array-field f_arq_pkt
' .x b98 ptr-field f_c_qf
' .x b9c ptr-field f_c_qb
' .x ba0 struct-field f_c_mutex
' .x ba8 long-field f_c_in_callback
' .x bac struct-field f_waitQ_mutex
' .x bb4 ptr-field f_waitf
' .x bb8 ptr-field f_waitb
' .x bbc ptr-field f_reset_notify_listf
' c@ ' .x 10 1 bc0 array-field f_qfull_retries
' w@ ' .x 20 2 bd0 array-field f_qfull_retry_interval
' .x bf0 ptr-field f_restart_cmd_timeid
' .x bf4 ptr-field f_kmem_cache
' .x bf8 ptr-field f_regs_acc_handle
' .x bfc ptr-field f_cmdarea_acc_handle
' .x c00 ptr-field f_dmar_acc_handle
' .x c04 long-field f_flags
' .x c08 struct-field f_cv
' .x c0c long-field f_softstate
' .x c10 ptr-field f_quiesce_timeid

kdbg-words definitions
previous

\ end fas section


vocabulary fasreg-words
40 ' fasreg-words c-struct .fasreg
also fasreg-words definitions

' .x 0 byte-field fas_xcnt_lo
' .x 1 byte-field _pad1
' .x 2 byte-field _pad2
' .x 3 byte-field _pad3
' .x 4 byte-field fas_xcnt_mid
' .x 5 byte-field _pad5
' .x 6 byte-field _pad6
' .x 7 byte-field _pad7
' .x 8 byte-field fas_fifo_data
' .x 9 byte-field _pad9
' .x a byte-field _pad10
' .x b byte-field _pad11
' .x c byte-field fas_cmd
' .x d byte-field _pad13
' .x e byte-field _pad14
' .x f byte-field _pad15
' .x 10 byte-field fas_stat
' .x 11 byte-field _pad17
' .x 12 byte-field _pad18
' .x 13 byte-field _pad19
' .x 14 byte-field fas_intr
' .x 15 byte-field _pad21
' .x 16 byte-field _pad22
' .x 17 byte-field _pad23
' .x 18 byte-field fas_step
' .x 19 byte-field _pad25
' .x 1a byte-field _pad26
' .x 1b byte-field _pad27
' .x 1c byte-field fas_fifo_flag
' .x 1d byte-field _pad29
' .x 1e byte-field _pad30
' .x 1f byte-field _pad31
' .x 20 byte-field fas_conf
' .x 21 byte-field _pad33
' .x 22 byte-field _pad34
' .x 23 byte-field _pad35
' .x 24 byte-field fas_clock_conv
' .x 25 byte-field _pad37
' .x 26 byte-field _pad38
' .x 27 byte-field _pad39
' .x 28 byte-field fas_test
' .x 29 byte-field _pad41
' .x 2a byte-field _pad42
' .x 2b byte-field _pad43
' .x 2c byte-field fas_conf2
' .x 2d byte-field _pad45
' .x 2e byte-field _pad46
' .x 2f byte-field _pad47
' .x 30 byte-field fas_conf3
' .x 31 byte-field _pad49
' .x 32 byte-field _pad50
' .x 33 byte-field _pad51
' c@ ' .x 4 1 34 array-field _pad_reserved
' .x 38 byte-field fas_recmd_lo
' .x 39 byte-field _pad52
' .x 3a byte-field _pad53
' .x 3b byte-field _pad54
' .x 3c byte-field fas_recmd_hi
' .x 3d byte-field _pad55
' .x 3e byte-field _pad56
' .x 3f byte-field _pad57

kdbg-words definitions
previous

\ end fasreg section


vocabulary fas_cmd-words
88 ' fas_cmd-words c-struct .fas_cmd
also fas_cmd-words definitions

' .x 0 ptr-field cmd_pkt
' .x 4 ptr-field cmd_forw
' .x 8 ptr-field cmd_cdbp
' .x c long-field cmd_data_count
' .x 10 long-field cmd_cur_addr
' .x 14 short-field cmd_qfull_retries
' .x 16 short-field cmd_nwin
' .x 18 short-field cmd_cur_win
' .x 1a short-field cmd_saved_win
' .x 1c long-field cmd_saved_data_count
' .x 20 long-field cmd_saved_cur_addr
' .x 24 long-field cmd_pkt_flags
' .x 28 ptr-field cmd_dmahandle
' .x 30 struct-field cmd_dmacookie
' .x 40 long-field cmd_dmacount
' c@ ' .x c 1 44 array-field cmd_cdb
' .x 50 long-field cmd_flags
' .x 54 struct-field cmd_scb
' .x 74 byte-field cmd_scblen
' .x 75 byte-field cmd_slot
' .x 76 byte-field cmd_age
' .x 77 byte-field cmd_cdblen
' x@ ' .x 8 8 78 array-field cmd_pkt_private
' .x 80 byte-field cmd_privlen
' c@ ' .x 2 1 81 array-field cmd_tag
' .x 83 byte-field cmd_actual_cdblen

kdbg-words definitions
previous

\ end fas_cmd section


vocabulary f_slots-words
14 ' f_slots-words c-struct .f_slots
also f_slots-words definitions

' .x 0 short-field f_dups
' .x 2 short-field f_tags
' .x 4 long-field f_timeout
' .x 8 long-field f_timebase
' .x c short-field f_n_slots
' .x e short-field f_size
' l@ ' .x 4 4 10 array-field f_slot

kdbg-words definitions
previous

\ end f_slots section


vocabulary dma-words
10 ' dma-words c-struct .dma
also dma-words definitions

' .x 0 long-field dma_csr
' .x 4 long-field dma_addr
' .x 8 long-field dma_count
' .x c long-field dma_test

kdbg-words definitions
previous

\ end dma section


vocabulary esp-words
960 ' esp-words c-struct .esp
also esp-words definitions

' .x 0 ptr-field e_tran
' .x 4 ptr-field e_dev
' .x 8 struct-field e_mutex
' .x 10 ptr-field e_iblock
' .x 14 ptr-field e_next
' .x 18 byte-field e_type
' .x 19 byte-field e_idcode
' .x 1a byte-field e_dma_rev
' .x 1b byte-field e_espconf
' .x 1c byte-field e_espconf2
' c@ ' .x 8 1 1d array-field e_espconf3
' .x 25 byte-field e_espconf3_fastscsi
' .x 26 byte-field e_espconf3_last
' .x 27 byte-field e_clock_conv
' .x 28 short-field e_clock_cycle
' .x 2a byte-field e_stval
' .x 2b byte-field e_sdtr
' .x 2c byte-field e_stat
' .x 2d byte-field e_intr
' .x 2e byte-field e_step
' .x 2f byte-field e_abort
' .x 30 byte-field e_reset
' .x 31 byte-field e_last_cmd
' .x 32 short-field e_state
' .x 34 short-field e_laststate
' .x 36 byte-field e_suspended
' c@ ' .x c 1 37 array-field e_cur_msgout
' .x 43 byte-field e_last_msgout
' .x 44 byte-field e_omsglen
' c@ ' .x 8 1 45 array-field e_imsgarea
' .x 4d byte-field e_imsglen
' .x 4e byte-field e_imsgindex
' .x 4f byte-field e_last_msgin
' c@ ' .x 8 1 50 array-field e_offset
' c@ ' .x 8 1 58 array-field e_period
' c@ ' .x 8 1 60 array-field e_neg_period
' c@ ' .x 8 1 68 array-field e_backoff
' c@ ' .x 8 1 70 array-field e_default_period
' .x 78 byte-field e_req_ack_delay
' .x 79 byte-field e_offset_last
' .x 7a byte-field e_period_last
' .x 7b byte-field e_sync_known
' .x 7c byte-field e_force_async
' .x 7d byte-field e_nodisc
' .x 7e byte-field e_weak
' .x 7f byte-field e_notag
' .x 80 byte-field e_target_scsi_options_defined
' .x 82 short-field e_props_update
' .x 84 long-field e_scsi_options
' l@ ' .x 20 4 88 array-field e_target_scsi_options
' .x a8 long-field e_scsi_tag_age_limit
' .x ac long-field e_options
' .x b0 long-field e_scsi_reset_delay
' .x b4 ptr-field e_cmdarea
' .x b8 long-field e_dmaga_csr
' .x c0 struct-field e_dmacookie
' .x d0 ptr-field e_dmahandle
' .x d4 ptr-field e_dma_attr
' .x d8 short-field e_ncmds
' .x da short-field e_ndisc
' .x dc ptr-field e_reg
' .x e0 ptr-field e_dma
' .x e4 long-field e_lastdma
' .x e8 long-field e_lastcount
' .x ec long-field e_esc_read_count
' .x f0 byte-field e_dslot
' .x f2 short-field e_last_slot
' .x f4 short-field e_cur_slot
' .x f6 short-field e_next_slot
' l@ ' .x 100 4 f8 array-field e_slots
' l@ ' .x 100 4 1f8 array-field e_readyf
' l@ ' .x 100 4 2f8 array-field e_readyb
' l@ ' .x 100 4 3f8 array-field e_tagQ
' w@ ' .x 80 2 4f8 array-field e_throttle
' w@ ' .x 80 2 578 array-field e_tcmds
' l@ ' .x 20 4 5f8 array-field e_reset_delay
' l@ ' .x 100 4 618 array-field e_arq_pkt
' l@ ' .x 100 4 718 array-field e_rq_sense_data
' l@ ' .x 100 4 818 array-field e_save_pkt
' .x 918 long-field e_callback_signal_needed
' .x 91c ptr-field e_callback_info
' .x 920 struct-field e_startQ_mutex
' .x 928 ptr-field e_startf
' .x 92c ptr-field e_startb
' .x 930 ptr-field e_kmem_cache
' .x 934 ptr-field e_reset_notify_listf
' .x 938 ptr-field e_restart_cmd_timeid
' c@ ' .x 8 1 93c array-field e_qfull_retries
' w@ ' .x 10 2 944 array-field e_qfull_retry_interval
' .x 954 ptr-field e_regs_acc_handle
' .x 958 ptr-field e_cmdarea_acc_handle
' .x 95c long-field e_flags

kdbg-words definitions
previous

\ end esp section


vocabulary callback_info-words
28 ' callback_info-words c-struct .callback_info
also callback_info-words definitions

' .x 0 ptr-field c_next
' .x 4 ptr-field c_qf
' .x 8 ptr-field c_qb
' .x c struct-field c_mutex
' .x 14 struct-field c_cv
' .x 18 ptr-field c_thread
' .x 1c long-field c_qlen
' .x 20 byte-field c_id
' .x 21 byte-field c_cb_now_qlen
' .x 22 byte-field c_spawned
' .x 23 byte-field c_count
' .x 24 byte-field c_signal_needed
' .x 25 byte-field c_exit
' .x 26 struct-field c_cvd

kdbg-words definitions
previous

\ end callback_info section


vocabulary esp_cmd-words
c0 ' esp_cmd-words c-struct .esp_cmd
also esp_cmd-words definitions

' .x 0 struct-field cmd_pkt
' .x 34 ptr-field cmd_forw
' .x 38 ptr-field cmd_cdbp
' .x 3c ptr-field cmd_scbp
' .x 40 long-field cmd_flags
' .x 44 long-field cmd_data_count
' .x 48 long-field cmd_cur_addr
' .x 4c short-field cmd_nwin
' .x 4e short-field cmd_cur_win
' .x 50 short-field cmd_saved_win
' .x 54 long-field cmd_saved_data_count
' .x 58 long-field cmd_saved_cur_addr
' .x 5c ptr-field cmd_dmahandle
' .x 60 struct-field cmd_dmacookie
' .x 70 long-field cmd_dmacount
' .x 74 long-field cmd_timeout
' c@ ' .x c 1 78 array-field cmd_cdb
' x@ ' .x 8 8 88 array-field cmd_pkt_private
' .x 90 byte-field cmd_cdblen
' .x 91 byte-field cmd_cdblen_alloc
' .x 92 byte-field cmd_qfull_retries
' .x 94 long-field cmd_scblen
' .x 98 long-field cmd_privlen
' c@ ' .x 20 1 9c array-field cmd_scb
' .x bc short-field cmd_age
' c@ ' .x 2 1 be array-field cmd_tag

kdbg-words definitions
previous

\ end esp_cmd section


vocabulary t_slots-words
40c ' t_slots-words c-struct .t_slots
also t_slots-words definitions

' .x 0 short-field e_dups
' .x 2 byte-field e_tags
' .x 4 long-field e_timeout
' .x 8 long-field e_timebase
' l@ ' .x 400 4 c array-field t_slot

kdbg-words definitions
previous

\ end t_slots section


vocabulary isp-words
26c0 ' isp-words c-struct .isp
also isp-words definitions

' .x 0 ptr-field isp_tran
' .x 4 ptr-field isp_dip
' .x 8 byte-field isp_bus
' .x c long-field isp_clock_frequency
' .x 10 ptr-field isp_iblock
' .x 14 ptr-field isp_next
' .x 18 short-field isp_maj_min_rev
' .x 1a short-field isp_subminor_rev
' .x 1c short-field isp_cust_prod
' .x 1e short-field isp_target_scsi_options_defined
' .x 20 long-field isp_scsi_options
' l@ ' .x 40 4 24 array-field isp_target_scsi_options
' .x 64 long-field isp_scsi_tag_age_limit
' .x 68 long-field isp_scsi_reset_delay
' .x 6c byte-field isp_initiator_id
' .x 6d byte-field isp_suspended
' w@ ' .x 20 2 6e array-field isp_cap
' w@ ' .x 20 2 8e array-field isp_synch
' .x b0 ptr-field isp_biu_reg
' .x b4 ptr-field isp_mbox_reg
' .x b8 ptr-field isp_sxp_reg
' .x bc ptr-field isp_risc_reg
' .x c0 long-field isp_reg_number
' .x c4 struct-field isp_mbox
' .x f8 byte-field isp_shutdown
' .x fa short-field isp_prop_update
' .x fc ptr-field isp_cmdarea
' .x 100 struct-field isp_dmacookie
' .x 110 ptr-field isp_dmahandle
' .x 114 ptr-field isp_dma_acc_handle
' .x 118 long-field isp_request_dvma
' .x 11c long-field isp_response_dvma
' .x 120 ptr-field isp_pci_config_acc_handle
' .x 124 ptr-field isp_biu_acc_handle
' .x 128 ptr-field isp_mbox_acc_handle
' .x 12c ptr-field isp_sxp_acc_handle
' .x 130 ptr-field isp_risc_acc_handle
' .x 134 long-field isp_queue_space
' .x 138 struct-field isp_request_mutex
' .x 140 struct-field isp_response_mutex
' .x 148 short-field isp_request_in
' .x 14a short-field isp_request_out
' .x 14c short-field isp_response_in
' .x 14e short-field isp_response_out
' .x 150 ptr-field isp_request_ptr
' .x 154 ptr-field isp_request_base
' .x 158 ptr-field isp_response_ptr
' .x 15c ptr-field isp_response_base
' .x 160 struct-field isp_waitq_mutex
' .x 168 ptr-field isp_waitf
' .x 16c ptr-field isp_waitb
' .x 170 ptr-field isp_waitq_timeout
' .x 174 long-field isp_burst_size
' .x 178 short-field isp_conf1_fifo
' .x 17a short-field isp_free_slot
' .x 17c short-field isp_alive
' .x 180 ptr-field isp_reset_notify_listf
' .x 184 ptr-field isp_kmem_cache
' .x 188 short-field isp_backoff
' .x 18c long-field isp_softstate
' .x 190 long-field isp_hotplug_waiting
' .x 194 struct-field isp_cv
' .x 198 struct-field isp_hotplug_mutex
' noop ' .x 1d00 4 1a0 array-field isp_slots
' .x 1ea0 short-field isp_marker_in
' .x 1ea2 short-field isp_marker_out
' .x 1ea4 short-field isp_marker_free
' noop ' .x 800 4 1ea6 array-field isp_markers
' .x 26a8 struct-field isp_intr_mutex
' .x 26b0 struct-field isp_intr_cv
' .x 26b2 short-field isp_in_intr
' .x 26b4 short-field isp_in_reset
' .x 26b6 short-field isp_attached
' .x 26b8 short-field isp_checking_semlock
' .x 26ba short-field isp_polled_completion

kdbg-words definitions
previous

\ end isp section


vocabulary isp_cmd-words
e0 ' isp_cmd-words c-struct .isp_cmd
also isp_cmd-words definitions

' .x 0 struct-field cmd_isp_request
' .x 40 struct-field cmd_isp_response
' .x 80 ptr-field cmd_pkt
' .x 84 ptr-field cmd_forw
' .x 88 ptr-field cmd_cdbp
' .x 8c ptr-field cmd_scbp
' .x 90 long-field cmd_id
' .x 94 long-field cmd_dmacount
' .x 98 ptr-field cmd_dmahandle
' .x a0 struct-field cmd_dmacookie
' .x b0 long-field cmd_start_time
' .x b4 long-field cmd_deadline
' c@ ' .x c 1 b8 array-field cmd_cdb
' .x c4 long-field cmd_flags
' .x c8 short-field cmd_slot
' .x cc long-field cmd_cdblen
' .x d0 long-field cmd_scblen
' .x d4 long-field cmd_privlen
' c@ ' .x 8 1 d8 array-field cmd_pkt_private

kdbg-words definitions
previous

\ end isp_cmd section


vocabulary isp_request-words
40 ' isp_request-words c-struct .isp_request
also isp_request-words definitions

' .x 0 struct-field req_header
' .x 4 long-field req_token
' .x 8 struct-field req_scsi_id
' .x a short-field req_cdblen
' .x c short-field req_flags
' .x e short-field req_reserved
' .x 10 short-field req_time
' .x 12 short-field req_seg_count
' l@ ' .x c 4 14 array-field req_cdb
' noop ' .x 20 8 20 array-field req_dataseg

kdbg-words definitions
previous

\ end isp_request section


vocabulary isp_response-words
40 ' isp_response-words c-struct .isp_response
also isp_response-words definitions

' .x 0 struct-field resp_header
' .x 4 long-field resp_token
' .x 8 short-field resp_scb
' .x a short-field resp_reason
' .x c short-field resp_state
' .x e short-field resp_status_flags
' .x 10 short-field resp_time
' .x 12 short-field resp_rqs_count
' .x 14 long-field resp_resid
' l@ ' .x 8 4 18 array-field resp_reserved
' l@ ' .x 20 4 20 array-field resp_request_sense

kdbg-words definitions
previous

\ end isp_response section


vocabulary scsi_disk-words
2b8 ' scsi_disk-words c-struct .scsi_disk
also scsi_disk-words definitions

' .x 0 ptr-field un_sd
' .x 4 ptr-field un_rqs
' .x 8 ptr-field un_rqs_bp
' .x c struct-field un_rqs_sema
' .x 14 ptr-field un_sbufp
' .x 18 ptr-field un_srqbufp
' .x 1c struct-field un_sbuf_cv
' .x 20 struct-field un_ocmap
' noop ' .x 40 8 44 array-field un_map
' l@ ' .x 20 4 84 array-field un_offset
' l@ ' .x 20 4 a4 array-field un_pstats
' .x c4 byte-field un_arq_enabled
' .x c5 byte-field un_last_pkt_reason
' .x c6 byte-field un_ctype
' .x c7 byte-field un_options
' .x c8 struct-field un_vtoc
' .x 150 struct-field un_utab
' .x 168 ptr-field un_stats
' .x 16c struct-field un_g
' .x 196 byte-field un_exclopen
' .x 197 byte-field un_gvalid
' .x 198 struct-field un_semoclose
' .x 1a0 long-field un_err_blkno
' .x 1a4 long-field un_capacity
' .x 1a8 long-field un_lbasize
' .x 1ac byte-field un_state
' .x 1ad byte-field un_last_state
' .x 1ae byte-field un_format_in_progress
' .x 1af byte-field un_start_stop_issued
' .x 1b0 long-field un_timestamp
' c@ ' .x 80 1 1b4 array-field un_asciilabel
' .x 234 short-field un_throttle
' .x 236 short-field un_save_throttle
' .x 238 short-field un_ncmds
' .x 23c long-field un_tagflags
' .x 240 short-field un_sbuf_busy
' .x 242 short-field un_resvd_status
' .x 244 struct-field un_state_cv
' .d 248 long-field un_mediastate
' .d 24c long-field un_specified_mediastate
' .x 250 ptr-field un_mhd_token
' .x 254 long-field un_cmd_flags
' .x 258 long-field un_cmd_stat_size
' .x 25c ptr-field un_resvd_timeid
' .x 260 ptr-field un_reset_throttle_timeid
' .x 264 ptr-field un_restart_timeid
' .x 268 ptr-field un_reissued_timeid
' .x 26c ptr-field un_dcvb_timeid
' .x 270 ptr-field un_devid
' .x 274 ptr-field un_swr_token
' .x 278 long-field un_max_xfer_size
' .x 27c ptr-field un_errstats
' .x 280 long-field un_isatapi
' .x 284 struct-field un_suspend_cv
' .x 286 struct-field un_disk_busy_cv
' .x 288 short-field un_power_level
' .x 28c long-field un_allow_bus_device_reset
' .x 290 long-field un_notready_retry_count
' .x 294 byte-field un_reservation_type
' c@ ' .x 10 1 295 array-field un_serial_num_buf
' .x 2a8 long-field un_detach_count
' .x 2ac long-field un_layer_count
' .x 2b0 long-field un_opens_in_progress
' .x 2b4 long-field un_sonoma_failure_count

kdbg-words definitions
previous

\ end scsi_disk section


vocabulary dk_geom-words
2a ' dk_geom-words c-struct .dk_geom
also dk_geom-words definitions

' .x 0 short-field dkg_ncyl
' .x 2 short-field dkg_acyl
' .x 4 short-field dkg_bcyl
' .x 6 short-field dkg_nhead
' .x 8 short-field dkg_obs1
' .x a short-field dkg_nsect
' .x c short-field dkg_intrlv
' .x e short-field dkg_obs2
' .x 10 short-field dkg_obs3
' .x 12 short-field dkg_apc
' .x 14 short-field dkg_rpm
' .x 16 short-field dkg_pcyl
' .x 18 short-field dkg_write_reinstruct
' .x 1a short-field dkg_read_reinstruct
' w@ ' .x e 2 1c array-field dkg_extra

kdbg-words definitions
previous

\ end dk_geom section


vocabulary dk_label-words
200 ' dk_label-words c-struct .dk_label
also dk_label-words definitions

' c@ ' .x 80 1 0 array-field dkl_asciilabel
' .x 80 struct-field dkl_vtoc
' .x 108 short-field dkl_write_reinstruct
' .x 10a short-field dkl_read_reinstruct
' c@ ' .x 98 1 10c array-field dkl_pad
' .x 1a4 short-field dkl_rpm
' .x 1a6 short-field dkl_pcyl
' .x 1a8 short-field dkl_apc
' .x 1aa short-field dkl_obs1
' .x 1ac short-field dkl_obs2
' .x 1ae short-field dkl_intrlv
' .x 1b0 short-field dkl_ncyl
' .x 1b2 short-field dkl_acyl
' .x 1b4 short-field dkl_nhead
' .x 1b6 short-field dkl_nsect
' .x 1b8 short-field dkl_obs3
' .x 1ba short-field dkl_obs4
' noop ' .x 40 8 1bc array-field dkl_map
' .x 1fc short-field dkl_magic
' .x 1fe short-field dkl_cksum

kdbg-words definitions
previous

\ end dk_label section


vocabulary dk_vtoc-words
88 ' dk_vtoc-words c-struct .dk_vtoc
also dk_vtoc-words definitions

' .x 0 long-field v_version
' c@ ' .x 8 1 4 array-field v_volume
' .x c short-field v_nparts
' noop ' .x 20 4 e array-field v_part
' l@ ' .x c 4 30 array-field v_bootinfo
' .x 3c long-field v_sanity
' l@ ' .x 28 4 40 array-field v_reserved
' l@ ' .x 20 4 68 array-field v_timestamp

kdbg-words definitions
previous

\ end dk_vtoc section


vocabulary regs-words
90 ' regs-words c-struct .regs
also regs-words definitions

' .x 0 ext-field r_tstate
' .x 8 ext-field r_g1
' .x 10 ext-field r_g2
' .x 18 ext-field r_g3
' .x 20 ext-field r_g4
' .x 28 ext-field r_g5
' .x 30 ext-field r_g6
' .x 38 ext-field r_g7
' .x 40 ext-field r_o0
' .x 48 ext-field r_o1
' .x 50 ext-field r_o2
' .x 58 ext-field r_o3
' .x 60 ext-field r_o4
' .x 68 ext-field r_o5
' .x 70 ext-field r_o6
' .x 78 ext-field r_o7
' .x 80 long-field r_pc
' .x 84 long-field r_npc
' .x 88 long-field r_y

kdbg-words definitions
previous

\ end regs section


vocabulary v9_fpu.fpu_fr-words
100 ' v9_fpu.fpu_fr-words c-struct .v9_fpu.fpu_fr
also v9_fpu.fpu_fr-words definitions

' x@ ' .x 100 8 0 array-field fpu_dregs

kdbg-words definitions
previous

\ end v9_fpu.fpu_fr section


vocabulary v9_fpu-words
118 ' v9_fpu-words c-struct .v9_fpu
also v9_fpu-words definitions

' .v9_fpu.fpu_fr 0 struct-field fpu_fr
' .x 100 ext-field fpu_fsr
' .x 108 long-field fpu_fprs
' .x 10c ptr-field fpu_q
' .d 110 byte-field fpu_qcnt
' .d 111 byte-field fpu_q_entrysize
' .x 112 byte-field fpu_en

kdbg-words definitions
previous

\ end v9_fpu section


vocabulary scsi_tape-words
f4 ' scsi_tape-words c-struct .scsi_tape
also scsi_tape-words definitions

' .x 0 ptr-field un_sd
' .x 4 ptr-field un_rqs
' .x 8 ptr-field un_mkr_pkt
' .x c struct-field un_sbuf_cv
' .x e struct-field un_queue_cv
' .x 10 ptr-field un_sbufp
' .x 14 ptr-field un_srqbufp
' .x 18 struct-field un_clscv
' .x 1c ptr-field un_quef
' .x 20 ptr-field un_quel
' .x 24 ptr-field un_runqf
' .x 28 ptr-field un_runql
' .x 2c ptr-field un_mspl
' .x 30 ptr-field un_dp
' .x 34 long-field un_dp_size
' .x 38 ptr-field un_tmpbuf
' .x 3c long-field un_blkno
' .x 40 long-field un_oflags
' .x 44 long-field un_fileno
' .x 48 long-field un_err_fileno
' .x 4c long-field un_err_blkno
' .x 50 long-field un_err_resid
' .x 54 short-field un_fmneeded
' .x 58 long-field un_dev
' .x 5c byte-field un_attached
' .x 60 long-field un_pwr_mgmt
' .x 64 byte-field un_density_known
' .x 65 byte-field un_curdens
' .x 66 byte-field un_lastop
' .x 67 byte-field un_eof
' .x 68 byte-field un_laststate
' .x 69 byte-field un_state
' .x 6a byte-field un_status
' .x 6b byte-field un_retry_ct
' .x 6c byte-field un_tran_retry_ct
' .x 6d byte-field un_read_only
' .x 6e byte-field un_test_append
' .x 6f byte-field un_arq_enabled
' .x 70 byte-field un_untagged_qing
' .x 71 byte-field un_allow_large_xfer
' .x 72 byte-field un_sbuf_busy
' .x 73 byte-field un_ncmds
' .x 74 byte-field un_throttle
' .x 75 byte-field un_last_throttle
' .x 76 byte-field un_max_throttle
' .x 77 byte-field un_persistence
' .x 78 byte-field un_persist_errors
' .x 79 byte-field un_flush_on_errors
' .x 7c long-field un_kbytes_xferred
' .x 80 long-field un_last_resid
' .x 84 long-field un_last_count
' .x 88 ptr-field un_stats
' .x 8c ptr-field un_rqs_bp
' .x 90 ptr-field un_wf
' .x 94 ptr-field un_wl
' .x 98 ptr-field un_rbl
' .x 9c long-field un_maxdma
' .x a0 long-field un_bsize
' .x a4 long-field un_maxbsize
' .x a8 long-field un_minbsize
' .x ac long-field un_errno
' .x b0 struct-field un_state_cv
' .d b4 long-field un_mediastate
' .d b8 long-field un_specified_mediastate
' .x bc ptr-field un_delay_tid
' .x c0 ptr-field un_hib_tid
' .x c4 ptr-field un_swr_token
' .x c8 byte-field un_comp_page
' .x c9 byte-field un_rsvd_status
' .x cc ptr-field un_errstats
' .x d0 long-field un_init_options
' .x d4 long-field un_save_fileno
' .x d8 long-field un_save_blkno
' .x dc byte-field un_restore_pos
' .x dd byte-field un_silent_skip
' .x e0 long-field un_power_level
' .x e4 short-field un_tids_at_suspend
' .x e6 struct-field un_tape_busy_cv
' .x e8 struct-field un_suspend_cv
' .x ea byte-field un_eject_tape_on_failure
' .x eb byte-field un_tape_alert
' .x ec byte-field un_rqs_state
' .x f0 ptr-field un_uscsi_rqs_buf

kdbg-words definitions
previous

\ end scsi_tape section


vocabulary st_drivetype-words
48 ' st_drivetype-words c-struct .st_drivetype
also st_drivetype-words definitions

' .x 0 ptr-field name
' .x 4 byte-field length
' c@ ' .x 18 1 5 array-field vid
' .x 1d byte-field type
' .x 20 long-field bsize
' .x 24 long-field options
' .x 28 long-field max_rretries
' .x 2c long-field max_wretries
' c@ ' .x 4 1 30 array-field densities
' .x 34 byte-field default_density
' c@ ' .x 4 1 35 array-field speeds
' .x 3a short-field non_motion_timeout
' .x 3c short-field io_timeout
' .x 3e short-field rewind_timeout
' .x 40 short-field space_timeout
' .x 42 short-field load_timeout
' .x 44 short-field unload_timeout
' .x 46 short-field erase_timeout

kdbg-words definitions
previous

\ end st_drivetype section


vocabulary intr_vector-words
10 ' intr_vector-words c-struct .intr_vector
also intr_vector-words definitions

' .adr 0 ptr-field iv_handler
' .x 4 ptr-field iv_arg
' .d 8 short-field iv_pil

kdbg-words definitions
previous

\ end intr_vector section


vocabulary machcpu-words
328 ' machcpu-words c-struct .machcpu
also machcpu-words definitions

' .x 0 ptr-field mpcb
' .d 4 long-field mutex_ready
' .d 8 long-field in_prom
' .d c long-field tl1_hdlr
' .str 10 ptr-field cpu_info
' l@ ' .x 40 4 228 array-field intr_head
' l@ ' .x 40 4 268 array-field intr_tail
' .x 2b0 ext-field tickint_intrvl
' .x 2b8 ext-field tick_happened

kdbg-words definitions
previous

\ end machcpu section


vocabulary machpcb-words
240 ' machpcb-words c-struct .machpcb
also machpcb-words definitions

' .regs 60 struct-field mpcb_regs
' .x f0 ptr-field mpcb_wbuf
' l@ ' .x 20 4 f4 array-field mpcb_spbuf
' .d 19c long-field mpcb_wbcnt
' .x 1a0 long-field mpcb_wstate
' .x 1a4 ptr-field mpcb_fpu
' .x 230 long-field mpcb_flags
' .x 23c ptr-field mpcb_thread

kdbg-words definitions
previous

\ end machpcb section


vocabulary TRAP_TRACE_CTL.d-words
20 ' TRAP_TRACE_CTL.d-words c-struct .TRAP_TRACE_CTL.d
also TRAP_TRACE_CTL.d-words definitions

' .x 0 ptr-field vaddr_base
' .x 4 long-field last_offset
' .x 8 long-field offset
' .x c long-field limit
' .x 10 ext-field paddr_base
' .x 18 byte-field asi
' .x 1c long-field pad

kdbg-words definitions
previous

\ end TRAP_TRACE_CTL.d section


alias .ttc .TRAP_TRACE_CTL.d

: cpu-ttc ( n -- )
   8 to-column ." cpuid = " dup .x cr          ( n )
   ['] .ttc sizeof * symbol trap_trace_ctl +   ( trace-hdr )
   .ttc                                        ( )
;

: .sttr-hdr ( n -- n )
   ." cpuid = " dup .x cr
   6 to-column ." tick"
   d# 24 to-column ." type"
   d# 32 to-column ." level"
   d# 40 to-column ." trap PC" cr
;

: .sttr32 ( ptr -- )
   dup 10 + x@ .x                   \ tick
   d# 24 to-column dup 2 + w@ .x    \ trap_type
   d# 32 to-column dup w@ .x        \ trap_level
   d# 40 to-column 4 + l@ .adr cr   \ tpc
;

: .sttr64 ( ptr -- )
   dup 18 + x@ .x                   \ tick
   d# 24 to-column dup 2 + w@ .x    \ trap_type
   d# 32 to-column dup w@ .x        \ trap_level
   d# 40 to-column 8 + x@ .adr cr   \ tpc
;

: .lttr-hdr ( n -- n )
   8 to-column ." cpuid = " dup .x cr
;

: .lttr32 ( ptr -- )
   ." tick = " dup 10 + x@ .x cr      \ tick
   ." trap type = " dup 2 + w@ .x cr  \ trap_type
   ." trap level = " dup w@ .x cr     \ trap_level
   ." trap pc = " dup 4 + l@ .adr cr  \ tpc
   ." tstate = " dup 8 + x@ .x cr     \ tstate
   ." trap sp = " dup 18 + l@ .x cr   \ sp
   ." trap tr = " dup 1c + l@ .x cr   \ tr
   ." trap f1 = " dup 20 + l@ .x cr   \ f1
   ." trap f2 = " dup 24 + l@ .x cr   \ f2
   ." trap f3 = " dup 28 + l@ .x cr   \ f3
   ." trap f4 = " 2c + l@ .x cr cr    \ f4
;

: .lttr64 ( ptr -- )
   ." tick = " dup d# 24 + x@ .x cr      \ tick
   ." trap type = " dup 2 + w@ .x cr     \ trap_type
   ." trap level = " dup w@ .x cr        \ trap_level
   ." trap pc = " dup d#  8 + x@ .adr cr \ tpc
   ."  tstate = " dup d# 16 + x@ .x cr   \ tstate
   ." trap sp = " dup d# 32 + x@ .x cr   \ sp
   ." trap tr = " dup d# 40 + x@ .x cr   \ tr
   ." trap f1 = " dup d# 48 + x@ .x cr   \ f1
   ." trap f2 = " dup d# 56 + x@ .x cr   \ f2
   ." trap f3 = " dup d# 64 + x@ .x cr   \ f3
   ." trap f4 = "     d# 72 + x@ .x cr   \ f4
   cr
;


: ttr-decr 
  wyoming? if d# -80 else d# -48 then
;


: ttr-loop ( print-acf screen-acf end start -- )
   do                          ( p-acf s-acf )
      2dup i swap execute  if  ( p-acf s-acf p-acf addr )
	 swap execute          ( p-acf s-acf )
         exit? throw           ( p-acf s-acf )
      else                     ( p-acf s-acf p-acf addr )
	 2drop                 ( p-acf s-acf )
      then                     ( p-acf s-acf )
   ttr-decr +loop                   ( p-acf s-acf )
   2drop                       ( )
;


: ttr-bounds1 ( trace-hdr -- vaddr_base vaddr_base+last_offset )
   [ also TRAP_TRACE_CTL.d-words ]
   dup vaddr_base swap last_offset over +
   [ previous ]
;

: ttr-bounds2 ( trace-hdr -- vaddr_base+offset vaddr_base+limit )
   [ also TRAP_TRACE_CTL.d-words ]
   dup vaddr_base over offset bounds   ( hdr v+o v )
   rot limit +                         ( v+o v+l )
   [ previous ]
;

: do-ttr ( n print-acf screen-acf -- )
   rot 40 * symbol trap_trace_ctl +     ( p-acf s-acf trace-hdr )
   3dup ttr-bounds1 ttr-loop            ( p-acf s-acf trace-hdr )
   ttr-bounds2 ttr-loop                 ( )
;

: cpu-ttr ( n -- )
   wyoming? if
      .sttr-hdr ['] .sttr64 ['] true do-ttr
   else
      .sttr-hdr ['] .sttr32 ['] true do-ttr
   then
;
   
: cpu-xttr ( n -- )
   wyoming? if
      .lttr-hdr ['] .lttr64 ['] true do-ttr
   else
      .lttr-hdr ['] .lttr32 ['] true do-ttr
   then
;

: ncpu-acf ( acf -- )
   symbol cpu symbol _ncpu l@ 0  do   ( acf cpu )
      dup i ptrsize * + p@ 0<>  if          ( acf cpu )
	 over i swap execute cr       ( acf cpu )
      then                            ( acf cpu )
   loop                               ( acf cpu )
   2drop                              ( )
;

: ncpu-ttr ( -- ) ['] cpu-ttr ncpu-acf ;
: ncpu-xttr ( -- ) ['] cpu-xttr ncpu-acf ;
: ncpu-ttc ( -- ) ['] cpu-ttc ncpu-acf ;


vocabulary sbus_soft_state-words
1fc ' sbus_soft_state-words c-struct .sbus_soft_state
also sbus_soft_state-words definitions

' .x 0 ptr-field dip
' .x 4 long-field upa_id
' .x 8 ptr-field address
' .x c ptr-field ac
' .x 10 ptr-field iommu_flush_reg
' .x 14 ptr-field iommu_ctrl_reg
' .x 18 ptr-field tsb_base_addr
' .x 1c ptr-field soft_tsb_base_addr
' .x 20 ptr-field iommu_tlb_tag
' .x 24 ptr-field iommu_tlb_data
' .x 28 long-field iommu_dvma_size
' .x 2c long-field iommu_dvma_base
' .x 30 long-field iommu_dvma_pagebase
' .x 34 byte-field spare_slot
' .x 38 ptr-field sysio_ctrl_reg
' .x 3c ptr-field sbus_ctrl_reg
' .x 40 ptr-field sbus_slot_config_reg
' l@ ' .x 1c 4 44 array-field sbus_slave_burstsizes
' .x 60 ptr-field intr_mapping_reg
' .x 64 ptr-field clr_intr_reg
' .x 68 ptr-field intr_retry_reg
' .x 6c ptr-field sbus_intr_state
' .x 70 ptr-field obio_intr_state
' c@ ' .x 10 1 74 array-field intr_hndlr_cnt
' c@ ' .x 11 1 84 array-field spurious_cntrs
' .x 98 ptr-field sysio_ecc_reg
' .x 9c ptr-field sysio_ue_reg
' .x a0 ptr-field sysio_ce_reg
' .x a4 ptr-field sbus_err_reg
' .x a8 ptr-field str_buf_ctrl_reg
' .x ac ptr-field str_buf_flush_reg
' .x b0 ptr-field str_buf_sync_reg
' .x b4 ptr-field str_buf_pg_tag_diag
' .x b8 struct-field sync_reg_lock
' .x c0 long-field stream_buf_off
' .x c4 long-field sbus_burst_sizes
' .x c8 long-field sbus64_burst_sizes
' .x cc ptr-field dvmamap
' .x d0 long-field dvma_call_list_id
' .x d4 struct-field dma_pool_lock
' .x dc ptr-field dmaimplbase
' .x e0 long-field dma_reserve
' l@ ' .x e8 4 e4 array-field poll_array
' .x 1cc struct-field intr_poll_list_lock
' .x 1d4 struct-field pokefault_mutex
' .x 1dc ptr-field nofault_data
' .x 1e0 struct-field bto_timestamp
' .x 1e8 long-field bto_ctr
' .x 1ec long-field sbus_io_lo_pfn
' .x 1f0 long-field sbus_io_hi_pfn
' .x 1f4 ptr-field sbus_io_ranges
' .x 1f8 long-field intr_mapping_ign

kdbg-words definitions
previous

\ end sbus_soft_state section


: .uintarray ( array-addr -- )
   dup  if                       ( array-addr )
      begin dup l@ ?dup  while   ( array-addr item )
         .x la1+                 ( array-addr' )
      repeat                     ( array-addr )
   then                          ( array-addr )
   drop
;


vocabulary io_mem_list-words
18 ' io_mem_list-words c-struct .io_mem_list
also io_mem_list-words definitions

' .x 0 ptr-field rdip
' .x 4 long-field ioaddr
' .x 8 long-field addr
' .d c long-field npages
' .uintarray 10 ptr-field pfn
' .x 14 ptr-field next

kdbg-words definitions
previous

\ end io_mem_list section


: .io_mem_list_list
    [ also io_mem_list-words ]
    begin ?dup while
	dup .io_mem_list cr next
    repeat
    [ previous ]
;

: clr_pagecol_stats
	symbol sys_req_bins
	200 4 *
	0 fill
	symbol sys_nak_bins
	200 4 *
	0 fill
;


vocabulary glm-words
9f8 ' glm-words c-struct .glm
also glm-words definitions

' .x 0 long-field g_instance
' .x 4 ptr-field g_next
' .x 8 ptr-field g_tran
' .x c struct-field g_mutex
' .x 14 struct-field g_cv
' .x 18 ptr-field g_iblock
' .x 1c ptr-field g_dip
' .x 20 long-field g_softstate
' l@ ' .x 800 4 24 array-field g_units
' .x 824 ptr-field g_current
' .x 828 ptr-field g_forwp
' .x 82c ptr-field g_backp
' .x 830 ptr-field g_doneq
' .x 834 ptr-field g_donetail
' .x 838 ptr-field g_datap
' .x 83c ptr-field g_devaddr
' .x 840 short-field g_devid
' .x 842 byte-field g_revid
' .x 843 byte-field g_sync_offset
' .x 844 ptr-field g_quiesce_timeid
' .x 848 ptr-field g_scripts_ram
' .x 84c long-field g_ram_base_addr
' .x 850 ptr-field g_script_acc_handle
' .x 854 ptr-field g_script_dma_handle
' l@ ' .x 24 4 858 array-field g_glm_scripts
' .x 87c long-field g_do_list_end
' .x 880 long-field g_di_list_end
' .x 884 ptr-field g_dsa_dma_h
' .x 888 ptr-field g_dsa_acc_h
' .x 88c ptr-field g_dsa
' .x 890 long-field g_dsa_addr
' .x 894 long-field g_target_scsi_options_defined
' .x 898 long-field g_scsi_options
' l@ ' .x 40 4 89c array-field g_target_scsi_options
' .x 8dc short-field g_wide_known
' .x 8de short-field g_nowide
' .x 8e0 short-field g_wide_enabled
' .x 8e2 byte-field g_wdtr_sent
' .x 8e4 short-field g_backoff
' .x 8e6 short-field g_props_update
' .x 8e8 short-field g_notag
' .x 8ec long-field g_scsi_tag_age_limit
' .x 8f0 ptr-field g_reset_notify_listf
' c@ ' .x 10 1 8f4 array-field g_qfull_retries
' w@ ' .x 20 2 904 array-field g_qfull_retry_interval
' .x 924 ptr-field g_restart_cmd_timeid
' .x 928 long-field g_scsi_reset_delay
' l@ ' .x 40 4 92c array-field g_reset_delay
' .x 96c long-field g_sclock
' .x 970 long-field g_speriod
' .x 974 long-field g_hba_period
' c@ ' .x 10 1 978 array-field g_syncstate
' l@ ' .x 40 4 988 array-field g_minperiod
' .x 9c8 byte-field g_scntl3
' .x 9c9 byte-field g_glmid
' .x 9ca short-field g_ndisc
' .x 9cc byte-field g_state
' .x 9cd byte-field g_polled_intr
' .x 9ce byte-field g_suspended
' .x 9d0 ptr-field g_kmem_cache
' .x 9d4 long-field g_options
' c@ ' .x 10 1 9d8 array-field g_arq_mask
' c@ ' .x 10 1 9e8 array-field g_max_lun

kdbg-words definitions
previous

\ end glm section


vocabulary glm_scsi_cmd-words
d0 ' glm_scsi_cmd-words c-struct .glm_scsi_cmd
also glm_scsi_cmd-words definitions

' .x 0 long-field cmd_flags
' .x 4 ptr-field cmd_dmahandle
' .x 8 struct-field cmd_cookie
' .x 18 long-field cmd_cookiec
' .x 1c long-field cmd_winindex
' .x 20 long-field cmd_nwin
' .x 24 long-field cmd_cur_cookie
' .x 28 long-field cmd_saved_addr
' .x 2c long-field cmd_saved_count
' .x 30 byte-field cmd_saved_cookie
' .x 34 long-field cmd_pkt_flags
' .x 38 ptr-field cmd_pkt
' .x 3c struct-field cmd_scb
' .x 5c byte-field cmd_cdblen
' .x 5d byte-field cmd_rqslen
' .x 5e byte-field cmd_scblen
' .x 5f byte-field cmd_privlen
' .x 60 long-field cmd_dmacount
' .x 64 byte-field cmd_age
' .x 66 short-field cmd_qfull_retries
' .x 68 byte-field cmd_queued
' .x 69 byte-field cmd_type
' .x 6c ptr-field cmd_linkp
' noop ' .x 8 8 70 array-field cmd_sg
' c@ ' .x c 1 78 array-field cmd_cdb
' x@ ' .x 40 8 88 array-field cmd_pkt_private
' c@ ' .x 2 1 c8 array-field cmd_tag

kdbg-words definitions
previous

\ end glm_scsi_cmd section


vocabulary glm_dsa-words
70 ' glm_dsa-words c-struct .glm_dsa
also glm_dsa-words definitions

' .x 0 struct-field nt_selectparm
' .x 4 struct-field nt_sendmsg
' .x c struct-field nt_rcvmsg
' .x 14 struct-field nt_cmd
' .x 1c struct-field nt_status
' .x 24 struct-field nt_extmsg
' .x 2c struct-field nt_syncin
' .x 34 struct-field nt_errmsg
' .x 3c struct-field nt_widein
' noop ' .x 8 8 44 array-field nt_data
' c@ ' .x c 1 4c array-field nt_cdb
' c@ ' .x c 1 58 array-field nt_msgoutbuf
' c@ ' .x 1 1 64 array-field nt_msginbuf
' c@ ' .x 1 1 65 array-field nt_extmsgbuf
' c@ ' .x 3 1 66 array-field nt_syncibuf
' c@ ' .x 1 1 69 array-field nt_statbuf
' c@ ' .x 1 1 6a array-field nt_errmsgbuf
' c@ ' .x 2 1 6b array-field nt_wideibuf

kdbg-words definitions
previous

\ end glm_dsa section


vocabulary glm_unit-words
40 ' glm_unit-words c-struct .glm_unit
also glm_unit-words definitions

' .x 0 long-field nt_refcnt
' .x 4 ptr-field nt_dsap
' .x 8 ptr-field nt_ncmdp
' .x c ptr-field nt_waitq
' .x 10 ptr-field nt_waitqtail
' .x 14 ptr-field nt_linkp
' .x 18 long-field nt_dsa_addr
' .x 1c ptr-field nt_active
' .x 20 short-field nt_tcmds
' .x 24 ptr-field nt_dma_p
' .x 28 ptr-field nt_accessp
' .x 2c byte-field nt_state
' .x 2d byte-field nt_goterror
' .x 2e byte-field nt_dma_status
' .x 2f byte-field nt_status0
' .x 30 byte-field nt_status1
' .x 32 short-field nt_target
' .x 34 short-field nt_lun
' .x 36 byte-field nt_fastscsi
' .x 37 byte-field nt_sscfX10
' .x 38 short-field nt_throttle
' .x 3c ptr-field nt_arq_pkt

kdbg-words definitions
previous

\ end glm_unit section


vocabulary nt_slots-words
14 ' nt_slots-words c-struct .nt_slots
also nt_slots-words definitions

' .x 0 short-field nt_dups
' .x 2 short-field nt_tags
' .x 4 long-field nt_timeout
' .x 8 long-field nt_timebase
' .x c short-field nt_n_slots
' .x e short-field nt_size
' l@ ' .x 4 4 10 array-field nt_slot

kdbg-words definitions
previous

\ end nt_slots section


: .ipaddr_t ( addr -- )
	." [ "
	dup d# 24 >> .d 
	." . "
	dup d# 16 >> h# ff and .d
	." . "                
	dup d# 8 >> h# ff and .d 
	." . "               
	h# ff and .d            
	." ]"
;


vocabulary ipf_s-words
38 ' ipf_s-words c-struct .ipf_s
also ipf_s-words definitions

' .x 0 ptr-field ipf_hash_next
' .x 4 ptr-field ipf_ptphn
' .x 8 short-field ipf_ident
' .x a byte-field ipf_protocol
' .x c long-field ipf_src
' .x 10 long-field ipf_dst
' .x 14 long-field ipf_timestamp
' .x 18 ptr-field ipf_mp
' .x 1c ptr-field ipf_tail_mp
' .x 20 long-field ipf_hole_cnt
' .x 24 long-field ipf_end
' .x 28 long-field ipf_stripped_hdr_len
' .x 2c short-field ipf_checksum
' .x 2e short-field ipf_checksum_valid
' .x 30 long-field ipf_gen
' .x 34 long-field ipf_count

kdbg-words definitions
previous

\ end ipf_s section


vocabulary icmph_s-words
8 ' icmph_s-words c-struct .icmph_s
also icmph_s-words definitions

' .x 0 byte-field icmph_type
' .x 1 byte-field icmph_code
' .x 2 short-field icmph_checksum
' .x 4 struct-field icmph_u

kdbg-words definitions
previous

\ end icmph_s section


vocabulary iph_s-words
14 ' iph_s-words c-struct .iph_s
also iph_s-words definitions

' .x 0 byte-field iph_version_and_hdr_length
' .x 1 byte-field iph_type_of_service
' c@ ' .x 2 1 2 array-field iph_length
' c@ ' .x 2 1 4 array-field iph_ident
' c@ ' .x 2 1 6 array-field iph_fragment_offset_and_flags
' .x 8 byte-field iph_ttl
' .x 9 byte-field iph_protocol
' c@ ' .x 2 1 a array-field iph_hdr_checksum
' c@ ' .x 4 1 c array-field iph_src
' c@ ' .x 4 1 10 array-field iph_dst

kdbg-words definitions
previous

\ end iph_s section


vocabulary ipha_s-words
14 ' ipha_s-words c-struct .ipha_s
also ipha_s-words definitions

' .d 0 byte-field ipha_version_and_hdr_length
' .d 1 byte-field ipha_type_of_service
' .d 2 short-field ipha_length
' .d 4 short-field ipha_ident
' .x 6 short-field ipha_fragment_offset_and_flags
' .d 8 byte-field ipha_ttl
' .d 9 byte-field ipha_protocol
' .x a short-field ipha_hdr_checksum
' .ipaddr_t c long-field ipha_src
' .ipaddr_t 10 long-field ipha_dst

kdbg-words definitions
previous

\ end ipha_s section


vocabulary ip_m_s-words
18 ' ip_m_s-words c-struct .ip_m_s
also ip_m_s-words definitions

' .x 0 long-field ip_m_mac_type
' .x 4 long-field ip_m_type
' .x 8 long-field ip_m_sap
' .x c long-field ip_m_sap_length
' .x 10 long-field ip_m_brdcst_addr_length
' .x 14 ptr-field ip_m_brdcst_addr

kdbg-words definitions
previous

\ end ip_m_s section


vocabulary ire_s-words
7c ' ire_s-words c-struct .ire_s
also ire_s-words definitions

' .x 0 ptr-field ire_next
' .x 4 ptr-field ire_ptpn
' .x 8 ptr-field ire_mp
' .x c ptr-field ire_ll_hdr_mp
' .x 10 ptr-field ire_rfq
' .x 14 ptr-field ire_stq
' .x 18 long-field ire_src_addr
' .x 1c long-field ire_max_frag
' .x 20 long-field ire_frag_flag
' .x 24 long-field ire_atomic_ident
' .x 28 long-field ire_tire_mark
' .x 2c long-field ire_mask
' .x 30 long-field ire_addr
' .x 34 long-field ire_gateway_addr
' .x 38 short-field ire_marks
' .x 3a short-field ire_type
' .x 3c long-field ire_rtt
' .x 40 long-field ire_ib_pkt_count
' .x 44 long-field ire_ob_pkt_count
' .x 48 long-field ire_ll_hdr_length
' .x 4c long-field ire_create_time
' .x 50 ptr-field ire_ll_hdr_saved_mp
' .x 54 long-field ire_phandle
' .x 58 long-field ire_cmask
' .x 5c ptr-field ire_ipif
' .x 60 struct-field ire_ident_lock
' .x 68 long-field ire_flags
' .x 6c long-field ire_ssthresh
' .x 70 long-field ire_rtt_sd
' .x 74 long-field ire_ihandle
' .x 78 long-field ire_ipif_seqid

kdbg-words definitions
previous

\ end ire_s section


vocabulary ipif_s-words
54 ' ipif_s-words c-struct .ipif_s
also ipif_s-words definitions

' .x 0 ptr-field ipif_next
' .x 4 ptr-field ipif_ill
' .x 8 long-field ipif_id
' .x c long-field ipif_mtu
' .x 10 long-field ipif_local_addr
' .x 14 long-field ipif_net_mask
' .x 18 long-field ipif_broadcast_addr
' .x 1c long-field ipif_pp_dst_addr
' .x 20 long-field ipif_flags
' .x 24 long-field ipif_metric
' .x 28 long-field ipif_ire_type
' .x 2c ptr-field ipif_arp_down_mp
' .x 30 ptr-field ipif_arp_on_mp
' .x 34 ptr-field ipif_saved_ire_mp
' .x 38 struct-field ipif_ifgrpu
' .x 3c ptr-field ipif_ifgrpnext
' .x 40 long-field ipif_fo_pkt_count
' .x 44 long-field ipif_ib_pkt_count
' .x 48 long-field ipif_ob_pkt_count
' .x 1f 80000000 4c bits-field ipif_multicast_up
' .x 50 long-field ipif_seqid

kdbg-words definitions
previous

\ end ipif_s section


vocabulary icommon-words
80 ' icommon-words c-struct .icommon
also icommon-words definitions

' .x 0 short-field ic_smode
' .x 2 short-field ic_nlink
' .x 4 short-field ic_suid
' .x 6 short-field ic_sgid
' .x 8 ext-field ic_lsize
' .x 10 struct-field ic_atime
' .x 18 struct-field ic_mtime
' .x 20 struct-field ic_ctime
' l@ ' .x 30 4 28 array-field ic_db
' l@ ' .x c 4 58 array-field ic_ib
' .x 64 long-field ic_flags
' .x 68 long-field ic_blocks
' .x 6c long-field ic_gen
' .x 70 long-field ic_shadow
' .x 74 long-field ic_uid
' .x 78 long-field ic_gid
' .x 7c long-field ic_oeftflag

kdbg-words definitions
previous

\ end icommon section


vocabulary inode-words
140 ' inode-words c-struct .inode
also inode-words definitions

' l@ ' .x 8 4 0 array-field i_chain
' .x 8 struct-field i_ic
' .x 88 struct-field i_vnode
' .x c4 ptr-field i_devvp
' .x c8 short-field i_flag
' .x cc long-field i_dev
' .x d0 long-field i_number
' .x d4 long-field i_diroff
' .x d8 ptr-field i_ufsvfs
' .x dc ptr-field i_dquot
' .x e0 struct-field i_rwlock
' .x e4 struct-field i_contents
' .x e8 struct-field i_tlock
' .x f0 ext-field i_nextr
' .x f8 ptr-field i_freef
' .x fc ptr-field i_freeb
' .x 100 long-field i_vcode
' .x 104 long-field i_mapcnt
' .x 108 ptr-field i_map
' .x 10c long-field i_rdev
' .x 110 long-field i_delaylen
' .x 118 ext-field i_delayoff
' .x 120 ext-field i_nextrio
' .x 128 long-field i_writes
' .x 12c struct-field i_wrcv
' .x 130 ext-field i_doff
' .x 138 ptr-field i_ufs_acl

kdbg-words definitions
previous

\ end inode section


vocabulary ufs_q-words
20 ' ufs_q-words c-struct .ufs_q
also ufs_q-words definitions

' .x 0 struct-field _uq_head
' .x 4 long-field uq_ne
' .x 8 long-field uq_lowat
' .x c long-field uq_hiwat
' .x 10 short-field uq_flags
' .x 12 struct-field uq_cv
' .x 14 ptr-field uq_threadp
' .x 18 struct-field uq_mutex

kdbg-words definitions
previous

\ end ufs_q section


vocabulary ufsvfs-words
130 ' ufsvfs-words c-struct .ufsvfs
also ufsvfs-words definitions

' .x 0 ptr-field vfs_vfs
' .x 4 ptr-field vfs_next
' .x 8 ptr-field vfs_wnext
' .x c ptr-field vfs_root
' .x 10 ptr-field vfs_bufp
' .x 14 ptr-field vfs_devvp
' .x 18 short-field vfs_lfflags
' .x 1a short-field vfs_qflags
' .x 1c ptr-field vfs_qinod
' .x 20 long-field vfs_btimelimit
' .x 24 long-field vfs_ftimelimit
' .x 28 struct-field vfs_dqrwlock
' .x 2c struct-field vfs_delete
' .x 4c struct-field vfs_reclaim
' .x 6c long-field vfs_nrpos
' .x 70 long-field vfs_npsect
' .x 74 long-field vfs_interleave
' .x 78 long-field vfs_trackskew
' .x 7c struct-field vfs_lock
' .x 84 struct-field vfs_ulockfs
' .x b8 long-field vfs_dio
' .x bc long-field vfs_nointr
' .x c0 long-field vfs_nosetsec
' .x c4 long-field vfs_syncdir
' .x c8 long-field vfs_dontblock
' .x cc ptr-field vfs_trans
' .x d0 long-field vfs_domatamap
' .x d4 long-field vfs_maxacl
' .x d8 long-field vfs_dirsize
' .x dc long-field vfs_avgbfree
' .x e0 long-field vfs_nindirshift
' .x e4 long-field vfs_nindiroffset
' .x e8 long-field vfs_rdclustsz
' .x ec long-field vfs_wrclustsz
' .x f0 struct-field vfs_fsfx
' .x 108 struct-field vfs_rename_lock
' .x 110 long-field vfs_minfrags
' .x 114 long-field vfs_forcedirectio
' .x 118 long-field vfs_iotstamp
' .x 11c long-field vfs_dfritime
' .x 120 long-field vfs_dev
' .x 124 ptr-field vfs_log
' .x 128 long-field vfs_noatime
' .x 12c long-field lastwhinetime

kdbg-words definitions
previous

\ end ufsvfs section


vocabulary csum-words
10 ' csum-words c-struct .csum
also csum-words definitions

' .x 0 long-field cs_ndir
' .x 4 long-field cs_nbfree
' .x 8 long-field cs_nifree
' .x c long-field cs_nffree

kdbg-words definitions
previous

\ end csum section


vocabulary fs-words
564 ' fs-words c-struct .fs
also fs-words definitions

' .x 0 long-field fs_link
' .x 4 long-field fs_rlink
' .x 8 long-field fs_sblkno
' .x c long-field fs_cblkno
' .x 10 long-field fs_iblkno
' .x 14 long-field fs_dblkno
' .x 18 long-field fs_cgoffset
' .x 1c long-field fs_cgmask
' .x 20 long-field fs_time
' .x 24 long-field fs_size
' .x 28 long-field fs_dsize
' .x 2c long-field fs_ncg
' .x 30 long-field fs_bsize
' .x 34 long-field fs_fsize
' .x 38 long-field fs_frag
' .x 3c long-field fs_minfree
' .x 40 long-field fs_rotdelay
' .x 44 long-field fs_rps
' .x 48 long-field fs_bmask
' .x 4c long-field fs_fmask
' .x 50 long-field fs_bshift
' .x 54 long-field fs_fshift
' .x 58 long-field fs_maxcontig
' .x 5c long-field fs_maxbpg
' .x 60 long-field fs_fragshift
' .x 64 long-field fs_fsbtodb
' .x 68 long-field fs_sbsize
' .x 6c long-field fs_csmask
' .x 70 long-field fs_csshift
' .x 74 long-field fs_nindir
' .x 78 long-field fs_inopb
' .x 7c long-field fs_nspf
' .x 80 long-field fs_optim
' .x 84 long-field fs_npsect
' .x 88 long-field fs_interleave
' .x 8c long-field fs_trackskew
' l@ ' .x 8 4 90 array-field fs_id
' .x 98 long-field fs_csaddr
' .x 9c long-field fs_cssize
' .x a0 long-field fs_cgsize
' .x a4 long-field fs_ntrak
' .x a8 long-field fs_nsect
' .x ac long-field fs_spc
' .x b0 long-field fs_ncyl
' .x b4 long-field fs_cpg
' .x b8 long-field fs_ipg
' .x bc long-field fs_fpg
' .x c0 struct-field fs_cstotal
' .x d0 byte-field fs_fmod
' .x d1 byte-field fs_clean
' .x d2 byte-field fs_ronly
' .x d3 byte-field fs_flags
' c@ ' .x 200 1 d4 array-field fs_fsmnt
' .x 2d4 long-field fs_cgrotor
' .x 2d8 struct-field fs_u
' .x 358 long-field fs_cpc
 100 10 35c array-field fs_opostbl
' l@ ' .x dc 4 45c array-field fs_sparecon
' .x 538 long-field fs_state
' .x 53c struct-field fs_qbmask
' .x 544 struct-field fs_qfmask
' .x 54c long-field fs_postblformat
' .x 550 long-field fs_nrpos
' .x 554 long-field fs_postbloff
' .x 558 long-field fs_rotbloff
' .x 55c long-field fs_magic
' c@ ' .x 1 1 560 array-field fs_space

kdbg-words definitions
previous

\ end fs section


vocabulary cg-words
ac ' cg-words c-struct .cg
also cg-words definitions

' .x 0 long-field cg_link
' .x 4 long-field cg_magic
' .x 8 long-field cg_time
' .x c long-field cg_cgx
' .x 10 short-field cg_ncyl
' .x 12 short-field cg_niblk
' .x 14 long-field cg_ndblk
' .x 18 struct-field cg_cs
' .x 28 long-field cg_rotor
' .x 2c long-field cg_frotor
' .x 30 long-field cg_irotor
' l@ ' .x 20 4 34 array-field cg_frsum
' .x 54 long-field cg_btotoff
' .x 58 long-field cg_boff
' .x 5c long-field cg_iusedoff
' .x 60 long-field cg_freeoff
' .x 64 long-field cg_nextfreeoff
' l@ ' .x 40 4 68 array-field cg_sparecon
' c@ ' .x 1 1 a8 array-field cg_space

kdbg-words definitions
previous

\ end cg section


vocabulary cachefsoptions-words
c ' cachefsoptions-words c-struct .cachefsoptions
also cachefsoptions-words definitions

' .x 0 long-field opt_flags
' .x 4 long-field opt_popsize
' .x 8 long-field opt_fgsize

kdbg-words definitions
previous

\ end cachefsoptions section


vocabulary cachefs_workq-words
2c ' cachefs_workq-words c-struct .cachefs_workq
also cachefs_workq-words definitions

' .x 0 ptr-field wq_head
' .x 4 ptr-field wq_tail
' .x 8 long-field wq_length
' .x c long-field wq_thread_count
' .x 10 long-field wq_max_len
' .x 14 long-field wq_halt_request
' .x 1f 80000000 18 bits-field wq_keepone
' .x 1e 40000000 18 bits-field wq_logwork
' .x 1a struct-field wq_req_cv
' .x 1c struct-field wq_halt_cv
' .x 20 struct-field wq_queue_lock
' .x 28 ptr-field wq_cachep

kdbg-words definitions
previous

\ end cachefs_workq section


vocabulary cfs_cid-words
10 ' cfs_cid-words c-struct .cfs_cid
also cfs_cid-words definitions

' .x 0 ext-field cid_fileno
' .x 8 long-field cid_flags

kdbg-words definitions
previous

\ end cfs_cid section


vocabulary cache_label-words
30 ' cache_label-words c-struct .cache_label
also cache_label-words definitions

' .x 0 long-field cl_cfsversion
' .x 4 long-field cl_maxblks
' .x 8 long-field cl_blkhiwat
' .x c long-field cl_blklowat
' .x 10 long-field cl_maxinodes
' .x 14 long-field cl_filehiwat
' .x 18 long-field cl_filelowat
' .x 1c long-field cl_blocktresh
' .x 20 long-field cl_blockmin
' .x 24 long-field cl_filetresh
' .x 28 long-field cl_filemin
' .x 2c long-field cl_maxfiles

kdbg-words definitions
previous

\ end cache_label section


vocabulary cache_usage-words
10 ' cache_usage-words c-struct .cache_usage
also cache_usage-words definitions

' .x 0 long-field cu_blksused
' .x 4 long-field cu_filesused
' .x 8 long-field cu_flags
' .x c short-field cu_unique

kdbg-words definitions
previous

\ end cache_usage section


vocabulary cachefs_rl_listhead-words
10 ' cachefs_rl_listhead-words c-struct .cachefs_rl_listhead
also cachefs_rl_listhead-words definitions

' .x 0 long-field rli_front
' .x 4 long-field rli_back
' .x 8 long-field rli_blkcnt
' .x c long-field rli_itemcnt

kdbg-words definitions
previous

\ end cachefs_rl_listhead section


vocabulary cachefs_rl_info-words
98 ' cachefs_rl_info-words c-struct .cachefs_rl_info
also cachefs_rl_info-words definitions

' .x 0 long-field rl_entries
' .x 4 long-field rl_gctime
' noop ' .x 90 10 8 array-field rl_items

kdbg-words definitions
previous

\ end cachefs_rl_info section


vocabulary rl_entry-words
28 ' rl_entry-words c-struct .rl_entry
also rl_entry-words definitions

' .x 1f 80000000 0 bits-field rl_attrc
' .x 1e 40000000 0 bits-field rl_fsck
' .x 1d 20000000 0 bits-field rl_local
' .x 8 ext-field rl_fsid
' .x 10 ext-field rl_fileno
' .d 18 long-field rl_current
' .x 1c long-field rl_fwd_idx
' .x 20 long-field rl_bkwd_idx

kdbg-words definitions
previous

\ end rl_entry section


vocabulary cachefscache-words
174 ' cachefscache-words c-struct .cachefscache
also cachefscache-words definitions

' .x 0 ptr-field c_next
' .x 4 long-field c_flags
' .x 8 struct-field c_label
' .x 38 struct-field c_usage
' .x 48 struct-field c_rlinfo
' .x e0 ptr-field c_resfilevp
' .x e4 long-field c_rl_window
' .x e8 ptr-field c_rl_entries
' .x ec ptr-field c_dirvp
' .x f0 ptr-field c_lockvp
' .x f4 ptr-field c_lostfoundvp
' .x f8 long-field c_refcnt
' .x fc ptr-field c_fslist
' .x 100 struct-field c_workq
' .x 12c struct-field c_contentslock
' .x 134 struct-field c_fslistlock
' .x 13c struct-field c_mflock
' .x 144 short-field c_unique
' .x 146 struct-field c_cwcv
' .x 148 struct-field c_cwhaltcv
' .x 14c long-field c_gc_count
' .x 150 long-field c_gc_time
' .x 154 long-field c_gc_before
' .x 158 long-field c_gc_after
' .x 15c long-field c_apop_inqueue
' .x 160 long-field c_rootdaemonid
' .x 164 ptr-field c_log
' .x 168 ptr-field c_log_ctl
' .x 16c struct-field c_log_mutex

kdbg-words definitions
previous

\ end cachefscache section


vocabulary cachefs_allocmap-words
10 ' cachefs_allocmap-words c-struct .cachefs_allocmap
also cachefs_allocmap-words definitions

' .x 0 ext-field am_start_off
' .x 8 ext-field am_size

kdbg-words definitions
previous

\ end cachefs_allocmap section


vocabulary cachefs_metadata-words
358 ' cachefs_metadata-words c-struct .cachefs_metadata
also cachefs_metadata-words definitions

' .x 0 struct-field md_vattr
' .x 60 short-field md_aclclass
' .x 62 short-field md_pad1
' .x 64 struct-field md_cookie
' .x a8 long-field md_flags
' .x ac long-field md_rlno
' .d b0 long-field md_rltype
' .x b4 long-field md_consttype
' .x b8 struct-field md_fid
' .x fc long-field md_frontblks
' .x 100 long-field md_gen
' .x 108 struct-field md_parent
' .x 118 struct-field md_timestamp
' .x 120 struct-field md_x_time
' .x 128 struct-field md_localmtime
' .x 130 struct-field md_localctime
' .x 138 long-field md_resettimes
' .x 140 ext-field md_localfileno
' .x 148 long-field md_resetfileno
' .x 14c long-field md_seq
' .x 150 long-field md_allocents
' noop ' .x 200 10 158 array-field md_allocinfo

kdbg-words definitions
previous

\ end cachefs_metadata section


vocabulary cachefsops-words
14 ' cachefsops-words c-struct .cachefsops
also cachefsops-words definitions

' .x 0 ptr-field co_init_cobject
' .x 4 ptr-field co_check_cobject
' .x 8 ptr-field co_modify_cobject
' .x c ptr-field co_invalidate_cobject
' .x 10 ptr-field co_convert_cobject

kdbg-words definitions
previous

\ end cachefsops section


vocabulary attrcache_header-words
14 ' attrcache_header-words c-struct .attrcache_header
also attrcache_header-words definitions

' .x 0 long-field ach_count
' .x 4 long-field ach_nffs
' .x 8 long-field ach_nblks
' .x c long-field ach_rlno
' .d 10 long-field ach_rl_current

kdbg-words definitions
previous

\ end attrcache_header section


vocabulary attrcache_index-words
4 ' attrcache_index-words c-struct .attrcache_index
also attrcache_index-words definitions

' .x 1f 80000000 0 bits-field ach_written
' .x 0 7ffffffe 0 bits-field ach_offset

kdbg-words definitions
previous

\ end attrcache_index section


vocabulary cnode-words
440 ' cnode-words c-struct .cnode
also cnode-words definitions

' .x 0 long-field c_flags
' .x 4 ptr-field c_next
' .x 8 ptr-field c_idleback
' .x c ptr-field c_idlefront
' .x 10 ptr-field c_frontvp
' .x 14 ptr-field c_backvp
' .x 18 ptr-field c_acldirvp
' .x 20 ext-field c_size
' .x 28 ptr-field c_filegrp
' .x 30 struct-field c_id
' .x 40 long-field c_invals
' .x 44 long-field c_usage
' .x 48 struct-field c_vnode
' .x 88 struct-field c_metadata
' .x 3e0 long-field c_error
' .x 3e4 struct-field c_statelock
' .x 3ec struct-field c_rwlock
' .x 3f0 ptr-field c_unldvp
' .x 3f4 ptr-field c_unlname
' .x 3f8 ptr-field c_unlcred
' .x 3fc long-field c_nio
' .x 400 long-field c_ioflags
' .x 404 struct-field c_iocv
' .x 408 struct-field c_iomutex
' .x 410 ptr-field c_cred
' .x 414 long-field c_ipending
' .x 418 long-field c_mapcnt
' .x 420 ext-field c_apopoffset
' .x 428 ptr-field c_popthrp
' .x 430 ext-field c_modaddr
' .x 438 struct-field c_popcv

kdbg-words definitions
previous

\ end cnode section


vocabulary cachefs_fs_sync_req-words
4 ' cachefs_fs_sync_req-words c-struct .cachefs_fs_sync_req
also cachefs_fs_sync_req-words definitions

' .x 0 ptr-field cf_cachep

kdbg-words definitions
previous

\ end cachefs_fs_sync_req section


vocabulary cachefs_idle_req-words
4 ' cachefs_idle_req-words c-struct .cachefs_idle_req
also cachefs_idle_req-words definitions

' .x 0 ptr-field ci_vp

kdbg-words definitions
previous

\ end cachefs_idle_req section


vocabulary cachefs_putpage_req-words
18 ' cachefs_putpage_req-words c-struct .cachefs_putpage_req
also cachefs_putpage_req-words definitions

' .x 0 ptr-field cp_vp
' .x 8 ext-field cp_off
' .x 10 long-field cp_len
' .x 14 long-field cp_flags

kdbg-words definitions
previous

\ end cachefs_putpage_req section


vocabulary cachefs_populate_req-words
18 ' cachefs_populate_req-words c-struct .cachefs_populate_req
also cachefs_populate_req-words definitions

' .x 0 ptr-field cpop_vp
' .x 8 ext-field cpop_off
' .x 10 long-field cpop_size

kdbg-words definitions
previous

\ end cachefs_populate_req section


vocabulary cachefs_req-words
30 ' cachefs_req-words c-struct .cachefs_req
also cachefs_req-words definitions

' .x 0 ptr-field cfs_next
' .d 4 long-field cfs_cmd
' .x 8 ptr-field cfs_cr
' .x 10 struct-field cfs_req_u
' .x 28 struct-field cfs_req_lock

kdbg-words definitions
previous

\ end cachefs_req section


vocabulary cachefs_fid-words
18 ' cachefs_fid-words c-struct .cachefs_fid
also cachefs_fid-words definitions

' .x 0 short-field cf_len
' .x 8 ext-field cf_fileno
' .x 10 long-field cf_gen

kdbg-words definitions
previous

\ end cachefs_fid section


vocabulary cachefs_debug_info-words
80 ' cachefs_debug_info-words c-struct .cachefs_debug_info
also cachefs_debug_info-words definitions

' .x 0 ptr-field cdb_message
' .x 4 long-field cdb_flags
' .x 8 long-field cdb_int
' .x c ptr-field cdb_pointer
' .x 10 long-field cdb_count
' .x 14 ptr-field cdb_cachep
' .x 18 ptr-field cdb_fscp
' .x 1c ptr-field cdb_cnode
' .x 20 ptr-field cdb_frontvp
' .x 24 ptr-field cdb_backvp
' .x 28 ptr-field cdb_thread
' .x 30 ext-field cdb_timestamp
' .x 38 long-field cdb_depth
' l@ ' .x 40 4 3c array-field cdb_stack
' .x 7c ptr-field cdb_next

kdbg-words definitions
previous

\ end cachefs_debug_info section


vocabulary ata_controller-words
37c ' ata_controller-words c-struct .ata_controller
also ata_controller-words definitions

' .x 0 ptr-field ac_dip
' .x 4 ptr-field ac_next
' .x 8 long-field ac_flags
' .x c long-field ac_simplex
' .x 10 long-field ac_actv_chnl
' l@ ' .x 8 4 14 array-field ac_pending
' .x 1c struct-field ac_hba_mutex
' l@ ' .x 8 4 24 array-field ac_active
' l@ ' .x 8 4 2c array-field ac_overlap
' l@ ' .x 8 4 34 array-field ac_cccp
' .x 3c ptr-field ac_iblock
 100 40 40 array-field ac_drvp
' .x 140 long-field ac_max_transfer
' .x 144 ptr-field ac_atapi_tran
' .x 148 ptr-field ac_ata_tran
' .x 14c long-field ac_dcd_options
' noop ' .x 140 a0 150 array-field ac_ccc
' l@ ' .x 8 4 290 array-field ata_datap
' l@ ' .x 8 4 298 array-field ata_devaddr
' l@ ' .x 8 4 2a0 array-field ata_datap1
' l@ ' .x 8 4 2a8 array-field ata_devaddr1
' .x 2b0 ptr-field ata_conf_handle
' .x 2b4 ptr-field ata_conf_addr
' .x 2b8 ptr-field ata_cs_handle
' .x 2bc ptr-field ata_cs_addr
' l@ ' .x 8 4 2c0 array-field ata_prd_acc_handle
' l@ ' .x 8 4 2c8 array-field ata_prd_dma_handle
' l@ ' .x 8 4 2d0 array-field ac_memp
' l@ ' .x 8 4 2d8 array-field ioaddr1
' l@ ' .x 8 4 2e0 array-field ac_data
' l@ ' .x 8 4 2e8 array-field ac_error
' l@ ' .x 8 4 2f0 array-field ac_feature
' l@ ' .x 8 4 2f8 array-field ac_count
' l@ ' .x 8 4 300 array-field ac_sect
' l@ ' .x 8 4 308 array-field ac_lcyl
' l@ ' .x 8 4 310 array-field ac_hcyl
' l@ ' .x 8 4 318 array-field ac_drvhd
' l@ ' .x 8 4 320 array-field ac_status
' l@ ' .x 8 4 328 array-field ac_cmd
' l@ ' .x 8 4 330 array-field ioaddr2
' l@ ' .x 8 4 338 array-field ac_altstatus
' l@ ' .x 8 4 340 array-field ac_devctl
' l@ ' .x 8 4 348 array-field ac_drvaddr
' .x 350 short-field ac_vendor_id
' .x 352 short-field ac_device_id
' .x 354 byte-field ac_revision
' c@ ' .x 5 1 355 array-field ac_piortable
' c@ ' .x 5 1 35a array-field ac_piowtable
' c@ ' .x 3 1 35f array-field ac_dmartable
' c@ ' .x 3 1 362 array-field ac_dmawtable
' .x 365 byte-field ac_reset_done
' .x 366 byte-field ac_suspended
' l@ ' .x 8 4 368 array-field ac_saved_dmac_address
' .x 370 long-field ac_polled_finish
' .x 374 long-field ac_polled_count
' .x 378 long-field ac_intr_unclaimed

kdbg-words definitions
previous

\ end ata_controller section


vocabulary ata_drive-words
454 ' ata_drive-words c-struct .ata_drive
also ata_drive-words definitions

' .x 0 ptr-field ad_ctlp
' .x 4 ptr-field ad_gtgtp
' .x 8 struct-field ad_id
' .x 208 long-field ad_flags
' .x 20c long-field ad_channel
' .x 210 byte-field ad_targ
' .x 211 byte-field ad_lun
' .x 212 byte-field ad_drive_bits
' .x 213 byte-field ad_cdb_len
' .x 214 struct-field ad_device
' .x 230 struct-field ad_address
' .x 238 struct-field ad_inquiry
' .x 438 long-field ad_dcd_options
' .x 43c byte-field ad_dmamode
' .x 43d byte-field ad_piomode
' .x 43e byte-field ad_rd_cmd
' .x 43f byte-field ad_wr_cmd
' .x 440 short-field ad_acyl
' .x 442 short-field ad_bioscyl
' .x 444 short-field ad_bioshd
' .x 446 short-field ad_biossec
' .x 448 short-field ad_phhd
' .x 44a short-field ad_phsec
' .x 44c short-field ad_block_factor
' .x 44e short-field ad_bytes_per_block
' .x 450 byte-field ad_cur_disk_mode
' .x 451 byte-field ad_run_ultra
' .x 452 short-field ad_invalid

kdbg-words definitions
previous

\ end ata_drive section


vocabulary ata_pkt-words
8c ' ata_pkt-words c-struct .ata_pkt
also ata_pkt-words definitions

' .x 0 struct-field ap_gcmd
' .x 4c long-field ap_flags
' .x 50 ptr-field ap_v_addr
' .x 54 long-field ap_chno
' .x 58 long-field ap_targ
' .x 5c byte-field ap_sec
' .x 5d byte-field ap_count
' .x 5e byte-field ap_lwcyl
' .x 5f byte-field ap_hicyl
' .x 60 byte-field ap_hd
' .x 61 byte-field ap_cmd
' .x 62 byte-field ap_status
' .x 63 byte-field ap_error
' .x 64 long-field ap_addr
' .x 68 long-field ap_cnt
' .x 6c ptr-field ap_start
' .x 70 ptr-field ap_intr
' .x 74 ptr-field ap_complete
' .x 78 byte-field ap_cdb
' .x 79 byte-field ap_scb
' .x 7c long-field ap_bytes_per_block
' .x 80 byte-field ap_cdb_len
' .x 81 byte-field ap_cdb_pad
' .x 84 long-field ap_count_bytes
' .x 88 ptr-field ap_buf_addr

kdbg-words definitions
previous

\ end ata_pkt section


vocabulary cmd_ctl-words
a0 ' cmd_ctl-words c-struct .cmd_ctl
also cmd_ctl-words definitions

' .x 0 ptr-field ccc_nextp
' .x 4 ptr-field ccc_tmrp
' .x 8 ptr-field ccc_label
' .x c long-field ccc_chno
' .x 10 struct-field ccc_activel_mutex
' .x 18 struct-field ccc_activel
' .x 24 ptr-field ccc_hba_dip
' .x 28 ptr-field ccc_iblock
' .x 2c ptr-field ccc_soft_id
' .x 30 struct-field ccc_hba_mutex
' .x 38 long-field ccc_hba_pollmode
' .x 3c struct-field ccc_devs
' .x 44 struct-field ccc_waitq_mutex
' .x 4c struct-field ccc_waitq
' .x 64 ptr-field ccc_doneq_softid
' .x 68 struct-field ccc_doneq_mutex
' .x 70 struct-field ccc_doneq
' .x 7c ptr-field ccc_hba_handle
' .x 80 ptr-field ccc_ccballoc
' .x 84 ptr-field ccc_ccbfree
' .x 88 ptr-field ccc_sg_func
' .x 8c ptr-field ccc_hba_start
' .x 90 ptr-field ccc_hba_complete
' .x 94 ptr-field ccc_process_intr
' .x 98 ptr-field ccc_get_status
' .x 9c ptr-field ccc_timeout_func

kdbg-words definitions
previous

\ end cmd_ctl section


vocabulary ghd_cmd-words
4c ' ghd_cmd-words c-struct .ghd_cmd
also ghd_cmd-words definitions

' .x 0 struct-field cmd_q
' .d c long-field cmd_state
' .x 10 long-field cmd_waitq_level
' .x 14 struct-field cmd_timer_link
' .x 20 long-field cmd_start_time
' .x 24 long-field cmd_timeout
' .x 28 ptr-field cmd_private
' .x 2c ptr-field cmd_pktp
' .x 30 ptr-field cmd_gtgtp
' .x 34 ptr-field cmd_dma_handle
' .x 38 ptr-field cmd_dmawin
' .x 3c ptr-field cmd_dmaseg
' .x 40 long-field cmd_dma_flags
' .x 44 long-field cmd_totxfer
' .x 48 long-field cmd_resid

kdbg-words definitions
previous

\ end ghd_cmd section


vocabulary dcd_address-words
8 ' dcd_address-words c-struct .dcd_address
also dcd_address-words definitions

' .x 0 byte-field a_lun
' .x 2 short-field a_target
' .x 4 ptr-field a_hba_tran

kdbg-words definitions
previous

\ end dcd_address section


vocabulary dcd_device-words
1c ' dcd_device-words c-struct .dcd_device
also dcd_device-words definitions

' .x 0 ptr-field dcd_address
' .x 4 ptr-field dcd_dev
' .x 8 struct-field dcd_mutex
' .x 10 ptr-field dcd_reserved
' .x 14 ptr-field dcd_ident
' .x 18 ptr-field dcd_private

kdbg-words definitions
previous

\ end dcd_device section


vocabulary dcd_disk-words
264 ' dcd_disk-words c-struct .dcd_disk
also dcd_disk-words definitions

' .x 0 ptr-field un_dcd
' .x 4 ptr-field un_dp
' .x 8 ptr-field un_sbufp
' .x c ptr-field un_srqbufp
' .x 10 struct-field un_sbuf_cv
' .x 12 struct-field un_state_cv
' .x 14 struct-field un_ocmap
' noop ' .x 40 8 38 array-field un_map
' l@ ' .x 20 4 78 array-field un_offset
' .x 98 struct-field un_g
' .x c2 byte-field un_last_pkt_reason
' .x c4 struct-field un_vtoc
' .x 14c struct-field un_utab
' .x 164 ptr-field un_stats
' l@ ' .x 20 4 168 array-field un_pstats
' .x 188 struct-field un_semoclose
' .x 190 long-field un_err_blkno
' .x 194 long-field un_capacity
' .x 198 long-field un_diskcapacity
' .x 19c long-field un_lbasize
' .x 1a0 long-field un_lbadiv
' .x 1a4 long-field un_blknoshift
' .x 1a8 long-field un_secsize
' .x 1ac long-field un_secdiv
' .x 1b0 byte-field un_exclopen
' .x 1b1 byte-field un_mediastate
' .x 1b2 byte-field un_gvalid
' .x 1b3 byte-field un_state
' .x 1b4 byte-field un_last_state
' .x 1b5 byte-field un_format_in_progress
' .x 1b8 long-field un_timestamp
' c@ ' .x 80 1 1bc array-field un_asciilabel
' .x 23c short-field un_ncmds
' .x 23e short-field un_throttle
' .x 240 short-field un_sbuf_busy
' .x 244 long-field un_cmd_flags
' .x 248 long-field un_cmd_stat_size
' .x 24c long-field un_dcvb_timeid
' .x 250 ptr-field un_devid
' .x 254 long-field un_max_xfer_size
' .x 258 byte-field un_bus_master
' .x 25c ptr-field un_reissued_timeid
' .x 260 ptr-field un_errstats

kdbg-words definitions
previous

\ end dcd_disk section


vocabulary dcd_cmd-words
10 ' dcd_cmd-words c-struct .dcd_cmd
also dcd_cmd-words definitions

' .x 0 byte-field cmd
' .x 1 byte-field address_mode
' .x 2 byte-field direction
' .x 3 byte-field features
' .x 4 long-field size
' .x 8 long-field version
' .x c struct-field sector_num

kdbg-words definitions
previous

\ end dcd_cmd section


vocabulary dcd_hba_tran-words
48 ' dcd_hba_tran-words c-struct .dcd_hba_tran
also dcd_hba_tran-words definitions

' .x 0 long-field version
' .x 4 ptr-field tran_hba_dip
' .x 8 ptr-field tran_hba_private
' .x c ptr-field tran_tgt_private
' .x 10 ptr-field tran_sd
' .x 14 ptr-field tran_tgt_init
' .x 18 ptr-field tran_tgt_probe
' .x 1c ptr-field tran_tgt_free
' .x 20 ptr-field tran_start
' .x 24 ptr-field tran_reset
' .x 28 ptr-field tran_abort
' .x 2c ptr-field tran_init_pkt
' .x 30 ptr-field tran_destroy_pkt
' .x 34 ptr-field tran_dmafree
' .x 38 ptr-field tran_sync_pkt
' .x 3c long-field tran_hba_flags
' .x 40 long-field tran_min_xfer
' .x 44 byte-field tran_min_burst_size
' .x 45 byte-field tran_max_burst_size

kdbg-words definitions
previous

\ end dcd_hba_tran section


vocabulary dcd_identify-words
1fe ' dcd_identify-words c-struct .dcd_identify
also dcd_identify-words definitions

' .x 0 short-field dcd_config
' .x 2 short-field dcd_fixcyls
' .x 4 short-field dcd_remcyls
' .x 6 short-field dcd_heads
' .x 8 short-field dcd_trksiz
' .x a short-field dcd_secsiz
' .x c short-field dcd_sectors
' w@ ' .x 6 2 e array-field dcd_resv1
' c@ ' .x 14 1 14 array-field dcd_drvser
' .x 28 short-field dcd_buftype
' .x 2a short-field dcd_bufsz
' .x 2c short-field dcd_ecc
' c@ ' .x 8 1 2e array-field dcd_fw
' c@ ' .x 28 1 36 array-field dcd_model
' .x 5e short-field dcd_mult1
' .x 60 short-field dcd_dwcap
' .x 62 short-field dcd_cap
' .x 64 short-field dcd_resv2
' .x 66 short-field dcd_piomode
' .x 68 short-field dcd_dmamode
' .x 6a short-field dcd_validinfo
' .x 6c short-field dcd_curcyls
' .x 6e short-field dcd_curheads
' .x 70 short-field dcd_cursectrk
' w@ ' .x 4 2 72 array-field dcd_cursccp
' .x 76 short-field dcd_mult2
' w@ ' .x 4 2 78 array-field dcd_addrsec
' .x 7c short-field dcd_sworddma
' .x 7e short-field dcd_dworddma
' .x 80 short-field dcd_advpiomode
' .x 82 short-field dcd_minmwdma
' .x 84 short-field dcd_recmwdma
' .x 86 short-field dcd_minpio
' .x 88 short-field dcd_minpioflow
' w@ ' .x 26 2 8a array-field dcd_padding1
' .x b0 short-field dcd_ultra_dma
' w@ ' .x 48 2 b2 array-field dcd_padding2
' .x fa short-field dcd_lastlun
' w@ ' .x 102 2 fc array-field dcd_padding3

kdbg-words definitions
previous

\ end dcd_identify section


vocabulary dcd_pkt-words
50 ' dcd_pkt-words c-struct .dcd_pkt
also dcd_pkt-words definitions

' .x 0 ptr-field pkt_cdbp
' .x 4 ptr-field pkt_scbp
' .x 8 long-field pkt_flags
' .x c long-field pkt_time
' .x 10 long-field pkt_scblen
' .x 14 long-field pkt_cdblen
' .x 18 long-field pkt_state
' .x 1c long-field pkt_statistics
' .x 20 long-field pkt_reason
' .x 24 long-field pkt_secleft
' .x 28 ptr-field pkt_comp
' .x 2c long-field pkt_resid
' .x 30 long-field pkt_startsec
' .x 34 ptr-field pkt_private
' .x 38 ptr-field pkt_ha_private
' .x 3c ptr-field pkt_passthru
' .x 40 struct-field pkt_address
' .x 48 long-field version_no
' w@ ' .x 4 2 4c array-field reserved

kdbg-words definitions
previous

\ end dcd_pkt section


vocabulary ifp-words
2240 ' ifp-words c-struct .ifp
also ifp-words definitions

' .x 0 ptr-field ifp_tran
' .x 4 ptr-field ifp_dip
' .x 8 ptr-field ifp_iblock
' .x c ptr-field ifp_next
' .x 10 short-field ifp_major_rev
' .x 12 short-field ifp_minor_rev
' .x 14 short-field ifp_subminor_rev
' .x 18 long-field ifp_scsi_reset_delay
' .x 1c byte-field ifp_suspended
' .x 20 ptr-field ifp_biu_reg
' .x 24 struct-field ifp_icb
' .x 5c struct-field ifp_mbox
' .x c0 byte-field ifp_polled_intr
' .x c1 byte-field ifp_shutdown
' .x c2 byte-field ifp_handling_fatal_aen
' .x c3 byte-field ifp_alive
' .x c4 long-field ifp_que_inited
' .x c8 long-field ifp_loopdown_timeout
' .x cc ptr-field ifp_cmdarea
' .x d0 struct-field ifp_dmacookie
' .x e0 ptr-field ifp_dmahandle
' .x e4 ptr-field ifp_dma_acc_handle
' .x e8 long-field ifp_request_dvma
' .x ec long-field ifp_response_dvma
' .x f0 ptr-field ifp_pci_config_acc_handle
' .x f4 ptr-field ifp_biu_acc_handle
' .x f8 ptr-field ifp_fcal_maphandle
' .x fc ptr-field ifp_fcal_porthandle
' .x 100 struct-field ifp_map_dmacookie
' .x 110 struct-field ifp_portdb_dmacookie
' .x 120 struct-field ifp_waitq_mutex
' .x 128 ptr-field ifp_waitf
' .x 12c ptr-field ifp_waitb
' .x 130 ptr-field ifp_waitq_timeout
' .x 134 long-field ifp_burst_size
' l@ ' .x 1f8 4 138 array-field ifp_targets
' l@ ' .x 80 4 330 array-field ifp_wwn_lists
' .x 3b0 long-field ifp_lip_cnt
' c@ ' .x 80 1 3b4 array-field ifp_loop_map
' c@ ' .x 80 1 434 array-field ifp_alpa_states
' .x 4b4 struct-field ifp_portdb
' .x 534 byte-field ifp_my_alpa
' .x 538 struct-field ifp_my_wwn
' .x 540 struct-field ifp_my_port_wwn
' .x 548 long-field ifp_queue_space
' .x 54c struct-field ifp_request_mutex
' .x 554 struct-field ifp_response_mutex
' .x 55c short-field ifp_request_in
' .x 55e short-field ifp_request_out
' .x 560 short-field ifp_response_in
' .x 562 short-field ifp_response_out
' .x 564 ptr-field ifp_request_ptr
' .x 568 ptr-field ifp_request_base
' .x 56c ptr-field ifp_response_ptr
' .x 570 ptr-field ifp_response_base
' .x 574 ptr-field ifp_ksp
' .x 578 long-field ifp_softstate
' .x 57c long-field ifp_state
' .x 580 long-field ifp_lip_state
' .x 584 short-field ifp_free_slot
' .x 586 short-field ifp_last_slot_watched
' .x 588 ptr-field ifp_reset_notify_listf
' .x 58c ptr-field ifp_kmem_cache
' noop ' .x 1400 8 590 array-field ifp_slots
' c@ ' .x 80 1 1990 array-field ifp_fcal_map
' .x 1a10 long-field ifp_hp_thread_go_away
' .x 1a14 struct-field ifp_hp_daemon_cv
' .x 1a18 struct-field ifp_hp_daemon_mutex
' .x 1a20 ptr-field ifp_hp_elem_head
' .x 1a24 ptr-field ifp_hp_elem_tail
' .x 1a28 ptr-field ifp_ndi_event_hdl
' .x 1a2c struct-field ifp_ndi_events
' .x 1a34 long-field ifp_running_diags
' .x 1a38 long-field ifp_scandb_retry
' .x 1a3c struct-field ifp_stats
' .x 2238 short-field ifp_chip_id
' .x 223a short-field ifp_chip_rev
' .x 223c short-field ifp_chip_reg_cnt
' .x 223e byte-field ifp_init_done

kdbg-words definitions
previous

\ end ifp section


vocabulary ifp_cmd-words
e8 ' ifp_cmd-words c-struct .ifp_cmd
also ifp_cmd-words definitions

' .x 0 struct-field cmd_ifp_request
' .x 40 struct-field cmd_ifp_response
' .x 80 ptr-field cmd_pkt
' .x 84 ptr-field cmd_forw
' .x 88 ptr-field cmd_cdbp
' .x 8c ptr-field cmd_scbp
' .x 90 long-field cmd_id
' .x 94 long-field cmd_dmacount
' .x 98 ptr-field cmd_dmahandle
' .x a0 struct-field cmd_dmacookie
' .x b0 long-field cmd_start_time
' .x b4 long-field cmd_deadline
' c@ ' .x 10 1 b8 array-field cmd_cdb
' .x c8 long-field cmd_flags
' .x cc short-field cmd_slot
' .x d0 long-field cmd_cdblen
' .x d4 long-field cmd_scblen
' .x d8 long-field cmd_privlen
' c@ ' .x 8 1 dc array-field cmd_pkt_private

kdbg-words definitions
previous

\ end ifp_cmd section


vocabulary ifp_request-words
40 ' ifp_request-words c-struct .ifp_request
also ifp_request-words definitions

' .x 0 struct-field req_header
' .x 4 long-field req_token
' .x 8 byte-field req_target
' .x 9 byte-field req_lun_trn
' .x a short-field req_cdblen
' .x c short-field req_flags
' .x e short-field req_reserved
' .x 10 short-field req_time
' .x 12 short-field req_seg_count
' l@ ' .x 10 4 14 array-field req_cdb
' .x 24 long-field req_byte_count
' noop ' .x 18 8 28 array-field req_dataseg

kdbg-words definitions
previous

\ end ifp_request section


vocabulary ifp_response-words
40 ' ifp_response-words c-struct .ifp_response
also ifp_response-words definitions

' .x 0 struct-field resp_header
' .x 4 long-field resp_token
' .x 8 short-field resp_scb
' .x a short-field resp_reason
' .x c short-field resp_state
' .x e short-field resp_status_flags
' .x 10 short-field resp_resp_info_len
' .x 12 short-field resp_sense_data_len
' .x 14 long-field resp_resid
' c@ ' .x 8 1 18 array-field resp_fcp_resp_info
' c@ ' .x 20 1 20 array-field resp_request_sense

kdbg-words definitions
previous

\ end ifp_response section


vocabulary ifp_biu_regs-words
100 ' ifp_biu_regs-words c-struct .ifp_biu_regs
also ifp_biu_regs-words definitions

' .x 0 short-field ifp_bus_flash_addr
' .x 2 short-field ifp_bus_flash_data
' .x 4 short-field ifp_bus_reserved
' .x 6 short-field ifp_bus_icsr
' .x 8 short-field ifp_bus_icr
' .x a short-field ifp_bus_isr
' .x c short-field ifp_bus_sema
' .x e short-field ifp_pci_nvram
' .x 10 short-field ifp_mailbox0
' .x 12 short-field ifp_mailbox1
' .x 14 short-field ifp_mailbox2
' .x 16 short-field ifp_mailbox3
' .x 18 short-field ifp_mailbox4
' .x 1a short-field ifp_mailbox5
' .x 1c short-field ifp_pci_mailbox6
' .x 1e short-field ifp_pci_mailbox7
' .x 20 short-field ifp_cdma_control
' .x 22 short-field ifp_cdma_status
' w@ ' .x 4 2 24 array-field ifp_cdma_gap0
' .x 28 short-field ifp_cdma_fifo_port
' w@ ' .x 6 2 2a array-field ifp_cdma_gap1
' .x 30 short-field ifp_cdma_count
' w@ ' .x 6 2 32 array-field ifp_cdma_gap2
' .x 38 short-field ifp_cdma_addr0
' .x 3a short-field ifp_cdma_addr1
' .x 3c short-field ifp_pci_cdma_addr2
' .x 3e short-field ifp_pci_cdma_addr3
' .x 40 short-field ifp_tdma_control
' .x 42 short-field ifp_tdma_status
' w@ ' .x 4 2 44 array-field ifp_tdma_gap0
' .x 48 short-field ifp_tdma_frame_size
' .x 4a short-field ifp_tdma_frame_counter
' .x 4c short-field ifp_tdma_seq_count_lo
' .x 4e short-field ifp_tdma_seq_count_hi
' .x 50 short-field ifp_tdma_count_lo
' .x 52 short-field ifp_tdma_count_hi
' w@ ' .x 4 2 54 array-field ifp_tdma_gap1
' .x 58 short-field ifp_tdma_addr0
' .x 5a short-field ifp_tdma_addr1
' .x 5c short-field ifp_pci_tdma_addr2
' .x 5e short-field ifp_pci_tdma_addr3
' .x 60 short-field ifp_rdma_control
' .x 62 short-field ifp_rdma_status
' .x 64 short-field ifp_rdma_rds_lo
' .x 66 short-field ifp_rdma_rds_hi
' .x 68 short-field ifp_rdma_gap0
' .x 6a short-field ifp_rdma_payload_count
' w@ ' .x 4 2 6c array-field ifp_rdma_gap1
' .x 70 short-field ifp_rdma_count_lo
' .x 72 short-field ifp_rdma_count_hi
' w@ ' .x 4 2 74 array-field ifp_rdma_gap2
' .x 78 short-field ifp_rdma_addr0
' .x 7a short-field ifp_rdma_addr1
' .x 7c short-field ifp_pci_rdma_addr2
' .x 7e short-field ifp_pci_rdma_addr3
' .x 80 struct-field ifp_un

kdbg-words definitions
previous

\ end ifp_biu_regs section


vocabulary udf_fid-words
c ' udf_fid-words c-struct .udf_fid
also udf_fid-words definitions

' .x 0 short-field udfid_len
' .x 2 short-field udfid_prn
' .x 4 long-field udfid_icb_lbn
' .x 8 long-field udfid_uinq_lo

kdbg-words definitions
previous

\ end udf_fid section


vocabulary ud_part-words
54 ' ud_part-words c-struct .ud_part
also ud_part-words definitions

' .x 0 short-field udp_flags
' .x 2 short-field udp_number
' .x 4 long-field udp_seqno
' .x 8 long-field udp_access
' .x c long-field udp_start
' .x 10 long-field udp_length
' .x 14 long-field udp_unall_loc
' .x 18 long-field udp_unall_len
' .x 1c long-field udp_freed_loc
' .x 20 long-field udp_freed_len
' .x 24 long-field udp_nfree
' .x 28 long-field udp_nblocks
' .x 2c long-field udp_last_alloc
' .x 30 long-field udp_cache_count
' l@ ' .x 20 4 34 array-field udp_cache

kdbg-words definitions
previous

\ end ud_part section


vocabulary ud_map-words
58 ' ud_map-words c-struct .ud_map
also ud_map-words definitions

' .x 0 long-field udm_flags
' .x 4 short-field udm_vsn
' .x 6 short-field udm_pn
' .x 8 long-field udm_vat_icb
' .x c long-field udm_nent
' .x 10 ptr-field udm_count
' .x 14 ptr-field udm_bp
' .x 18 ptr-field udm_addr
' .x 1c long-field udm_plen
' .x 20 long-field udm_nspm
' .x 24 long-field udm_spsz
' l@ ' .x 10 4 28 array-field udm_loc
' l@ ' .x 10 4 38 array-field udm_sbp
' l@ ' .x 10 4 48 array-field udm_spaddr

kdbg-words definitions
previous

\ end ud_map section


vocabulary udf_vfs-words
108 ' udf_vfs-words c-struct .udf_vfs
also udf_vfs-words definitions

' .x 0 ptr-field udf_vfs
' .x 4 ptr-field udf_next
' .x 8 ptr-field udf_wnext
' .x c ptr-field udf_vds
' .x 10 ptr-field udf_iseq
' .x 14 ptr-field udf_root
' .x 18 ptr-field udf_devvp
' .x 1c ptr-field udf_fsmnt
' .x 20 long-field udf_flags
' .x 24 long-field udf_mtype
' .x 28 long-field udf_rdclustsz
' .x 2c long-field udf_wrclustsz
' .x 30 ext-field udf_maxfsize
' .x 38 long-field udf_maxfbits
' c@ ' .x 20 1 3c array-field udf_volid
' .x 5c short-field udf_tsno
' .x 60 long-field udf_lbsize
' .x 64 long-field udf_lbmask
' .x 68 long-field udf_l2b_shift
' .x 6c long-field udf_l2d_shift
' .x 70 long-field udf_npart
' .x 74 ptr-field udf_parts
' .x 78 long-field udf_nmaps
' .x 7c ptr-field udf_maps
' .x 80 long-field udf_fragmented
' .x 84 long-field udf_mark_bad
' .x 88 long-field udf_freeblks
' .x 8c long-field udf_totalblks
' .x 90 ext-field udf_maxuniq
' .x 98 long-field udf_nfiles
' .x 9c long-field udf_ndirs
' .x a0 long-field udf_miread
' .x a4 long-field udf_miwrite
' .x a8 long-field udf_mawrite
' .x ac long-field udf_time
' .x b0 long-field udf_mod
' .x b4 long-field udf_clean
' .x b8 struct-field udf_lock
' .x c0 struct-field udf_rename_lck
' .x c8 ptr-field udf_pvd
' .x cc ptr-field udf_lvd
' .x d0 ptr-field udf_lvid
' .x d4 long-field udf_mvds_loc
' .x d8 long-field udf_mvds_len
' .x dc long-field udf_rvds_loc
' .x e0 long-field udf_rvds_len
' .x e4 long-field udf_iseq_loc
' .x e8 long-field udf_iseq_len
' .x ec short-field udf_fsd_prn
' .x f0 long-field udf_fsd_loc
' .x f4 long-field udf_fsd_len
' .x f8 short-field udf_ricb_prn
' .x fc long-field udf_ricb_loc
' .x 100 long-field udf_ricb_len
' .x 104 long-field udf_root_blkno

kdbg-words definitions
previous

\ end udf_vfs section


vocabulary icb_ext-words
20 ' icb_ext-words c-struct .icb_ext
also icb_ext-words definitions

' .x 0 short-field ib_flags
' .x 2 short-field ib_prn
' .x 4 long-field ib_block
' .x 8 long-field ib_count
' .x 10 ext-field ib_offset
' .x 18 long-field ib_marker1
' .x 1c long-field ib_marker2

kdbg-words definitions
previous

\ end icb_ext section


vocabulary common_service-words
10 ' common_service-words c-struct .common_service
also common_service-words definitions


kdbg-words definitions
previous

\ end common_service section


vocabulary fcp_cmd-words
20 ' fcp_cmd-words c-struct .fcp_cmd
also fcp_cmd-words definitions


kdbg-words definitions
previous

\ end fcp_cmd section


vocabulary cq_hdr-words
4 ' cq_hdr-words c-struct .cq_hdr
also cq_hdr-words definitions


kdbg-words definitions
previous

\ end cq_hdr section

