ターゲットx86(またはターゲットアーチ=ホストアーチ)でx86をターゲットとするユーザーモードqemuを実行するとき、qemuはKVMを使用するか、コントロールをCPUに直接転送するか、コマンドを解釈しますか?
答え1
ユーザーモードがKVMを使用しないという間接的な証拠は次のとおりです。
ユーザーモードの実行可能ファイルにはオプションは表示されませんが、
qemu-x86_64 --help
システム全体の実行可能ファイルには--kvm
オプションが表示されます。qemu-system-x86_64 --help
以下では、入力命令とバイナリ翻訳命令を表示できます。
qemu-x86_64 -d in_asm,out_asm hello.out
今より興味深い質問は理論的に可能ですか?
確かではありませんが、おおよそgem5 エミュレータ同様のユーザーモード(システムコールエミュレーションと呼ばれる)を持つAMDは、少なくともこの可能性について真剣に調査し、次のように結論付けました。http://www.m5sim.org/wiki/images/5/53/2015_ws_12_KVM-in-SE.pdf
実際、2014年に何かがマージされました:adbaa4dfde96d5aaf84adf0ae4989ef880aad726 "kvm、x86:SEモード実行のサポートを追加"。しかし、3ca404da175a66e0b958165ad75eb5f54cb5e772を試すと失敗しKeyError: 'OsKernel'
、追加の調査/質問が必要です。