QEMU で実行されている仮想システムのプロセッサ レジスタと特定のメモリ アドレスにどのように書き込みますか?
私の望みは、QEMU の外部で実行されているユーザー空間プログラムからこれを達成することです。これは、割り込みを誘発し、プロセッサと仮想ハードウェアの実行を細かく制御するためです。
QEMU モニターは、パラメーターを読み取るか、マウスまたはキーボード イベントの単純な注入を行うことになっていますが、書き込みについては何も見ていません。
QEMUモニター内のGDBサーバーはあなたの目的に最適のようです。オプションの1つはgdb
プロトコルの実装であり、もう1つはgdb
コマンドラインを介して自身を駆動することです。
私はそれを少しテストしました:メモリのアタッチ、読み取り、書き込みは機能しているようです(私は自分が書いたものを読み取ります)。別のアドレスにジャンプすることも機能するようです。(call
コードを挿入できる場合は、理論的には何でもできます)。テキストモードのビデオメモリへの書き込みは機能しません(私は自分が書いたものを読むことすらできず、表示されているものは何も変わりません)。