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
- デバイスユニット番号を指定します。これが指定されないなら、ユニット番号は、使用されません。
歴史
altera_avgen デバイスドライバは、 FreeBSD 10.0 ではじめて登場しました。作者
altera_avgen デバイスドライバとこのマニュアルページは、 DARPA CRASH 研究プログラムの一環として、 DARPA/AFRL 契約 (FA8750-10-C-0237) (“CTSRD”) の下で SRI International と University of Cambridge Computer Laboratory によって開発されました。このデバイスドライバは、 によって書かれました。バグ
altera_avgen は、ユーザ空間のデバイスドライバの書き込みサポートすることを目的としています。しかしながら、それは、メモリマップされた (memory-mapped) I/O のみで、ユーザ空間への直接の書き込みを許可していません。 altera_avgen は、Altera's Avalon バスのようなシステムオンチップ (system-on-chip) バスに適切な、 nexus
バスアタッチメントだけをサポートしています。ターゲットのデバイスがオフの別のバスのタイプであるなら、追加のバスアタッチメントが要求されます。
August 18, 2012 | FreeBSD |