HATM(4) | FreeBSD Kernel Interfaces Manual | HATM(4) |
名称
hatm — Fore/Marconi HE155 と HE622 ATM インタフェースのためのデバイスドライバ書式
device hatmdevice 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, noscramb と unassigned ( 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@FreeBSD.org>警告
64 ビット 66MHz PCI スロットに HE155 を入れるとき、マシンはハングアップするかもしれません。これは非常に早く POST で起こるので、表示さえオンになりません。 HE155 は 33MHz のスロット (32 か 64 ビットのいずれか) だけで稼働します。 HE622 カードは 64 ビットのスロットで問題なく動作します。bus_dmamap_sync(9) には NetBSD 関数にはある offset と len 引数が欠けているので、ドライバはバウンスバッファで動作しません。
May 15, 2003 | FreeBSD |