@wataken44 デバイスが持つ各MSI割り込みとCPUが持つLAPIC vectorとの紐付けの手順と、誰に対して設定しているのかがよくわからないんですが、ご存知ないですか
2011-12-28 00:08:41@wataken44 この関数を実行すると割り込み先CPUが変わるようなのだれけども、このMSIメッセージで何をやっているのかが分からず(~_~;) http://t.co/FJnpZeAQ
2011-12-28 00:10:08@syuu1228 えーとまず、MSIそのものはPCIレイヤで見るとただのWriteでしかなくて、それをどう扱うかはPCIより上の層にまかされてます。Intelのアーキテクチャだと、Writeのアドレスを見て振り分け先を決めるようになってるようです
2011-12-28 00:27:54@syuu1228 で、割り込み時に上げるWriteのアドレスはデバイスのPCIコンフィグレーション領域か、MMIO領域にあって、PCIドライバが設定するはず。これをうけたIOAPICから各LAPICへの割り込みのルーティングはIOAPICの設定。
2011-12-28 00:36:29@wataken44 legacy割り込みの時はIOAPICを経由するみたいですが、MSI割り込みの時でもルーティング設定はIOAPICへ行うので良いんですか?コードからはそう読めなかったんですが…(読めてないだけかも。
2011-12-28 00:39:31@syuu1228 チップセットのデータシートを見るかぎりそのはずです。(e.g. http://t.co/NYO1aDOW 8.3あたり。重いファイルなので注意)。ひょっとするといろいろRedirectionができるみたいだけど設定なしでも動くのかも。
2011-12-28 00:47:51@syuu1228 あとはboot.cの中でもなんかAPICみてるっぽいですが・・・ACPIが絡んできててワケワカメです (http://t.co/BFD8mnXu)
2011-12-28 01:00:39