EN JA
HATM(4)
HATM(4) FreeBSD Kernel Interfaces Manual HATM(4)

名称

hatmFore/Marconi HE155 と HE622 ATM インタフェースのためのデバイスドライバ

書式

device hatm
device utopia
device atm


options NATM

解説

hatm デバイスドライバは FORE (現在の Marconi) HE155 と HE622 ATM インタフェースカードをサポートします。ドライバは natm(4) フレームワーク、 netgraph(4) と HARP ATM スタックとインタフェースで接続します。それは PVC サービスだけを提供します。シグナル処理、ATMARP、ILMI、および他のより高いレイヤ (層) プロトコルは、 netgraph(4) か HARP を使用して実装されます。

IP のためにカードを設定するには、 natmip(4) を参照してください。

次の sysctl はドライバによってさらに、 utopia(4) によって取り扱われたもので認識されます:

hw.atm.hatm.natm_traffic
これは NATM pvc 接続に使用されるトラフィックタイプです。この変数のタイプは整数で、それは、値 0 (UBR) または値 1 (CBR) の一つでなければなりません。
hw.atm.hatm.natm_pcr
これは NATM CBR 接続に使用されるピークセルレートです。
hw.atm.hatm N .stats
デバイス特有の統計値を備えている uint32_t の配列を含んでいます。
hw.atm.hatm N .istats
内部のドライバの統計値を備えている uint32_t の配列を含んでいます。
hw.atm.hatm N .debug
(デバッグが有効な場合のみ。)
これらはデバッグフラグです。あり得るフラグについては src/sys/dev/hatm/if_hatmvar.h を参照してください。
hw.atm.hatm N .tsr
(デバッグが有効な場合のみ。)
これはすべての送信ステータスレジスタを含む配列です。それぞれ 4096 のあり得る VCC のために、15 の 32 ビットのレジスタがあります。
hw.atm.hatm N .tpd
(デバッグが有効な場合のみ。)
これはカードの現在の送信パケット記述子においてすべてを含む配列です。それぞれ 4096 のあり得る VCC のために、16 の 32 ビットのレジスタがあります。
hw.atm.hatm N .mbox
(デバッグが有効な場合のみ。)
これは mbox レジスタを含む配列です。
hw.atm.hatm N .cm
(デバッグが有効な場合のみ。)
これはすべての接続メモリレジスタを含む配列です。この配列の最初の 32 ビットの整数は ABR ベースアドレスです。
hw.atm.hatm N .heregs
(デバッグが有効な場合のみ。)
これは SUNI と FLASH ROM を含むすべてのカードレジスタを含む配列です。
hw.atm.hatm N .lbmem
(デバッグが有効な場合のみ。)
ローカルメモリの内容を返します。

ドライバは、メディアオプション sdh, noscrambunassigned ( utopia(4) 参照) をサポートします。

環境変数

