AGP(4) | FreeBSD Kernel Interfaces Manual | AGP(4) |
名称
agp — Accelerated Graphics Port (AGP) への一般的なインタフェース書式
device agp解説
agp ドライバは、次のデバイスを制御する均一で抽象的な方法を提供します。
- Ali:
- M1541, M1621 と M1671 host to AGP ブリッジ
- AMD:
- 751, 761 と 762 host to AGP ブリッジ
- ATI:
- RS100, RS200, RS250 と RS300 AGP ブリッジ
- Intel:
- i820, i840, i845, i850 と i860 host to AGP ブリッジ
- Intel:
- i810, i810-DC100, i810E, i815, 830M, 845G, 845M, 852GM, 852GME, 855GM, 855GME, 865G, 915G と 915GM SVGA コントローラ
- Intel:
- 82443BX, 82443GX, 82443LX, 82815, 82820, 82830, 82840, 82845, 82845G, 82850, 82855, 82855GM, 82860, 82865, 82875P, E7205 と E7505 host to AGP ブリッジ
- NVIDIA:
- nForce と nForce2 AGP コントローラ
- SiS:
- 530, 540, 550, 620, 630, 645, 645DX, 648, 650, 651, 655, 661, 730, 735, 740, 741, 745, 746, 760 と 5591 host to AGP ブリッジ
- VIA:
- 3296, 82C597, 82C598, 82C691, 82C694X, 82C8363, 8235, 8237, 8361, 8367, 8371, 8377, 8501, 8601, 862x, 8633, 8653, 8703, 8753, 8754, 8763, 8783, KT880, PM800, PM880, PN800, PN880, PT880, XM266 と XN266 host to PCI ブリッジ
agp の最も一般的なアプリケーションは、Intel i81x コントローラで X(7) を実行することです。
IOCTL
< sys/agpio.h> で定義された /dev/agpgart で、次の ioctl(2) 操作を実行することができます:- AGPIOC_INFO
-
agp システムの状態を返します。結果は、次の構造体へのポインタです:
typedef struct _agp_info { agp_version version; /* ドライバのバージョン */ uint32_t bridge_id; /* ブリッジのベンダ/デバイス */ uint32_t agp_mode; /* ブリッジのモード情報 */ off_t aper_base; /* アパーチャのベース */ size_t aper_size; /* アパーチャのサイズ */ size_t pg_total; /* 最大ページ (swap + system) */ size_t pg_system; /* 最大ページ (system) */ size_t pg_used; /* 現在使用中のページ */ } agp_info;
- AGPIOC_ACQUIRE
- このクライアントによって使用される AGP チップセットの制御を取得します。 AGP チップセットが別のクライアントによって既に取得されるなら、 EBUSY を返します。
- AGPIOC_RELEASE
- AGP チップセットの制御を解放します。割り付けられたメモリは、アンバインドも解放しません。それは、必要なら、操作するクライアントの責任です。
- AGPIOC_SETUP
-
レリバント (関連) モードで AGP ハードウェアを利用可能にします。この
ioctl(2) は、次の構造体を取ります:
typedef struct _agp_setup { uint32_t agp_mode; /* ブリッジのモード情報 */ } agp_setup;
モードビットは、 < sys/agpio.h> で定義されています。
- AGPIOC_ALLOCATE
-
マッピングに適した物理的なメモリを AGP アパーチャに割り付けます。この
ioctl(2) は、次の構造体を取ります:
typedef struct _agp_allocate { int key; /* 割り付けのタグ */ size_t pg_count; /* ページ数 */ uint32_t type; /* 0 == 通常, 他は, devspec */ uint32_t physical; /* デバイス特有 (いくつかの * デバイスは, gatt テーブルの後ろ * で実際のページの物理アドレスを * 必要とします) */ } agp_allocate;
ハンドルを割り付けられたメモリを返します。
- AGPIOC_DEALLOCATE
- 渡されたハンドルに関連している以前に割り付けられたメモリを解放します。
- AGPIOC_BIND
-
AGP アパーチャで与えられたオフセットで割り付けられたメモリをバインドします。メモリが既にバインドされているかまたはオフセットが AGP ページ境界にないなら、
EINVAL を返します。この
ioctl(2) は、次の構造体を取ります:
typedef struct _agp_bind { int key; /* 割り付けのタグ */ off_t pg_start; /* 居住する開始ページ */ } agp_bind;
割り付けのタグは、 AGPIOC_ALLOCATE によって返されたハンドルです。
- AGPIOC_UNBIND
-
AGP アパーチャからメモリをアンバインドします。メモリがバインドされていないなら、
EINVAL を返します。この
ioctl(2) は、次の構造体を取ります:
typedef struct _agp_unbind { int key; /* 割り付けのタグ */ uint32_t priority; /* ページアウトの優先順序 */ } agp_unbind;
関連ファイル
- /dev/agpgart
- AGP デバイスノード。
関連項目
X(7) ( ports/x11/xorg)歴史
agp ドライバは、 FreeBSD 4.1 ではじめて登場しました。November 28, 2007 | FreeBSD |