0

私の質問は、QEMU を使用してホスト os で実行されているゲスト os とそのホスト os の間で信号を転送する方法です。ゲスト os のスレッドによってホスト os で作成された共有メモリにいくつかのデータを書き込み、他のスレッドが必要です。ホストOSでそれを知っていて、データを読み取ることができますが、ホストOSのスレッドでポーリングを使用しないでください。これを達成する方法はありますか? あなたからの提案をありがとう!

4

1 に答える 1

1

Qemu はゲストに完全なシステムの抽象化を提供します。また、マシン間で共有メモリ IPC を使用することはできません。IPC が必要であることを知るために、qemu 逆アセンブリ機能を使用できる特別な命令を使用することをお勧めします。

手順 :

  1. ゲスト アプリで特別なマーカー命令を使用します。「int $100」としましょう。
  2. この命令が発生したときに呼び出されるヘルパー関数を qemu で作成します。
  3. ここで、qemu でコールバック関数を受け取ったら、データへのポインターとデータの長さを格納する既知の仮想アドレスを確認します。

終わり ..

于 2012-01-20T04:59:05.443 に答える