0

Xenプラットフォームで作業していますが、HVMドメインの割り込みをインターセプトして、キーボードの生データ(スキャンコード)を読み取りたいと考えています。

1つのアイデアは、ハイパーバイザーがパスUHCIフレームリスト->キーボードデバイスに関連するTD->データバッファーをたどって生データを取得することです。ただし、割り込みが生成されると、TDはTDリストから削除されています。このように、ハイパーバイザーはデータバッファーを見つけることができず、生データを読み取ることができません。

もう1つのアイデアは、キーボードのIOportを直接読み取ることです。

IOport 0x60と0x64を読み取ることでPS2キーボードの入力を取得できることは知っていますが、現在の作業デバイスはUSBキーボードです。

ここで私の質問は、IOportsを直接読み取ることによってUSBキーボードの入力生データを取得できるかどうかです。

可能であれば、それを達成する方法を簡単な例を挙げてください。

または、入力された生データを読み取る他の方法はありますか?

4

1 に答える 1

0

ゲストがそのような情報を読み取るためのエクスポートされたポート(たとえば、USBキーボード)がないようです。

しかし、UHCIコントローラーは、コントローラーがデータ転送を正常に完了した場合でも、リストからTDを自動的に削除しないことがわかりました。削除操作はuhci-irq関数で行われます

このようにして、関数uhci-irqが呼び出される前にデータバッファーを読み取ることができます。

于 2011-06-08T02:52:11.243 に答える