tail head cat sleep
QR code linking to this page

manページ  — STL

名称

stl, stli – Stallion Technologies 社製のマルチポートシリアルコントローラ用のドライバ

内容

書式

stl0 at isa? port <addr> tty irq <irq> stli0 at isa? port <io-addr> tty iomem <mem-addr> iosiz <size> flags <type> stli0 at eisa? port <io-addr> tty iomem <mem-addr> iosiz <size> flags <type>

解説

これは、Stallion Technologies 社製のマルチポートシリアルコントローラ用の カーネルドライバです。 ドライバは 2 種類あり、それぞれ異なる種類のボードに対応しています。 stl ドライバは EasyIO ボードと EasyConnection 8/32 ボードに対応しており、 stli ドライバは他の全ての種類のボードに対応しています。これには ONboard, Brumby, EasyConnection 8/64 が含まれます。

設定

システムにインストールされているそれぞれのボードについて、 カーネルの設定ファイルにエントリが必要です。 ボードの種類が異なると、それぞれに対して必要なオプションやパラメータも 少しずつ異なります。 ボードの種類によって、 stl ドライバか stli ドライバのいずれかが使われます。 stl ドライバと stli ドライバは 8 枚までのボードに対応できます。

ハードウェアの設定 (ディップスイッチ、ジャンパ等) はボードごとに 異なります。 ハードウェアの細かい設定については、ボードに付属している文書を ご覧ください。 あるいは、Stallion Technologies 社の WWW サイト (http://www.stallion.com) からもボードに関する文書を入手できます。

EasyIO 系と EasyConnection 8/32 系のボードでは stl ドライバを使います。 stl ドライバ用の ISA ボード設定エントリは、一般的に以下の形式です:

stlX at isa? port <io-addr> tty irq <irq>

X はボードに割り当てられているユニット番号です。 0 から 7 までの任意のユニークな番号が有効です。

ボードが使用する I/O アドレスは <io-addr> で指定します。 EasyIO ボードと EasyConnection 8/32-AT ボードはそれぞれ 0 から 0x400 の範囲の I/O アドレスを使用できます。

全ての EasyIO ボードと EasyConnection 8/32 ボードは割り込みを必要とし、 この割り込みは <irq> で指定します。 ISA ボードで有効な IRQ 値は 3, 4, 5, 7, 10, 11, 12, 15 です。 EasyIO-8M を除く全てのボードでは、割り込みはソフトウェア的に プログラムされています。

EasyConnection 8/32-AT ボードはセカンダリの I/O アドレス領域も使います。 このアドレス値は、ドライバのコード内で 0x280 に決め打ちされています。 全ての EasyConnection 8/32-AT ボードは同じセカンダリ I/O アドレス領域 を共有できます。

EasyConnection 8/32 PCI ボードは、起動時にシステムが自動的に検出します。 これらのボードに対しては、設定情報を予め与えておく必要はありません。 起動中には、 stl ドライバは EasyConnection 8/32 PCI ボードを検出したことと、このカード に関するいくつかの情報を示すメッセージを出力します。

以下では、 stl ドライバがサポートしている ISA ボードのそれぞれに対する設定エントリの 例をいくつか示します。 それぞれの設定例においては、各種類のボードに関する重要な詳細情報も いくつか述べます。

それぞれの EasyIO ボードは 8 バイトの I/O アドレス空間と 1 つの IRQ 線 を必要とします。 EasyIO ボード用の設定エントリは以下のようになるでしょう:

stl0 at isa? port 0x2a8 tty irq 15

このエントリは、I/O アドレスが 0x2a8 にあり、IRQ 15 を使っている EasyIO ボードを指定します。 I/O アドレスと IRQ 値は必要に応じて変更できます。

それぞれの 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 に 設定されています。 設定エントリは以下のようになります:

stl0 at isa? port 0x2a0 irq 10 tty

この設定は、プライマリの I/O アドレスが 0x2a0, セカンダリの I/O アドレス が 0x280, IRQ が 10 である EasyConnection 8/32-AT を指定します。

ONboard, Brumby, EasyConnection 8/64 系のボードでは stli ドライバを使います。 stli ドライバはこれらの系列のカードの ISA 版と EISA 版に対応しています。

stli ドライバ用の ISA ボード設定エントリは、一般的に以下の形式となります:

stliX at isa? port <io-addr> tty iomem <mem-addr> iosiz <size> flags <type>

X はボードに割り当てられたユニット番号です。 0 から 7 までの任意のユニークな番号が有効です。

ボードが使う I/O アドレスは <io-addr> で指定します。 サポートされているボードであっても、有効な I/O アドレスの制限は ボードの種類ごとにそれぞれ異なり、必要とされる I/O 空間の大きさも 異なります。

stli を用いる全てのボードは、操作できる共有メモリ領域を必要とします。 ボードの種類によって、必要な領域の大きさは 4k バイトから 64k バイトま で変わります。ボードの領域の大きさは設定エントリの <size> フィールドで指定し、この領域のアドレスは <mem-addr> フィールドで指定します。

flags フィールドは、このエントリが適用される特定のボードを指定します。 ドライバは必ずしも全ての種類のボードを実行時に識別するわけではないので、 ドライバはこのフィールドを必要とします。 有効なボードの種類を以下に示します:

ボード名                    種類      I/O サイズ

Brumby                           2     0x4000 ONboard                          4     0x10000 ONboard/E                        7     0x10000 EasyConnection 8/64-AT           23     0x1000 EasyConnection 8/64-EISA         24     0x10000

stli ドライバがサポートしているそれぞれのボードについて、設定例を以下にいく つか示します。それぞれの設定例では、各種類のボードに関する重要 な詳細情報もいくつか述べます。

EasyConnection 8/64-AT ボードは、4 バイトの I/O アドレス空間と 4k バイトのメモリ空間を必要とします。 設定エントリは以下のようになります:

stli0 at isa? port 0x2a0 tty iomem 0xcc000 iosiz 0x1000 flags 23

このエントリの flags フィールドでは、これが EasyConnection 8/64-AT ボード であることを指定しています。 I/O アドレスは 0x2a0 に設定され、メモリアドレスは 0xcc000 に設定されます。 iosiz パラメータは、メモリ領域のサイズとして 4k バイトを指定しています。

EasyConnection 8/64-EISA ボードは、メモリ空間に 64k バイトの領域を 必要とします。 この領域は 32 ビットメモリアドレス空間のどこに置いても構いません。 設定エントリは以下のようになります:

stli0 at eisa? port 0x2000 tty iomem 0x80000000 iosiz 0x10000 flags 24

flags フィールドは、これが EasyConnection 8/64-EISA ボードであることを 示すために用います。 I/O (ポート) アドレス資源は、ボードが挿さっている EISA スロットから得ま す。 各 EISA スロットには、システムのハードウェアから I/O アドレス空間の 一部が割り当てられます。 このアドレスは 0xX0000 となります(X はスロット番号)。 例で取り上げているボードはメモリアドレス 0x80000000 にあります。これは 2G バイトを表します。 iosiz パラメータはメモリ領域の大きさを指定します。この例では 64k バイトです。

それぞれの ONboard ISA ボードは 16 バイトの I/O 空間と、 メモリアドレス空間上の64k バイトの領域を必要とします。 ONboard の有効な I/O アドレスは 0x200 から 0x300 の範囲内です。 ONboard ISA の設定エントリは以下のようになります:

stli0 at isa? port 0x240 tty iomem 0xd0000 iosiz 0x10000 flags 4

このエントリでは、flags を 4 に設定することによって ONboard ISA を指定 しています。 このエントリでは I/O アドレス 0x240 と、メモリアドレス 0xd0000 の 64k バイトの領域を使っています。

各 ONboard/E ボードは 64k バイトのメモリ領域を必要とし、これは 32 ビットアドレス空間 (0 から 4G バイトまで) 上のどこでも構いません。 設定エントリは以下のようになります:

stli0 at eisa? port 0x3000 tty iomem 0xc0000000 iosiz 0x10000 flags 7

この例は、0xc0000000 (3G バイト) を共有メモリアドレスに使い、 スロット 3 にある ONboard/E を指定しています。

Brumby ボードは 1 枚につき 16 バイトの I/O アドレス空間と 共有メモリ空間の 4k バイトの領域を必要とします。 Brumby の有効な I/O アドレスの範囲は 0x300 から 0x400 までです。 Brumby の共有メモリ領域は、メモリアドレス空間の 0xc0000 から 0xdc000 の領域でなければなりません。 Brumby の設定エントリは以下のようになるでしょう:

stli0 at isa? port 0x360 tty iomem 0xc8000 iosiz 0x4000 flags 2

このエントリは、I/O アドレス 0x360 にあり、アドレス 0xc8000 にある 共有メモリ領域を使っている Brumby ボードを指定しています。

ポートに対するデバイスノードを作成する際には、正しいデバイス名である stl または stli を必ず使ってください。 それぞれのドライバには別のメジャー番号が割り当てられています。 したがって、たとえポートのデバイス名がそれぞれのドライバについて 同じであっても、デバイスノードのメジャー番号は異なります。 デバイスを作成するには MAKEDEV(8) スクリプトを使ってください。 stl ドライバに対しては ttyE と cue タグを使い、 stli ドライバに対しては ttyEi と cuei タグを使ってください。

インテリジェントなタイプのボード(ONboard, Brumby, EasyConnection 8/64) は、ファームウェアをダウンロードしなければポートが操作可能になりません。 これは stlload コマンドを使って行うことができます。 詳しい使い方についてはマニュアルページを参照してください。

関連ファイル

/dev/ttyE? 標準の着呼デバイス
/dev/ttyiE? 初期状態の着呼デバイス
/dev/ttylE? ロック状態の着呼デバイス
/dev/cue? 標準の発呼デバイス
/dev/cuie? 初期状態の発呼デバイス
/dev/cule? ロック状態の発呼デバイス
/dev/staliomem?
  ボード制御デバイス

ポート番号はボード 0 のポート 0 の 0 から始まる点に注意してください。 それぞれのボードには 64 個のポートスロットが割り当てられています。 したがって、2 番目のボードのポート番号は 64 から 127 までです。 デバイスを作成するには MAKEDEV(8) スクリプトを使ってください。 stl ドライバに対しては ttyE と cue タグを使い、 stli ドライバに対しては ttyEi と cuei タグを使ってください。

関連項目

stty(1), termios(4) [英語], tty(4), comcontrol(8), MAKEDEV(8), stlload(8), stlstats(8)

歴史

このドライバを最初に開発したのは Greg Ungerer <gerg@stallion.com> です。

FreeBSD STL (4) December 2, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the other numerous idiot lights which plague the modern driver. Rather, if the driver makes a mistake, a giant “?” lights up in the center of the dashboard. “The experienced driver,” says Thompson, “will usually know what's wrong.”