EN JA
ALTERA_AVGEN(4)
ALTERA_AVGEN(4) FreeBSD Kernel Interfaces Manual ALTERA_AVGEN(4)

名称

altera_avgen一般的な Altera Avalon アタッチされたバス、メモリマップされたデバイスのためのドライバ

書式

device altera_avgen

/boot/device.hints の中は、次の通りです:
hint.altera_avgen.0.at="nexus0"
hint.altera_avgen.0.maddr=0x7f00a000
hint.altera_avgen.0.msize=20
hint.altera_avgen.0.width=4
hint.altera_avgen.0.fileio="rw"
hint.altera_avgen.0.devname="berirom"

解説

altera_avgen デバイスドライバは、一般的に、 Altera Avalon バスでメモリマップされたデバイスのサポートを行います。 device.hints エントリは、アドレス、サイズ、I/O 配置と使用される /dev デバイスノード名を設定します。 open(2), read(2), write(2)mmap(2) システムコール (と変異) は、 device.hints エントリを使用する強制された制約にしたがって、 altera_avgen デバイスノードで使用されます。読み込みと書き込みのマップされたメモリは、サポートされていますが、 altera_avgen は、現在ユーザ空間への直接のデバイスの割り込みをサポートしていません。

多くの device.hints サブフィールドは、 altera_avgen デバイスのインスタンスを設定するために利用可能です:

maddr
エクスポートするメモリ領域の基本物理アドレス。 width で整列されなければなりません。
msize
エクスポートするメモリ領域の長さ width で整列されなければなりません。
width
read(2)write(2) 操作が実効される粒度 (granularity)。より大きな要求は、 width サイズ の操作に分割されます。より小さな要求は、拒絶されます。 I/O 操作は、 width で整列されなければなりません。
fileio
許可されたファイル記述子の操作。 r は、 read(2) を認可します。 w は、 write(2) を認可します。
mmapio
許可された mmap(2) パーミッション。 w は、 PROT_WRITE を認可します。 r は、 PROT_READ を認可します。 x は、 PROT_EXEC を認可します。
devname
/dev に関連するデバイス名を指定します。
devunit
デバイスユニット番号を指定します。これが指定されないなら、ユニット番号は、使用されません。

関連項目

mmap(2), open(2), read(2), write(2)

歴史

altera_avgen デバイスドライバは、 FreeBSD 10.0 ではじめて登場しました。

作者

altera_avgen デバイスドライバとこのマニュアルページは、 DARPA CRASH 研究プログラムの一環として、 DARPA/AFRL 契約 (FA8750-10-C-0237) (“CTSRD”) の下で SRI International と University of Cambridge Computer Laboratory によって開発されました。このデバイスドライバは、 Robert N. M. Watson によって書かれました。

バグ

altera_avgen は、ユーザ空間のデバイスドライバの書き込みサポートすることを目的としています。しかしながら、それは、メモリマップされた (memory-mapped) I/O のみで、ユーザ空間への直接の書き込みを許可していません。

altera_avgen は、Altera's Avalon バスのようなシステムオンチップ (system-on-chip) バスに適切な、 nexus バスアタッチメントだけをサポートしています。ターゲットのデバイスがオフの別のバスのタイプであるなら、追加のバスアタッチメントが要求されます。

August 18, 2012 FreeBSD