(Currently, update to RELENG_4 is not scheduled) Obtained from: jpman Project <manjp@jp.FreeBSD.org>
191 lines
6.4 KiB
Groff
191 lines
6.4 KiB
Groff
.\" %Id: si.4,v 1.13 1998/06/08 06:11:59 jkoshy Exp %
|
|
.\" jpman %Id: si.4,v 1.3 2000/08/31 20:36:25 kuma Stab %
|
|
.\" The following requests are required for all man pages.
|
|
.\" WORD: callin 着呼(デバイス)[si,sio]
|
|
.\" WORD: dialin 着呼(デバイス)[si,sio]
|
|
.\" WORD: callout 発呼(デバイス)[si,sio]
|
|
.\"
|
|
.Dd September 16, 1995
|
|
.Os FreeBSD
|
|
.Dt SI 4 i386
|
|
.Sh NAME
|
|
.Nm si
|
|
.Nd Specialix International SI/XIO および SX インテリジェントシリアルカードのためのドライバ
|
|
.Sh 書式
|
|
.Cd "device si0"
|
|
.Cd "device si0 at isa? tty irq 12 iomem 0xd0000"
|
|
.Sh 解説
|
|
Specialix の SI/XIO および SX ハードウェアは
|
|
8 ポートから 32 ポートの RS-232 シリアルマルチプレクサを構成します。
|
|
.Pp
|
|
上の 1 行目は EISA と PCI ホストカード用で、2 行目は
|
|
ISA ホストカード用のものです。
|
|
.Pp
|
|
システムは 2 つの部分を使います:
|
|
「ホストアダプタ」は ISA、EISA あるいは PCI スロットに挿入され、
|
|
37 ピンケーブル形式の外部バスと、
|
|
制御とデータのバッファリングおよび処理を行う能力を提供します。
|
|
.Pp
|
|
このケーブルには「モジュール」が接続されます。
|
|
"SI" モジュールは 4 ポートあるいは 8 ポートの
|
|
バージョンがあります。"XIO" および "SX" モジュールは
|
|
8 ポートのバージョンだけがあります。
|
|
.Pp
|
|
ホストアダプタはデータをポーリングし、
|
|
モジュールとマシンの間の転送を行ないます。
|
|
ホストアダプタは、制御できる 32 個のポートのそれぞれについて
|
|
256 バイトの送信用および 256 バイトの受信用
|
|
FIFO バッファを提供します。
|
|
.Pp
|
|
XIO モジュールは 8 個のポートそれぞれについて 115,200 ボーで
|
|
使用できます。SI バージョンは 57,600 ボーです。
|
|
SX モジュールは 8 個のポートそれぞれについて最大 921,600 ボーで
|
|
使用できます。
|
|
.Pp
|
|
SX モジュールは SX ホストカードに接続されている場合にのみ
|
|
サポートされます。SI または XIO はどのホストカードでもサポート
|
|
されています。
|
|
.Pp
|
|
ホストアダプタは、ISA バスの 0xA0000 から 0xEFFFF までの間にある
|
|
伝統的な "穴" にある共有メモリブロックを使用します。
|
|
アダプタ自体はそれ以外の範囲にも設定できますが、そのメモリ領域は
|
|
明示的に
|
|
非キャッシュ状態にしておく必要があります。
|
|
ドライバは、このモードでの使用をまだサポートしていません。
|
|
.Pp
|
|
SX の ISA ホストカードは、8 ビットモードと 16 ビットモードを
|
|
切り替えるスイッチまたはジャンパを持っています。
|
|
このスイッチまたはジャンパは、8 ビットモードにセットされていなければ
|
|
なりません。
|
|
.Pp
|
|
ISA アダプタは IRQ 11, 12, 15 を利用できます
|
|
(さらに、SX ホストカードでは IRQ 9 と 10 が利用できます)。
|
|
.Pp
|
|
si デバイスドライバは、実行時にいくつかの設定を
|
|
.Xr sicontrol 8
|
|
ユーティリティで変更することができます。
|
|
.Pp
|
|
si デバイスドライバはクローズオンドレイン (drain-on-close) の
|
|
タイムアウトを設定するための
|
|
.Xr comcontrol 8
|
|
ユーティリティにも反応します。
|
|
.Pp
|
|
ドライバは 3 個の 操作可能な sysctl 変数を定義しています:
|
|
machdep.si_debug は、ドライバ全体のデバッグレベルを設定します。
|
|
これを利用するには、ドライバが SI_DEBUG フラグ付きでコンパイル
|
|
されている必要があります。
|
|
machdep.si_pollrate は、割り込みが消失したときのために
|
|
ドライバが 1 秒間に何回ポーリングするかを設定します。
|
|
machdep.si_realpoll は、毎回のポーリングの際に、割り込みが
|
|
発生したかのように扱うかどうかを設定します。
|
|
.Pp
|
|
si ドライバが制御する /dev のデバイスノードに対する
|
|
オープンは、
|
|
.Xr sio 4
|
|
ドライバと同じセマンティクスで動作します。
|
|
このドライバは、cua ポートの通常のセマンティクスと "初期状態の termios"
|
|
および "ロックされた termios" の設定を完全にサポートします。
|
|
簡単にまとめると、
|
|
O_NONBLOCK がセットされていない限り、tty ポートのオープンは
|
|
DCD が上がるまでブロックされます。
|
|
CLOCAL も効きます。これを設定すると、cua ポートのオープンは
|
|
常に成功しますが、ひとたび DCD が上がってからは、DCD の変化も効きます。
|
|
.Pp
|
|
si ドライバは SI/XIO ホストカードを最大 4 枚まで制御できます。
|
|
割り込みが足りないため、同時に使用できる SI/XIO ホストカードは
|
|
3 枚までです。
|
|
.Pp
|
|
マイナデバイス番号の下位 5 ビットは、モジュールクラスタ上のポート番号
|
|
を選択するために使われます。次の 2 ビットは 4 枚のホストアダプタカードの
|
|
どれを選択するかを決めます。これにより、このドライバ上で
|
|
最大 128 個のポートが利用可能になります。
|
|
.Pp
|
|
bit 7 で tty/着呼ポート (bit 7=0) と
|
|
cua/発呼ポート (bit 7=1) を区別します。
|
|
.Pp
|
|
bit 7 から bit 15 (
|
|
.Tn FreeBSD において )
|
|
はメジャーデバイス番号の影にあたるため利用できません。
|
|
.Pp
|
|
bit 16 が 1 であれば、そのデバイスノードは "初期状態" デバイスである
|
|
ことを示します。
|
|
この "初期状態" は、最初にオープンされた時にデバイスの
|
|
.Xr termios 4
|
|
の設定を準備するために使われます。
|
|
bit 17 が 1 であれば、"ロック状態" デバイスであることを示します。
|
|
"ロック状態" は、
|
|
.Xr termios 4
|
|
の設定の変更を阻止するために使われます。
|
|
.Pp
|
|
初期 / ロックの設定を操作するためには、
|
|
.Xr stty 1
|
|
コマンドを使うとよいでしょう。
|
|
"ロック" 変数の設定においては、
|
|
ロックデバイスのモードを有効にすると、
|
|
.Xr termios 4
|
|
のモードがロックされます。逆に、ロックデバイスのモードを無効にすると、
|
|
.Xr termios 4
|
|
のモードがロック解除されます。
|
|
.Sh ファイル
|
|
.Bl -tag -width /dev/si_control -compact
|
|
.It Pa /dev/si_control
|
|
.Xr sicontrol 8
|
|
が使用する、ドライバを制御するグローバルなファイル。
|
|
.It Pa /dev/ttyA*
|
|
ターミナル / 着呼ポート
|
|
.It Pa /dev/cuaA*
|
|
発呼ポート
|
|
.It Pa /dev/ttyiA*
|
|
初期状態 termios デバイス
|
|
.It Pa /dev/ttylA*
|
|
ロック状態 termios デバイス
|
|
.It Pa /dev/cuaiA*
|
|
発呼ポート用の初期状態 termios デバイス
|
|
.It Pa /dev/cualA*
|
|
発呼ポート用のロック状態 termios デバイス
|
|
.El
|
|
.Sh 関連項目
|
|
.Xr stty 1 ,
|
|
.Xr sio 4 ,
|
|
.Xr termios 4 ,
|
|
.Xr tty 4 ,
|
|
.Xr comcontrol 8 ,
|
|
.Xr sicontrol 8
|
|
.Sh 歴史
|
|
このドライバは Specialix 由来のドライバコードを
|
|
おおざっぱにベースとしており、
|
|
.An Andy Rutter Aq andy@specialix.co.uk
|
|
が BSDI で動かすために移植しました。
|
|
System V 用のドライバソースが ftp で
|
|
.Sy ftp.specialix.co.uk .
|
|
から入手可能です (入手可能でした)。
|
|
.Pp
|
|
Specialix International はこのドライバをサポートしていません。
|
|
.Sh 作者
|
|
.An Peter Wemm Aq peter@netplex.com.au
|
|
が Andy Rutter からコードを得て、
|
|
.Fx
|
|
へ移植しマニュアルページとともに提出しました。
|
|
.An Bruce Evans Aq bde@zeta.org.au
|
|
は移植作業の間、多くの助力をしてくれました。
|
|
.An Nick Sayer Aq nick@specialix.com
|
|
は EISA、PCI および SX のポートを書きました。
|
|
.Sh バグ
|
|
割り込みのチューニング比は、現在のところ
|
|
最大の効率を得られるように最適化されていないと思います。
|
|
.Pp
|
|
ポーリングモード (Specialix による標準ドライバの特徴) は
|
|
実装されていませんが、machdep.si_realpoll をオンにすることで
|
|
似た動作とすることができます。ポーリング周期は
|
|
machdep.si_pollrate で設定します (1/100 秒の単位です)。
|
|
.Pp
|
|
このドライバは、SX モジュールで 115,200 より大きいボーレートを
|
|
まだサポートしていません。
|
|
.Pp
|
|
伝統的な ISA の "穴" の外での動作はまだサポートされていません。
|
|
プローブルーチンから穴のテストを削除すれば動くはずですが。
|
|
.Pp
|
|
複数のホストカードはサポートされていますが、異なるバスタイプの
|
|
ホストカードの組み合わせについてはテストされていません。-
|
|
デバイスの番号づけに
|
|
問題があることが分かっています。予期しない結果を招くかもしれません。
|