jpman project specific RCS keyword (jpman %Id) is obsolete, after manual entries are stored in freefall CVS repository. This old Id is useless and more worse it confuses users and bug reporters. So, this old Id is removed. Submitted by:jpman project <man-jp@jp.FreeBSD.org>
321 lines
11 KiB
Groff
321 lines
11 KiB
Groff
.\" Copyright (c) 1996 Greg Ungerer (gerg@stallion.oz.au).
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by Greg Ungerer.
|
|
.\" 4. Neither the name of the author nor the names of any co-contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd December 2, 1996
|
|
.Os FreeBSD
|
|
.Dt STL 4 i386
|
|
.Sh 名称
|
|
.Nm stl ,
|
|
.Nm stli
|
|
.Nd "Stallion Technologies 社製のマルチポートシリアルコントローラ用のドライバ"
|
|
.Sh 書式
|
|
.Cd "stl0 at isa? port <addr> tty irq <irq>"
|
|
.Cd "stli0 at isa? port <io-addr> tty iomem <mem-addr> iosiz <size> flags <type> "
|
|
.Cd "stli0 at eisa? port <io-addr> tty iomem <mem-addr> iosiz <size> flags <type> "
|
|
.Sh 解説
|
|
これは、Stallion Technologies 社製のマルチポートシリアルコントローラ用の
|
|
カーネルドライバです。
|
|
ドライバは 2 種類あり、それぞれ異なる種類のボードに対応しています。
|
|
.Nm stl
|
|
ドライバは EasyIO ボードと EasyConnection 8/32 ボードに対応しており、
|
|
.Nm stli
|
|
ドライバは他の全ての種類のボードに対応しています。これには
|
|
ONboard, Brumby, EasyConnection 8/64 が含まれます。
|
|
.Sh 設定
|
|
システムにインストールされているそれぞれのボードについて、
|
|
カーネルの設定ファイルにエントリが必要です。
|
|
ボードの種類が異なると、それぞれに対して必要なオプションやパラメータも
|
|
少しずつ異なります。
|
|
ボードの種類によって、
|
|
.Nm stl
|
|
ドライバか
|
|
.Nm stli
|
|
ドライバのいずれかが使われます。
|
|
.Nm stl
|
|
ドライバと
|
|
.Nm stli
|
|
ドライバは 8 枚までのボードに対応できます。
|
|
.Pp
|
|
ハードウェアの設定 (ディップスイッチ、ジャンパ等) はボードごとに
|
|
異なります。
|
|
ハードウェアの細かい設定については、ボードに付属している文書を
|
|
ご覧ください。
|
|
あるいは、Stallion Technologies 社の WWW サイト (http://www.stallion.com)
|
|
からもボードに関する文書を入手できます。
|
|
.Pp
|
|
EasyIO 系と EasyConnection 8/32 系のボードでは
|
|
.Nm stl
|
|
ドライバを使います。
|
|
.Nm stl
|
|
ドライバ用の ISA ボード設定エントリは、一般的に以下の形式です:
|
|
.Pp
|
|
.Cd "stlX at isa? port <io-addr> tty irq <irq>"
|
|
.Pp
|
|
.Ar X
|
|
はボードに割り当てられているユニット番号です。
|
|
0 から 7 までの任意のユニークな番号が有効です。
|
|
.Pp
|
|
ボードが使用する I/O アドレスは
|
|
.Ar <io-addr>
|
|
で指定します。
|
|
EasyIO ボードと EasyConnection 8/32-AT ボードはそれぞれ 0 から 0x400
|
|
の範囲の I/O アドレスを使用できます。
|
|
.Pp
|
|
全ての EasyIO ボードと EasyConnection 8/32 ボードは割り込みを必要とし、
|
|
この割り込みは
|
|
.Ar <irq>
|
|
で指定します。
|
|
ISA ボードで有効な IRQ 値は 3, 4, 5, 7, 10, 11, 12, 15 です。
|
|
EasyIO-8M を除く全てのボードでは、割り込みはソフトウェア的に
|
|
プログラムされています。
|
|
.Pp
|
|
EasyConnection 8/32-AT ボードはセカンダリの I/O アドレス領域も使います。
|
|
このアドレス値は、ドライバのコード内で 0x280 に決め打ちされています。
|
|
全ての EasyConnection 8/32-AT ボードは同じセカンダリ I/O アドレス領域
|
|
を共有できます。
|
|
.Pp
|
|
EasyConnection 8/32 PCI ボードは、起動時にシステムが自動的に検出します。
|
|
これらのボードに対しては、設定情報を予め与えておく必要はありません。
|
|
起動中には、
|
|
.Nm stl
|
|
ドライバは EasyConnection 8/32 PCI ボードを検出したことと、このカード
|
|
に関するいくつかの情報を示すメッセージを出力します。
|
|
.Pp
|
|
以下では、
|
|
.Nm stl
|
|
ドライバがサポートしている ISA ボードのそれぞれに対する設定エントリの
|
|
例をいくつか示します。
|
|
それぞれの設定例においては、各種類のボードに関する重要な詳細情報も
|
|
いくつか述べます。
|
|
.Pp
|
|
それぞれの EasyIO ボードは 8 バイトの I/O アドレス空間と 1 つの IRQ 線
|
|
を必要とします。
|
|
EasyIO ボード用の設定エントリは以下のようになるでしょう:
|
|
.Pp
|
|
.Cd "stl0 at isa? port 0x2a8 tty irq 15"
|
|
.Pp
|
|
このエントリは、I/O アドレスが 0x2a8 にあり、IRQ 15 を使っている
|
|
EasyIO ボードを指定します。
|
|
I/O アドレスと IRQ 値は必要に応じて変更できます。
|
|
.Pp
|
|
それぞれの EasyConnection 8/32-AT ボードは 2 組の I/O アドレスと
|
|
1 つの IRQ 線を必要とします。
|
|
プライマリの I/O アドレス領域は、大きさが 2 バイトで、かつシステム上に
|
|
あるそれぞれの EasyConnection 8/32-AT ボードについてユニークでなければ
|
|
なりません。
|
|
セカンダリの I/O アドレス領域は、大きさは 32 バイトですが、複数の
|
|
EasyConnection 8/32-AT ボードで共有できます。
|
|
このセカンダリの I/O アドレスは、ドライバのコード中で 0x280 に
|
|
設定されています。
|
|
設定エントリは以下のようになります:
|
|
.Pp
|
|
.Cd "stl0 at isa? port 0x2a0 irq 10 tty"
|
|
.Pp
|
|
この設定は、プライマリの I/O アドレスが 0x2a0, セカンダリの I/O アドレス
|
|
が 0x280, IRQ が 10 である EasyConnection 8/32-AT を指定します。
|
|
.Pp
|
|
ONboard, Brumby, EasyConnection 8/64 系のボードでは
|
|
.Nm stli
|
|
ドライバを使います。
|
|
.Nm stli
|
|
ドライバはこれらの系列のカードの ISA 版と EISA 版に対応しています。
|
|
.Pp
|
|
.Nm stli
|
|
ドライバ用の ISA ボード設定エントリは、一般的に以下の形式となります:
|
|
.Pp
|
|
.Cd "stliX at isa? port <io-addr> tty iomem <mem-addr> iosiz <size> flags <type>"
|
|
.Pp
|
|
.Ar X
|
|
はボードに割り当てられたユニット番号です。
|
|
0 から 7 までの任意のユニークな番号が有効です。
|
|
.Pp
|
|
ボードが使う I/O アドレスは
|
|
.Ar <io-addr>
|
|
で指定します。
|
|
サポートされているボードであっても、有効な I/O アドレスの制限は
|
|
ボードの種類ごとにそれぞれ異なり、必要とされる I/O 空間の大きさも
|
|
異なります。
|
|
.Pp
|
|
.Nm stli
|
|
を用いる全てのボードは、操作できる共有メモリ領域を必要とします。
|
|
ボードの種類によって、必要な領域の大きさは 4k バイトから 64k バイトま
|
|
で変わります。ボードの領域の大きさは設定エントリの
|
|
.Ar <size>
|
|
フィールドで指定し、この領域のアドレスは
|
|
.Ar <mem-addr>
|
|
フィールドで指定します。
|
|
.Pp
|
|
flags フィールドは、このエントリが適用される特定のボードを指定します。
|
|
ドライバは必ずしも全ての種類のボードを実行時に識別するわけではないので、
|
|
ドライバはこのフィールドを必要とします。
|
|
有効なボードの種類を以下に示します:
|
|
.Bd -literal -offset indent
|
|
ボード名 種類 I/O サイズ
|
|
|
|
Brumby 2 0x4000
|
|
ONboard 4 0x10000
|
|
ONboard/E 7 0x10000
|
|
EasyConnection 8/64-AT 23 0x1000
|
|
EasyConnection 8/64-EISA 24 0x10000
|
|
.Ed
|
|
.Pp
|
|
.Nm stli
|
|
ドライバがサポートしているそれぞれのボードについて、設定例を以下にいく
|
|
つか示します。それぞれの設定例では、各種類のボードに関する重要
|
|
な詳細情報もいくつか述べます。
|
|
.Pp
|
|
EasyConnection 8/64-AT ボードは、4 バイトの I/O アドレス空間と
|
|
4k バイトのメモリ空間を必要とします。
|
|
設定エントリは以下のようになります:
|
|
.Pp
|
|
.Cd "stli0 at isa? port 0x2a0 tty iomem 0xcc000 iosiz 0x1000 flags 23"
|
|
.Pp
|
|
このエントリの flags フィールドでは、これが EasyConnection 8/64-AT ボード
|
|
であることを指定しています。
|
|
I/O アドレスは 0x2a0 に設定され、メモリアドレスは 0xcc000 に設定されます。
|
|
.Ar iosiz
|
|
パラメータは、メモリ領域のサイズとして 4k バイトを指定しています。
|
|
.Pp
|
|
EasyConnection 8/64-EISA ボードは、メモリ空間に 64k バイトの領域を
|
|
必要とします。
|
|
この領域は 32 ビットメモリアドレス空間のどこに置いても構いません。
|
|
設定エントリは以下のようになります:
|
|
.Pp
|
|
.Cd "stli0 at eisa? port 0x2000 tty iomem 0x80000000 iosiz 0x10000 flags 24"
|
|
.Pp
|
|
flags フィールドは、これが EasyConnection 8/64-EISA ボードであることを
|
|
示すために用います。
|
|
I/O (ポート) アドレス資源は、ボードが挿さっている EISA スロットから得ま
|
|
す。
|
|
各 EISA スロットには、システムのハードウェアから I/O アドレス空間の
|
|
一部が割り当てられます。
|
|
このアドレスは 0xX0000 となります(X はスロット番号)。
|
|
例で取り上げているボードはメモリアドレス 0x80000000 にあります。これは
|
|
2G バイトを表します。
|
|
.Ar iosiz
|
|
パラメータはメモリ領域の大きさを指定します。この例では 64k バイトです。
|
|
.Pp
|
|
それぞれの ONboard ISA ボードは 16 バイトの I/O 空間と、
|
|
メモリアドレス空間上の64k バイトの領域を必要とします。
|
|
ONboard の有効な I/O アドレスは 0x200 から 0x300 の範囲内です。
|
|
ONboard ISA の設定エントリは以下のようになります:
|
|
.Pp
|
|
.Cd "stli0 at isa? port 0x240 tty iomem 0xd0000 iosiz 0x10000 flags 4"
|
|
.Pp
|
|
このエントリでは、flags を 4 に設定することによって ONboard ISA を指定
|
|
しています。
|
|
このエントリでは I/O アドレス 0x240 と、メモリアドレス 0xd0000 の 64k
|
|
バイトの領域を使っています。
|
|
.Pp
|
|
各 ONboard/E ボードは 64k バイトのメモリ領域を必要とし、これは
|
|
32 ビットアドレス空間 (0 から 4G バイトまで) 上のどこでも構いません。
|
|
設定エントリは以下のようになります:
|
|
.Pp
|
|
.Cd "stli0 at eisa? port 0x3000 tty iomem 0xc0000000 iosiz 0x10000 flags 7"
|
|
.Pp
|
|
.\" 'example' が抜けてません?
|
|
この例は、0xc0000000 (3G バイト) を共有メモリアドレスに使い、
|
|
スロット 3 にある ONboard/E を指定しています。
|
|
.Pp
|
|
Brumby ボードは 1 枚につき 16 バイトの I/O アドレス空間と
|
|
共有メモリ空間の 4k バイトの領域を必要とします。
|
|
Brumby の有効な I/O アドレスの範囲は 0x300 から 0x400 までです。
|
|
Brumby の共有メモリ領域は、メモリアドレス空間の 0xc0000 から
|
|
0xdc000 の領域でなければなりません。
|
|
Brumby の設定エントリは以下のようになるでしょう:
|
|
.Pp
|
|
.Cd "stli0 at isa? port 0x360 tty iomem 0xc8000 iosiz 0x4000 flags 2"
|
|
.Pp
|
|
このエントリは、I/O アドレス 0x360 にあり、アドレス 0xc8000 にある
|
|
共有メモリ領域を使っている Brumby ボードを指定しています。
|
|
.Sh 注
|
|
ポートに対するデバイスノードを作成する際には、正しいデバイス名である
|
|
.Nm stl
|
|
または
|
|
.Nm stli
|
|
を必ず使ってください。
|
|
それぞれのドライバには別のメジャー番号が割り当てられています。
|
|
したがって、たとえポートのデバイス名がそれぞれのドライバについて
|
|
同じであっても、デバイスノードのメジャー番号は異なります。
|
|
デバイスを作成するには
|
|
.Xr MAKEDEV 8
|
|
スクリプトを使ってください。
|
|
.Nm stl
|
|
ドライバに対しては ttyE と cue タグを使い、
|
|
.Nm stli
|
|
ドライバに対しては ttyEi と cuei タグを使ってください。
|
|
.Pp
|
|
インテリジェントなタイプのボード(ONboard, Brumby, EasyConnection 8/64)
|
|
は、ファームウェアをダウンロードしなければポートが操作可能になりません。
|
|
これは
|
|
.Nm stlload
|
|
コマンドを使って行うことができます。
|
|
詳しい使い方についてはマニュアルページを参照してください。
|
|
.Sh 関連ファイル
|
|
.Bl -tag -width "/dev/staliomem?" -compact
|
|
.It Pa /dev/ttyE?
|
|
標準の着呼デバイス
|
|
.It Pa /dev/ttyiE?
|
|
初期状態の着呼デバイス
|
|
.It Pa /dev/ttylE?
|
|
ロック状態の着呼デバイス
|
|
.It Pa /dev/cue?
|
|
標準の発呼デバイス
|
|
.It Pa /dev/cuie?
|
|
初期状態の発呼デバイス
|
|
.It Pa /dev/cule?
|
|
ロック状態の発呼デバイス
|
|
.It Pa /dev/staliomem?
|
|
ボード制御デバイス
|
|
.El
|
|
.sp
|
|
ポート番号はボード 0 のポート 0 の 0 から始まる点に注意してください。
|
|
それぞれのボードには 64 個のポートスロットが割り当てられています。
|
|
したがって、2 番目のボードのポート番号は 64 から 127 までです。
|
|
デバイスを作成するには
|
|
.Xr MAKEDEV 8
|
|
スクリプトを使ってください。
|
|
.Nm stl
|
|
ドライバに対しては ttyE と cue タグを使い、
|
|
.Nm stli
|
|
ドライバに対しては ttyEi と cuei タグを使ってください。
|
|
.Sh 関連項目
|
|
.Xr stty 1 ,
|
|
.Xr termios 4 ,
|
|
.Xr tty 4 ,
|
|
.Xr comcontrol 8 ,
|
|
.Xr MAKEDEV 8 ,
|
|
.Xr stlload 8 ,
|
|
.Xr stlstats 8
|
|
.Sh 歴史
|
|
このドライバを最初に開発したのは
|
|
.An Greg Ungerer Aq gerg@stallion.com
|
|
です。
|