-
address ::binding_hash_entry
- 指定されたカーネル名とメジャー番号のバインディングハッシュテーブルエントリ (構造体 bind) のアドレスを使用して、ノードバインディング名、メジャー番号、および次の要素へのポインタを表示します。
-
[ address ] ::dev2major <dev_t>
- dev_t をメジャー番号に変換します。
> 4500000006::dev2major
0x45 (0t69)
-
[ address ] ::dev2minor <dev_t>
- dev_t をメジャー番号に変換します。
> 4500000006::dev2minor
0x6 (0t6)
-
address ::dev2snode
- dev_t を snode に変換します。
> e400000000::dev2snode
3000bd6d738
3000bd6d6a0
> 3000bd6d738::print struct snode s_vnode |::vnode2path
/devices/pseudo/zfs@0:zfs
-
[ address ] ::devbindings [-qs] [device-name | major-num]
- 名前を指定されたドライバについてすべてのインスタンスのリストを表示します。インスタンスごとに 1 つのエントリの出力、つまり、先頭から、構造体 dev_info へのポインタ ($<devinfo または ::devinfo で表示可能)、ドライバ名、インスタンス番号、そのインスタンスに関連するドライバとシステムのプロパティーが表示されます。
-q |
デバイスノードのクイックサマリだけが表示されます |
-s |
dev_info 構造体の要約を表示します |
> ::devbindings zfs
3000628e058 zfs, instance #0 (driver name: zfs)
Driver properties at 3000ae5a140:
name='Nblocks' type=int64 items=1 dev=(228,2)
value=0000000000200000
name='Size' type=int64 items=1 dev=(228,2)
value=0000000040000000
name='name' type=string items=1 dev=(228,2)
value='rpool/swap'
name='Nblocks' type=int64 items=1 dev=(228,1)
value=0000000000200000
name='Size' type=int64 items=1 dev=(228,1)
value=0000000040000000
name='name' type=string items=1 dev=(228,1)
value='rpool/dump'
> ::devbindings -s zfs
DEVINFO MAJ REFCNT NODENAME NODESTATE
INST CIRCULAR BINDNAME STATE
THREAD FLAGS
000003000628e058 228 8 zfs@0 DS_READY
0 0 zfs <S_EVADD,S_NEED_RESET>
0 <>
> ::devbindings -q vdc
30002bff0c8 SUNW,sun4v-disk, instance #0 (driver name: vdc)
30002bfee00 SUNW,sun4v-disk, instance #1 (driver name: vdc)
30002bfeb38 SUNW,sun4v-disk, instance #2 (driver name: vdc)
-
address ::devinfo [-qs]
- devinfo ノードに関連するシステムプロパティーおよびドライバプロパティーを出力します。
-q |
デバイスノードのクイックサマリだけが表示されます。 |
-s |
dev_info 構造体の要約を表示します |
> ffffff00c96b8060::devinfo
ffffff00c96b8060 sd, instance #0 (driver name: sd)
System properties at ffffff00cea84bd0:
name='lun' type=int items=1
value=00000000
name='target' type=int items=1
value=00000000
name='class' type=string items=1
value='scsi'
Driver properties at ffffff00ce9d10b0:
name='pm-components' type=string items=3
value='NAME=spindle-motor' + '0=off' + '1=on'
name='pm-hardware-state' type=string items=1
value='needs-suspend-resume'
name='ddi-failfast-supported' type=any items=0
name='ddi-kernel-ioctl' type=any items=0
name='fm-ereport-capable' type=any items=0
name='removable-media' type=any items=0
Hardware properties at ffffff00cea84f68:
name='inquiry-revision-id' type=string items=1
value='0.15'
name='inquiry-product-id' type=string items=1
value='QEMU DVD-ROM'
name='inquiry-vendor-id' type=string items=1
value='QEMU'
name='inquiry-device-type' type=int items=1
value=00000005
name='variant' type=string items=1
value='atapi'
Global properties at ffffff00c620f088:
name='ddi-devid-registrant' type=int items=1
value=00000001
-
address ::devinfo2driver
- devinfo ノードに関連するドライバ(もしあれば)の名前を出力します。
> ffffff00c96b8060::devinfo2driver
Driver 'sd' is associated with devinfo ffffff00c96b8060.
-
[ address ] ::devnames [-vm] [num]
- カーネルの devnames テーブルと dn_head ポインタを表示します。このポインタは、ドライバインスタンスリストを指しています。
-v |
devnames テーブルの各エントリに格納されている追加情報が表示されます。 |
> ::devnames -v
NAME
cn
flags DN_CONF_PARSED,DN_LEAF_DRIVER
pl ffffff00c6022308
head ffffff00c6314970
instance 0
inlist 0
global_prop_ptr 0
zcons
flags
pl 0
head 0
instance 0
inlist 0
global_prop_ptr 0
glm
flags DN_CONF_PARSED
pl 0
head 0
instance 0
inlist 0
global_prop_ptr ffffff00c62179b8
properties at ffffff00c6215a68:
name='tape' type=string items=1
value='sctp'
name='scsi-initiator-id' type=int items=1
value=00000007
name='queue' type=string items=1
value='qsort'
name='flow_control' type=string items=1
value='dsngl'
-
[ address ] ::devt <dev_t>
- dev_t のメジャー番号とマイナー番号を表示します。
> 4500000006::devt
MAJOR MINOR
69 6
-
-
[ address ] ::ldi_handle [-i]
- ldi(layered driver identifier) ハンドルを表示します。アドレスを指定しない場合は、すべての ldi_handle_t 構造体を表示します。-i オプションを指定した場合、モジュール識別子の情報を表示します。
> ::ldi_handle
HANDLE REFS VNODE DRV MINOR EVENTS IDENT
000003000709a498 1 00000300088c8000 consms 0 - 00000300062b8068
00000300143b2b28 1 000003000abce180 vnet 1003 - 000003000bd83730
000003000709a3f0 1 00000300088c8300 conskbd 1 - 0000030008d19458
000003000709a4d0 1 00000300088c8300 conskbd 1 - 00000300062b8068
000003000bca5148 1 000003000c734800 ip6 262199 - 00000300080ec280
000003000bca5228 1 000003000c734a00 ip 262200 - 00000300080ec280
000003000bc9c888 1 000003000822b040 ip6 262196 - 00000300080ec280
0000030015847d50 1 00000300169d7300 ip6 262182 - 00000300080ec280
000003000bd88af0 1 000003000c435480 ip6 262193 - 00000300080ec280
000003000bc9b538 1 000003000c41d400 zfs 0 - 00000300062b8068
0000030014f06038 1 00000300169d7500 ip 262183 - 00000300080ec280
0000030014f060a8 1 000003001446b600 ip 262207 - 00000300080ec280
00000300143b2a10 1 000003000c41da00 vnet 1004 - 000003000ad87d18
00000300082eb768 1 0000030007095c40 vdc 0 - 00000300062b8a68
0000030008d641c0 1 00000300165fde40 ip6 262192 - 00000300080ec280
00000300143b2b60 1 000003000aadde00 vnet 1002 - 000003000bd83730
> 00000300143b2b28::ldi_handle -i
HANDLE VNODE DRV MINOR EVENTS IDENT DIP MINOR MODID MODULE NAME
00000300143b2b28 000003000abce180 vnet 1003 - 000003000bd83730 - - 78 udp
-
::ldi_ident
- ldi(layered driver identifier) 識別子を表示します。
> ::ldi_ident
IDENT REFS DIP MINOR MODID MODULE NAME
00000300062b8068 6 - - 1 genunix
00000300080ec280 13 - - 72 ip
000003000aa57ea0 1 0000030002bfa878 - 181 iscsi
000003000ad861e8 1 000003000628b6a0 - 169 bmc
000003000bd83730 2 - - 78 udp
0000030008d194a8 1 - 1 86 conskbd
00000300062b8a68 2 - - 14 zfs
000003000ad87d18 1 - - 79 udp6
000003001c63c0a0 1 - - 211 iptun
00000300062b8a18 1 - - 20 rpcmod
0000030008d19458 1 - - 89 wc
000003001c6a3a50 1 - - 218 sol_ucma
0000030008d19548 1 - - 90 tem
000003000a032d98 1 - - 157 rds
-
[ major-num ] ::major2name [major-num]
- 指定されたメジャー番号に該当するドライバ名を表示します。メジャー番号は、dcmd の前に式の形で、またはコマンド行引数として指定できます。
> 0x1c::major2name
sd
-
major-num ::major2snode
- 指定されたメジャー番号に関連する snode を表示します。
> 0xe4::major2snode |::print struct snode s_vnode |::vnode2path
/devices/pseudo/zfs@0:zfs
-
address ::minornodes
- 指定された devinfo ノードの minor node を表示します。
> ::devbindings -q vdc
30002bff0c8 SUNW,sun4v-disk, instance #0 (driver name: vdc)
30002bfee00 SUNW,sun4v-disk, instance #1 (driver name: vdc)
30002bfeb38 SUNW,sun4v-disk, instance #2 (driver name: vdc)
> 30002bff0c8::minornodes
ADDR DEV SPEC TYPE NAME NODETYPE
300073c7a68 4500000000 b DDI_MINOR a ddi_block
300073c7a18 4500000000 c DDI_MINOR a,raw ddi_block
300073c79c8 4500000001 b DDI_MINOR b ddi_block
300073c7978 4500000001 c DDI_MINOR b,raw ddi_block
300073c7928 4500000002 b DDI_MINOR c ddi_block
300073c78d8 4500000002 c DDI_MINOR c,raw ddi_block
300073c7888 4500000003 b DDI_MINOR d ddi_block
300073c7838 4500000003 c DDI_MINOR d,raw ddi_block
300073c77e8 4500000004 b DDI_MINOR e ddi_block
300073c7798 4500000004 c DDI_MINOR e,raw ddi_block
300073c7748 4500000005 b DDI_MINOR f ddi_block
300073c76f8 4500000005 c DDI_MINOR f,raw ddi_block
300073c76a8 4500000006 b DDI_MINOR g ddi_block
300073c7658 4500000006 c DDI_MINOR g,raw ddi_block
300073c7608 4500000007 b DDI_MINOR h ddi_block
300073c75b8 4500000007 c DDI_MINOR h,raw ddi_block
-
[ address ] ::msgbuf [-v]
- 直近の console messages を表示します。
> ::msgbuf
MESSAGE
UltraDMA mode 5 selected
Disk0: <Vendor 'Gen-ATA ' Product 'QEMU HARDDISK '>
cmdk0 at ata0 target 0 lun 0
cmdk0 is /pci@0,0/pci-ide@1,1/ide@0/cmdk@0,0
imported version 0 pool rpool using 33
root on rpool/ROOT/solaris fstype zfs
acpinex0 at root
acpinex: sb@0, acpinex1
pseudo-device: dld0
dld0 is /pseudo/dld@0
pcplusmp: i8042 (i8042) instance 0 irq 0x1 vector 0x41 ioapic 0x4 intin 0x1 is bound to cpu 3
pcplusmp: i8042 (i8042) instance 0 irq 0xc vector 0x42 ioapic 0x4 intin 0xc is bound to cpu 0
gfxp_fb: 1024x768 - 16 bit framebuffer mapped at ffffff00c93b1000
gfxp_fb: shadow framebuffer mapped at ffffff00cb6b1000
gfxp_fb: using 12x22 fonts
pcplusmp: pciclass,0c0300 (uhci) instance 0 irq 0x7 vector 0x81 ioapic 0x4 intin 0xb is bound to cpu 1
WARNING: /pci@0,0/pci1af4,1100@1,2 (uhci0): No SOF interrupts have been received, this USB UHCI host controller is unusable
8042 device: keyboard@0, kb8042 # 0
kb80420 is /pci@0,0/isa@1/i8042@1,60/keyboard@0
8042 device: mouse@1, mouse8042 # 0
:
:
-
[ address ] ::modctl2devinfo
- 指定された modctl アドレスに対応するすべてのデバイスノードを出力します。
> ffffff00c6254510::modctl2devinfo
ffffff00c630f300
> ffffff00c630f300::devinfo -q
ffffff00c630f300 clone, instance #0 (driver name: clone)
-
::name2major driver-name
- 指定されたデバイスドライバ名を使用して、そのメジャー番号を表示します。
> ::name2major sd
0x1c
-
-
[ devinfo ] ::prtconf [-cpv]
- devinfo で指定されたデバイスノードからカーネルデバイスツリーを表示します。devinfo を指定しないと、デフォルトでルートからデバイスツリーが表示されます。
-c |
指定されたデバイスノードの子だけが表示されます。 |
-p |
指定されたデバイスノードの祖先だけが表示されます。 |
-v |
各ノードに関連するプロパティーが表示されます。 |
> ffffff00c6314970::prtconf
DEVINFO NAME
ffffff00c50d1c28 i86pc (driver name: rootnex)
ffffff00c50c6018 pseudo, instance #0 (driver name: pseudo)
ffffff00c6314970 cn, instance #0 (driver name: cn)
-
[ address ] ::softstate [ instance-number ]
- 指定された softstate 状態ポインタ (ddi_soft_state_init(9F) のマニュアルページを参照) とデバイスインスタンス番号を使用して、そのインスタンスのソフトの状態を表示します。
-
binding_hash
- 指定されたカーネルバインディングハッシュテーブルエントリの配列 (構造体 bind **) のアドレスを使用して、ハッシュテーブル内のすべてのエントリを調べて、各構造体 bind のアドレスを戻します。
-
dev_info_node_cache
- dev_info_node_cache について反復適用します。
> ::walk dev_info_node_cache |::print struct dev_info devi_node_name
devi_node_name = 0x3000a444480 "sppp"
devi_node_name = 0x3000a444490 "bpf"
devi_node_name = 0x3000a4444a0 "fssnap"
devi_node_name = 0x3000a4444b0 "pm"
devi_node_name = 0x3000a4444c0 "pool"
devi_node_name = 0x300062a5b50 "ntwdt"
devi_node_name = 0x300062a5b60 "mdesc"
devi_node_name = 0x300062a5b70 "bmc"
:
:
-
devinfo
- 最初に、指定された dev_info 構造体の親に対して反復適用し、それらを最下位から世代順に戻します。次に、指定された devinfo 自身を戻します。その次に、指定された dev_info 構造体の子に対して、世代順に最上位から最下位まで反復適用します。
> ::walk devinfo |::print struct dev_info devi_node_name
devi_node_name = 0x30002508fe0 "SUNW,Sun-Fire-T200"
devi_node_name = 0x30005c9f880 "scsi_vhci"
devi_node_name = 0x300024f23a0 "packages"
devi_node_name = 0x30002508f80 "SUNW,builtin-drivers"
devi_node_name = 0x300024f2360 "deblocker"
devi_node_name = 0x300024f2350 "disk-label"
devi_node_name = 0x30002508f20 "terminal-emulator"
:
:
-
devinfo_children
- 最初に、指定された dev_info 構造体を戻し、次に、指定された devinfo の子に対して、世代順に最上位から最下位まで反復適用します。
> 30002bfa020::walk devinfo_children |::devinfo -q
30002bfa020 scsi_vhci, instance #0 (driver name: scsi_vhci)
-
devinfo_parents
- 指定された dev_info 構造体の親に対して、世代順に最上位から最下位まで反復適用し、次に、指定された devinfo を戻します。
> 30002bfa020::walk devinfo_parents |::devinfo -q
30002c03bd8 SUNW,Sun-Fire-T200 (driver name: rootnex)
30002bfa020 scsi_vhci, instance #0 (driver name: scsi_vhci)
-
devi_next
- 指定された dev_info 構造体の兄弟に対して反復適用します。
> 30002bfa020::walk devi_next |::devinfo -q
30002bfa020 scsi_vhci, instance #0 (driver name: scsi_vhci)
-
devnames
- devnames 配列のエントリに対して反復適用します。
> ::walk devnames |::print struct devnames dn_name
dn_name = 0x300025054c0 "cn"
dn_name = 0x30002505100 "pcata"
dn_name = 0x30002505518 "fm"
dn_name = 0x30002505520 "ib"
dn_name = 0x30002504fc8 "srn"
dn_name = 0x300025053e8 "dcpc"
dn_name = 0x300025055e0 "dtrace"
dn_name = 0x30002519c28 "fasttrap"
dn_name = 0x30002504f90 "fbt"
:
:
-
softstate
- 指定された softstate ポインタ (ddi_soft_state_init(9F) を参照) を使用して、ドライバ状態構造体への NULL 以外のポインタをすべて表示します。
-
softstate_all
- 指定された softstate ポインタ (ddi_soft_state_init(9F) を参照) を使用して、ドライバ状態構造体へのポインタをすべて表示します。未使用のインスタンスのポインタが NULL になることに注意してください。
0 件のコメント:
コメントを投稿