Re: [ART-Linux-Welcome] AP 側カーネルでのデバイス制御について
Brought to you by:
you1
|
From: Motohashi H. <mo...@gr...> - 2013-05-30 09:05:04
|
こんにちは、本橋です。 > 同じIRQ番号を共有する複数のデバイスを, BSP OSとAP OS(s)で > 別々に制御することは可能です. ええっ、そんなことが本当に可能なのー??と思いながら、実機で 試してみました。結果、他のデバイスと IRQ 番号を共有しているデ バイスを AP 側から制御することに成功しました。 ・試したデバイス:Silicon Image SIL31xx 普通に考えると、ある IRQ 番号で割り込み要求が上がって来たとし て、その割り込みをハンドルすべきドライバが BSP に組み込まれて いるのか、AP に組み込まれているのか、ART-Linux カーネルとして は分からないのではないかと思います。 そうすると、BSP と AP の両方で割り込みハンドラをコールしてみ るしかないような気がするのですが、そうすると発生している割り 込みとは関係ないカーネルの方で "irq xx: nobody cared" のエラ ーが発生してしまいそうな気がしています。 この辺りの事情をどのような仕組みで解決されているのか、ご教授 頂けますと幸いです。 > PCIバス上のデバイスを対象に設計したので,それ以外のデバイスではうまくいか > ない可能性が高いです.例えば,一つのUSBバス上の複数のデバイスを別々に制御 > することはできません.根本のUSBコントローラを複数のデバイスからアクセスす > ることになるからです. はい。VMware で実現しているような USB デバイス単位でのリダイ レクションを ART-Linux で実現するのは、ほぼ不可能であるという のは理解しています。 仮装化は色々とソフトで細工をすることができて便利は便利なので すが、パフォーマンスロスが結構大きいことや、仮想環境で動作し ているカーネル側からデバイスを直接制御することができないとい うリアルタイム制御システムにおいては致命的な制約があるので、 ここに ART-Linux の存在価値があると思っています。 # VT-d(IOMMU)が使える CPU であれば、PCI パススルーという技 # も使えるようではありますが…。 以上です。よろしくお願い致します。 --- 本橋弘臣 mo...@gr... |