Oracle® Solaris 11.2 デバイスドライバの記述

印刷ビューの終了

更新: 2014 年 9 月
 
 

システム構成の出力コマンドインタフェース

prtconf(1M) コマンドは、カーネルデバイス使用状態の情報を表示するように拡張されています。デフォルトの prtconf(1M) 出力は変更されていません。デバイス使用状態情報は、prtconf(1M) コマンドとともに詳細オプション (–v) を指定したときに表示されます。特定のデバイスに関する使用状態情報は、prtconf(1M) コマンド行で、そのデバイスへのパスを指定したときに表示されます。

prtconf -v

デバイスマイナーノードとデバイス使用状態情報を表示します。カーネルコンシューマと、各カーネルコンシューマが現在開いているマイナーノードを表示します。

prtconf path

path によって指定されたデバイスのデバイス使用状態情報を表示します。

prtconf -a path

path によって指定されたデバイスのデバイス使用状態情報と、path の上位ノードであるすべてのデバイスノードを表示します。

prtconf -c path

path によって指定されたデバイスのデバイス使用状態情報と、path の子であるすべてのデバイスノードを表示します。

使用例 14-6  デバイス使用状態情報

特定のデバイスに関する使用状態情報が必要なときには、有効な任意のデバイスパスを path パラメータの値として指定できます。

% prtconf /dev/cfg/c0
SUNW,isptwo, instance #0
使用例 14-7  上位ノードの使用状態情報

特定のデバイスと、その特定デバイスの上位ノードになっているすべてのデバイスノードに関する使用状態情報を表示するには、prtconf(1M) コマンドに –a フラグを指定します。上位ノードには、デバイスツリーのルートまでのすべてのノードが含まれます。prtconf(1M) コマンドに –a フラグを指定した場合は、デバイスの path 名も指定する必要があります。

% prtconf -a /dev/cfg/c0
SUNW,Sun-Fire
    ssm, instance #0
        pci, instance #0
            pci, instance #0
                SUNW,isptwo, instance #0
使用例 14-8  子ノードの使用状態情報

特定のデバイスと、その特定デバイスの子になっているすべてのデバイスノードに関する使用状態情報を表示するには、prtconf(1M) コマンドに –c フラグを指定します。prtconf(1M) コマンドに –c フラグを指定した場合は、デバイスの path 名も指定する必要があります。

% prtconf -c /dev/cfg/c0
SUNW,isptwo, instance #0
    sd (driver not attached)
    st (driver not attached)
    sd, instance #1
    sd, instance #0
    sd, instance #6
    st, instance #1 (driver not attached)
    st, instance #0 (driver not attached)
    st, instance #2 (driver not attached)
    st, instance #3 (driver not attached)
    st, instance #4 (driver not attached)
    st, instance #5 (driver not attached)
    st, instance #6 (driver not attached)
    ses, instance #0 (driver not attached)
    ...
使用例 14-9  階層化およびデバイスマイナーノードの情報 – キーボード

特定デバイスに関するデバイス階層化とデバイスマイナーノードの情報を表示するには、prtconf(1M) コマンドに –v フラグを指定します。

% prtconf -v /dev/kbd
conskbd, instance #0
    System properties:
        ...
    Device Layered Over:
        mod=kb8042 dev=(101,0)
            dev_path=/isa/i8042@1,60/keyboard@0
    Device Minor Nodes:
        dev=(103,0)
            dev_path=/pseudo/conskbd@0:kbd
                spectype=chr type=minor
                dev_link=/dev/kbd
        dev=(103,1)
            dev_path=/pseudo/conskbd@0:conskbd
                spectype=chr type=internal
            Device Minor Layered Under:
                mod=wc accesstype=chr
                    dev_path=/pseudo/wc@0

この例では、/dev/kbd デバイスがハードウェアキーボードデバイス (/isa/i8042@1,60/keyboard@0) の上に階層化されていることが示されています。また、/dev/kbd デバイスにはデバイスマイナーノードが 2 つあることが示されています。最初のマイナーノードには、ノードにアクセスするために使用できる /dev リンクがあります。2 つ目のマイナーノードは、ファイルシステムからはアクセスできない内部ノードです。2 つ目のマイナーノードは、ワークステーションコンソールである wc ドライバによって開かれています。この例の出力を、Example 14–12 の出力と比較してください。

使用例 14-10  階層化およびデバイスマイナーノードの情報 – ネットワークデバイス

この例は、現在接続されているネットワークデバイスをどのデバイスが使用しているかを示しています。

% prtconf -v /dev/iprb0
pci1028,145, instance #0
    Hardware properties:
        ...
    Interrupt Specifications:
        ...
    Device Minor Nodes:
        dev=(27,1)
            dev_path=/pci@0,0/pci8086,244e@1e/pci1028,145@c:iprb0
                spectype=chr type=minor
                alias=/dev/iprb0
        dev=(27,4098)
            dev_path=<clone>
            Device Minor Layered Under:
                mod=udp6 accesstype=chr
                    dev_path=/pseudo/udp6@0
        dev=(27,4097)
            dev_path=<clone>
            Device Minor Layered Under:
                mod=udp accesstype=chr
                    dev_path=/pseudo/udp@0
        dev=(27,4096)
            dev_path=<clone>
            Device Minor Layered Under:
                mod=udp accesstype=chr
                    dev_path=/pseudo/udp@0

この例では、iprb0 デバイスが udp および udp6 の下でリンクされたことが示されています。udpudp6 が使用しているマイナーノードへのパスは表示されていないことに注目してください。ここでパスが表示されていないのは、iprb ドライバの clone による開く操作でマイナーノードが作成され、その結果これらのノードのアクセスに使用できるファイルシステムのパスがないことが理由です。この例の出力を、Example 14–11 の出力と比較してください。