hi folks: i am very puzzled about the relationship between "target cpu instruction" translated to host instructions through TCG module and the "kvm" acceleration" mode.
think about three scenario of emulation: scenario 1, 2 and 3 as follows: 1. target cpu: x86_64, host cpu: x84_64, emulation OS: ubuntu_desktop_amd64.iso kvm: enabled. 2. target cpu: x86_64, host cpu: x84_64, emulation OS: ubuntu_desktop_amd64.iso kvm: disabled. 3. target cpu x86_64, host cpu: armv8 emulationOS: ubuntu_desktop_amd64.iso kvm: enabled my question is: scenario 1: did the tcg translation need to be done in this case now that the host and target arch is the same? or let the kvm emulation the system wit the original instructions with out the TCG translation? scenario 2: the pre condition is same with scenario 1 except the kvm is disable? so ,in this scenario, the TCG must be used in order to the pure software emulation without acceleration? scenario 3: in this scenario, the host and target arch is not the same, so how to use the "kvm mechainsim" in this case? so the instructions feed to the kvm module to run must be translated By TCG module? right? thanks for your kindly support for my puzzle.