사용자 모드 qemu 및 KVM

사용자 모드 qemu 및 KVM

대상 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
    

    코멘트의 예:ARM용으로 작성된 기본 Android 코드가 x86에서 실행되는 방식

이제 더 흥미로운 질문은 이론적으로 가능합니까?

확실하진 않지만 대략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'하고 추가 조사/질문이 필요합니다.

관련 정보