murasaki.pci
Last modified: Sat Apr 10 23:36:42 JST 2004

murasaki.pciはPCI(Cardbus)イベント発生時に hotplug.murasakiが呼び出す Agentプログラムです。

[実行までの流れ]

カーネル(PCIイベント発生)
|
|
hotplug.murasaki
|
|
murasaki.pci

[実行内容]

pcimapから対応するモジュールを探す(1,2)
|
|
murasaki.dependを元に依存モジュール/エイリアスを展開する(3,4)
|
|
murasaki.precallを元にモジュール/デバイスに 対応するスクリプトを実行する(5,6)
|
|
モジュールをロード/アンロードする(7)
|
|
murasaki.callを元にモジュール/デバイスに 対応するスクリプトを実行する(8,9)

  1. hotplug.murasakiを通じてカーネルから渡された情報を元に murasaki.pcimapから一致するモジュールを探す。
    addの場合
    murasaki.blacklistに登録されているモジュールは無視される。
    removeの場合
    murasaki.stickylistに登録されているモジュールは無視される。
  2. 同様に modules.pcimapから一致するモジュールを探す。
    addの場合
    murasaki.blacklistに登録されているモジュールは無視される。
    removeの場合
    murasaki.stickylistに登録されているモジュールは無視される。
  3. 得られたモジュールに依存するモジュールを、murasaki.dependから探す。
  4. 上記で得られたモジュールにエイリアスがあれば、展開する。
    展開されたモジュールがmurasaki.blacklistに登録されていれば、無視される。
    addの場合
    展開されたモジュールがmurasaki.blacklistに登録されていれば無視される。
    removeの場合
    展開されたモジュールがmurasaki.stickylistに登録されていれば無視される。
    (全モジュールのリストが完成)
  5. murasaki.precallから各モジュールに対応したスクリプトを探し、 実行する。
  6. murasaki.precallに[pci]で指定されている、スクリプトを実行する。
  7. モジュールをロード/アンロードする。
    # アンロード時、他で使用しててbusyのモジュールはアンロードされない。
  8. murasaki.callから各モジュールに対応したスクリプトを探し、 実行する。
  9. murasaki.callに[pci]で指定されている、スクリプトを実行する。
    (今は指定なし)

[関連]


Back Shuu Go DotAster
Shuu Yamaguchi : shuu@dotAster.com