tail head cat sleep
QR code linking to this page

manページ  — BUS_CONFIG_INTR

名称

BUS_CONFIG_INTR – 割り込みの極性およびトリガモードの設定

内容

書式

#include <sys/param.h>
#include <sys/bus.h>

int
BUS_CONFIG_INTR(device_t dev, int irq, enum intr_trigger trig, enum intr_polarity pol);

解説

BUS_CONFIG_INTR() メソッドは、バスまたはデバイスのドライバが、親のバスに割り込み極性および トリガモードを提供することを可能にします。 これは通常は、ルートバス (例えば nexus) までの全ての経路を上がって行きます。 その全ての経路において、 実際にハードウェアをプログラムするために必要な動作がなされます。 BUS_CONFIG_INTR() メソッドは割り込み番号をとるため、 BUS_SETUP_INTR(9) より先に呼び出されることが必ずしも要求されませんが、当然だと仮定されます。

trig 引数は以下のいずれかです。
INTR_TRIGGER_CONFORM
  割り込みトリガモードは、デバイスがアタッチされているバスにとっての標準です。
INTR_TRIGGER_EDGE 割り込みは、エッジトリガされます。 これは、割り込み線の信号の立上りエッジによって、 割り込みが立ち上げられることを意味します。 その信号は通常、スパイクを発生させるように元の状態に戻ります。
INTR_TRIGGER_LEVEL 割り込みは、レベルトリガされます。 これは、割り込み線の信号が変化して、その割り込みのサービス完了までの間 変化せずに維持される時に、割り込みが立ち上げられることを意味します。 サービス完了後、信号は戻ります。

pol 引数は以下のいずれかです。
INTR_POLARITY_CONFORM
  割り込みの極性は、デバイスがアタッチされているバスにとっての標準です。
INTR_POLARITY_HIGH 割り込み線の電圧がハイになることによって、割り込みが活性化されます。
INTR_POLARITY_LOW 割り込み線の電圧がローになることによって、割り込みが活性化されます。

戻り値

成功時には 0 が返され、そうでなければ適切なエラーが返されます。

関連項目

BUS_SETUP_INTR(9), BUS_TEARDOWN_INTR(9), device(9), driver(9)

歴史

BUS_CONFIG_INTR() メソッドは FreeBSD 5.2 ではじめて登場しました。

作者

このマニュアルページは Marcel Moolenaar <marcel@xcllnt.net> によって書かれました。

BUS_CONFIG_INTR (9) January 6, 2005

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.”