MSI割り込みについて

2
イスラエルエリカちゃん @syuu1228

やっぱりMSI割り込み周りはよく分からない…詳しい人教えてplz

2011-12-27 23:56:06
わたけん @wataken44

ある程度ならわかります RT @syuu1228: やっぱりMSI割り込み周りはよく分からない…詳しい人教えてplz

2011-12-28 00:01:56
イスラエルエリカちゃん @syuu1228

@wataken44 デバイスが持つ各MSI割り込みとCPUが持つLAPIC vectorとの紐付けの手順と、誰に対して設定しているのかがよくわからないんですが、ご存知ないですか

2011-12-28 00:08:41
イスラエルエリカちゃん @syuu1228

@wataken44 この関数を実行すると割り込み先CPUが変わるようなのだれけども、このMSIメッセージで何をやっているのかが分からず(~_~;) http://t.co/FJnpZeAQ

2011-12-28 00:10:08
イスラエルエリカちゃん @syuu1228

そもそも、Intel SDMの範囲なのか、違うのか。OSは誰に対して設定をしてるのか。

2011-12-28 00:11:40
わたけん @wataken44

@syuu1228 えーとまず、MSIそのものはPCIレイヤで見るとただのWriteでしかなくて、それをどう扱うかはPCIより上の層にまかされてます。Intelのアーキテクチャだと、Writeのアドレスを見て振り分け先を決めるようになってるようです

2011-12-28 00:27:54
わたけん @wataken44

@syuu1228 で、割り込み時に上げるWriteのアドレスはデバイスのPCIコンフィグレーション領域か、MMIO領域にあって、PCIドライバが設定するはず。これをうけたIOAPICから各LAPICへの割り込みのルーティングはIOAPICの設定。

2011-12-28 00:36:29
イスラエルエリカちゃん @syuu1228

@wataken44 legacy割り込みの時はIOAPICを経由するみたいですが、MSI割り込みの時でもルーティング設定はIOAPICへ行うので良いんですか?コードからはそう読めなかったんですが…(読めてないだけかも。

2011-12-28 00:39:31
わたけん @wataken44

@syuu1228 チップセットのデータシートを見るかぎりそのはずです。(e.g. http://t.co/NYO1aDOW 8.3あたり。重いファイルなので注意)。ひょっとするといろいろRedirectionができるみたいだけど設定なしでも動くのかも。

2011-12-28 00:47:51
イスラエルエリカちゃん @syuu1228

@wataken44 お、ページの指摘サンクスです!読んでみます!!

2011-12-28 00:48:39
わたけん @wataken44

@syuu1228 あとはboot.cの中でもなんかAPICみてるっぽいですが・・・ACPIが絡んできててワケワカメです (http://t.co/BFD8mnXu)

2011-12-28 01:00:39