デバイスにアタッチするとき、ドライバはデフォルトキューサイズが上書きされるべきであるかどうか調べるためにカーネル環境 ( kenv(1) を参照) をチェックします。次の変数は、(いずれかの基数の) 符号なし整数値としてチェックされ解釈されます:
hw.hatm N .rbps0_size
小さな受信バッファプール 0 のサイズです。このプールは生の AAL 接続を除いたすべてで使用されます。プールサイズは 4 と 8192 の間 (4 と 8192 も含んで) の 2 の冪乗でなければなりません。ドライバのアタッチのとき、この数の mbufs を割り付けます。
hw.hatm N .rbps0_thresh
小さな受信バッファプール 0 の割り込み閾値 (しきいち) です。プール中の空きのバッファの数がこの閾値まで下がるとき、ドライバがプールを再び満たすことができるように、割り込みを発生させます。
hw.hatm N .rbpl0_thresh
大きな受信バッファプール 0 のサイズです。このプールは生の AAL 接続を除いたすべてで使用されます。プールサイズは 4 と 8192 の間 (4 と 8192 も含んで) の 2 の冪乗でなければなりません。ドライバのアタッチのとき、この数の mbufs を割り付けます。
hw.hatm N .rbpl0_thresh
大きな受信バッファプール 0 の割り込み閾値 (しきいち) です。プール中の空きのバッファの数がこの閾値まで下がるとき、ドライバがプールを再び満たすことができるように、割り込みを発生させます。
hw.hatm N .rbrq0_size
受信バッファ返りキュー 0 のサイズです。このキューは、ドライバで受信されたフレームで満たされたバッファを返すために使用されます。このサイズは 1 と 16384 の間 (1 と 16384 も含んで) の 2 の冪乗でなければなりません。
hw.hatm N .rbrq0_thresh
受信バッファ返りキュー 0 の割り込み閾値 (しきいち) です。この閾値は例外的な場合にだけ引き起こされるはずです。
hw.hatm N .rbrq0_tout
受信バッファ返りキュー 0 の割り込みタイムアウトです。キューが空でないなら、この時間以降に割り込みが発生されます。数は内部カードが刻む数です。
hw.hatm N .rbrq0_pcnt
受信バッファ返りキュー 0 のパケットカウント閾値 (しきいち) です。この数のパケットがキューにあるなら、割り込みを発生させます。
hw.hatm N .rbps1_size
小さな受信バッファプール 1 のサイズです。このプールはすべての生の AAL 接続で使用されます。プールサイズは 4 と 8192 の間 (4 と 8192 も含んで) の 2 の冪乗でなければなりません。ドライバのアタッチのとき、この数の mbufs を割り付けます。
hw.hatm N .rbps1_thresh
小さな受信バッファプール 1 の割り込み閾値 (しきいち) です。プール中の空きのバッファの数がこの閾値まで下がるとき、ドライバがプールを再び満たすことができるように、割り込みを発生させます。
hw.hatm N .rbrq1_size
受信バッファ返りキュー 1 のサイズです。このキューは、ドライバで受信されたセルで満たされたバッファを返すために使用されます。このサイズは 1 と 16384 の間 (1 と 16384 も含んで) の 2 の冪乗でなければなりません。
hw.hatm N .rbrq1_thresh
受信バッファ返りキュー 1 の割り込み閾値 (しきいち) です。この閾値は例外的な場合にだけ引き起こされるはずです。
hw.hatm N .rbrq1_tout
受信バッファ返りキュー 1 の割り込みタイムアウトです。キューが空でないなら、この時間以降に割り込みが発生されます。数は内部カードが刻む数です。
hw.hatm N .rbrq1_pcnt
受信バッファ返りキュー 1 のパケットカウント閾値 (しきいち) です。この数のセルがキューにあるなら、割り込みを発生させます。
hw.hatm N .irq0_size
割り込みキュー 0 のサイズです。このサイズは 1 と 1023 の間 (1 と 16384 も含んで) でなければなりません。
hw.hatm N .irq0_thresh
割り込みキュー 0 の割り込み再トリガ閾値 (しきいち) です。キューを満杯とする状態がこの閾値に到達し割り込みが役立たなければ、新しい割り込みがトリガとなります。
hw.hatm N .tbrq0_size
送信バッファ返りキュー 0 のサイズです。このキューは、ドライバに戻された送信フレームの空のバッファをフィードバックするためにに使用されます。これは 1 と 4096 の間 (1 と 4096 も含んで) の 2 の冪乗でなければなりません。
hw.hatm N .tbrq0_thresh
送信バッファ返りキュー 0 の閾値 (しきいち) です。キューを満杯とする状態がこの点に到達するなら、割り込みが発生されます。
hw.hatm N .tpdrq_size
送信記述子レディ (ready) キューのサイズ。このキューはカードへ送信記述子を送り込むドライバによって使用されます。このサイズは 1 と 16384 の間 (1 と 16384 も含んで) の 2 の冪乗でなければなりません。
hw.hatm N .tpdmax
接続毎のアクティブな TPD の最大数です。これは、接続毎の未解決のパケットの塊の最大数を制御し、したがって、最大の遅延パケットはアダプタでキューのために持つことができます。 0 に設定されるなら、接続はすべての利用可能な TPD を使い果たすことができます。
hw.hatm N .mbuf_max_pages
小さな外部 mbufs に割り付けられたメモリページの最大数です。これは 0 であってはならないし、65536 より大きくあってはいけません。

診断

hatm0: <FORE HE> mem 0xd2600000-0xd26fffff irq 9 at device 15.0 on pci2 
hatm0: ForeRunnerHE 622, Rev. D, S/N 2949834, MAC=00:20:48:2d:02:ca

作者

Harti Brandt <harti@FreeBSD.org>

警告

64 ビット 66MHz PCI スロットに HE155 を入れるとき、マシンはハングアップするかもしれません。これは非常に早く POST で起こるので、表示さえオンになりません。 HE155 は 33MHz のスロット (32 か 64 ビットのいずれか) だけで稼働します。 HE622 カードは 64 ビットのスロットで問題なく動作します。

bus_dmamap_sync(9) には NetBSD 関数にはある offsetlen 引数が欠けているので、ドライバはバウンスバッファで動作しません。

May 15, 2003 FreeBSD