LinuxのPCIホットプラグってどう実装されてるの?
しかしPCI hotplugについて調べてもすぐにudevの話だし、PRSNT1/2をカーネルがどう扱ってるかについて書いてる人全くと言って良い程いないので悲しい
2016-06-01 20:25:02@naota344 PBD(PCI-e port driver)のprobeが走るタイミングがよく分かってないんですけど、PCIカードなりがホットプラグされたらACPIだとSCIが入るじゃないですか このSCIが入ったタイミングで呼ばれるハンドラ的なのってどこにあるんですか?
2016-06-01 23:38:34@naota344 あ ACPIのSCIはここの28ページに書いてありました すみません どちらかというとレガシー(not ACPI)の方を教えてもらいたいかも...m(_ _)m osdn.jp/projects/linux…
2016-06-01 23:58:02レガシーな手段だとホットプラグされると、INSRT1/2ピンがpull-downされると書いてあってINSRT1/2で検索したらdrivers/pci/hotplug/ibmphp_*あたりにしか無くて???って無ったのでその辺りを...
2016-06-02 00:02:50__pci_hp_register - register a hotplug_slot with the PCI hotplug subsystem
2016-06-02 00:05:31coccigrep があれば (struc xxx)->yyy みたいな検索ができて人生がはかどることになる
2016-06-02 00:22:09hotplug slotのenable_slotがどっかで呼ばれて、そいつが各legacyのcallback呼んでるんだが
2016-06-02 00:25:29でもCalled when the user wants to enable a specific pci slotだからautomaticでない気もするんだけどな
2016-06-02 00:26:30hotplug slot を入れると、 /sys 下にそのpciに対応したfileができるんで、そいつの power に 1 とか書きこむとplugされるという認識を現在持っている
2016-06-02 00:28:47ibmphp に関しては poll_hpc() が polling してprocess_changeinlatch() などしてるから、このへんにあるのかなと思ってるんだけどconfig copyしてるだけっぽいんだよな(あとdisable
2016-06-02 00:42:34