RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
PCI-to-VMEサポートローカル・メモリ・サポートは、バインド・バッファ・サポートととてもよく 似 ています:• ローカル・メモリとバインド・バッファの 両 方 が、スレーブ・ウィンドウ 領 域 を 通 してVMEバスからアクセスが 可 能 です。• ローカル・メモリとバインド・バッファの 両 方 のバッファ 領 域 は、bt_read(), bt_write(),bt_mmap() 関 数 を 使 用 する 時 に 適遚 切 なデバイス・タイプを 指 定 することによってアクセスすることが 可 能 となります。ローカル・メモリとバインド・バッファの 各 サポートでの 主 な 遊 いは:• 1つのローカル・メモリ・バッファ 領 域 だけが 存 在 する 可 能 性 があります。このバッファはbtpドライバのロード 時 に 設 定 され、ドライバがアンロードされるまで 割 り 当 ておよびバインドされたままとなります。対 照 的 に 複 数 の 異 なるサイズのバインド・バッファは 動 的 に 割 り 当 ておよびバインド、 動 的にアンバインドおよび 解 放 することが 可 能 です。• ローカル・メモリ・バッファは 常 にVMEバス・スレーブ・ウィンドウ 領 域 の 底 辺 を 占 有 します。対 照 的 にバインド・バッファのためにユーザーがVMEバス 空 間 へバインドさせる 各 バインド・バッファの 位 置 /オフセットのどちらも 指 定 すること、またはカーネルに 動 的 に 使 用 する次 の 空 いている 位 置 /オフセットを 見 つけさせることが 可 能 です。VMEバス 空 間 へのマッピングおよびバインド 15bt_hw_map_vme 15<strong>RedHawk</strong>は 特 定 のプロセスとは 関 係 なく、マッピングを 作 成 したプロセスが 終 了 した 後 もそのまま 残 るVMEバス 空 間 マッピングを 作 成 する 方 法 を 提 供 します。このマッピングは 単 独 で 作 成 および 削 除 することが、bt_hw_map_vmeとbt_hw_unmap_vmeライブラリ 機 能 を 通 して、または/procファイル・システム・インターフェースへ 書 き 込 むことでどちらも 可 能 となります。I/O 空 間 の 領 域 へこのセグメントをバインドするためにshmbind(2)またはshmconfig(1)を 使 い、アクティブVMEバス 空 間 マッピングに 対 応 する 一 意 のPCIバス 開 始 アドレスを 取 得 および 使 用 することが 可 能 となります。この 機 能 は 以 下 のセクションで 説 明 されています。この 関 数 は 新 しいPCI-to-VMEバス・マッピングを 作 成 します。概 要引 数bt_error_t bt_hw_map_vme(bt_desc_t btd, void **phys_addr_p,bt_devaddr_t vme_addr, size_t map_len, bt_swap_t swapping)btd 成 功 したbt_open() 関 数 呼 び 出 しから 返 されたデバイス 記 述 子 。phys_addr_pこのマッピングのためのローカルPCIバス 開 始 /ベース・アドレスが 返されるユーザー 空 間 の 位 置 。15-13