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サポート具 体 的 には、’value’ パラメータはSBSの 実 装 では 使 用 されませんが、<strong>RedHawk</strong>の 実 装 では 以 下 の方 法 でそのパラメータを 使 用 します:’value’ パラメータがゼロの 場 合 :この 呼 び 出 しは、 現 在 ユーザー 空 間 からbt_mmap()されていない 全 ての カーネル・バインド・バッファをアンバインドおよび 解 放 します。もしアンバインドよび 解 放 数 r 事 が 可 能 なバインド・バッファが 見 つからない 場 合 、この 呼 び出 しは 失 敗 し、 呼 び 出 し 元 へBT_EINVALが 返 されます。’value’ パラメータがゼロではない 場 合 :バインド・バッファの 追 加 情 報 15bigphysareaパッチパッチ15btpモジュモジュールのアンロードールのアンロード15この 呼 び 出 しは 特 定 のカーネル・バインド・バッファを1つだけアンバインドおよび 解 放 するためのものです。この 場 合 、 呼 び 出 し 元 の’value’ パラメータは、 以 前 のbt_get_info()BT_INFO_KMALLOC_BUF 呼 び 出 しで’value_p’ パラメータに 返 されたカーネル・バッファのアドレスと 同 じである 必 要 があります。もしこの 呼 び 出 しの’value’ パラメータに 指 定 したバッファのアドレスが 有 効 なカーネル・バインド・バッファと 一 致 しない 場 合 、この 呼 び 出 しは 失 敗 してBT_EINVALのエラー 値 を 返 します。もしこの 呼 び 出 しの’value’ パラメータが 有 効 なカーネル・バインド・バッファと 一 致 していても 現 在 そのバッファがユーザー 空 間 からbt_mmap()されている 場 合 、この 呼 び 出 しは 失 敗 してBT_EFAILの 値 が 返 されます。この 場 合 、この 呼 び 出 しが 成 功 する 前 にそのバッファをまずbt_unmmap()する 必 要 があります。以 降 のセクションではバインド・バッファのサポートが<strong>RedHawk</strong>の 下 で 影 響 を 及 ぼす 更 なる 領 域について 説 明 します。SBSテクノロジー・ソフトウェア・マニュアルに 明 記 されているbigphysareaパッチは、<strong>RedHawk</strong>sbsvme btpデバイス・ドライバでサポートされていないもしくは 必 要 とされていません。 複 数 の大 きなバインド・バッファを 使 用 することによって、VMEバスからiHawkのメモリへアクセスするためにVMEバス・スレーブ・ウィンドウ 空 間 の16MB 全 てをサポートすることが 可 能 です。sbsvme ’btp’ カーネル・モジュールは、 現 在 プロセスのアドレス 空 間 にbt_mmap()されたどのカーネル・バインド・バッファも 存 在 する 間 はアンロードすることが 出 来 ません。カーネル・ドライバ・モジュールがアンロードされる 前 にプロセスはまずbt_unmmap() 呼 び 出 しにてカーネル・バインド・バッファへのマッピングを 削 除 する 必 要 があります。現 在 ユーザー 空 間 からbt_mmap()されたバインド・バッファが 存 在 しない 場 合 、btpカーネル・モジュールは“/etc/init.d/sbsvme stop” コマンドにてアンロードすることが 可 能 で、 現 在 割 り 当 てられているどのカーネル・バインド・バッファも( 現 在 バインドされている 場 合 は)ハードウェアVMEバス・スレーブ・ウィンドウ 空 間 から 暗 黙 のうちにアンロードされ、 将 来 のカーネル・メモリ 割り 当 てのために 解 放 されます。15-11