如何在没有TCG和没有KVM的情况下运行QEMU

时间:2015-12-16 19:35:21

标签: qemu kvm

我在QEMU虚拟机运行时试图关闭虚拟核心。

为此,我需要使用cpus.c中的函数qemu_cpu_kick()

void qemu_cpu_kick(CPUState *cpu)
{
    qemu_cond_broadcast(cpu->halt_cond);
    if (!tcg_enabled() && !cpu->thread_kicked) {
            qemu_cpu_kick_thread(cpu);
            cpu->thread_kicked = true;
    }
}

效果很好 - 只有我启用了KVM。 但是,我需要禁用KVM ,并且一旦禁用KVM,tcg_enabled()函数将返回true,并且cpu不会关闭。

是否可以禁用TCG?

我没有找到关于TCG的任何旋钮; --disable-tcg以及其他试验都不起作用。 我试图用--disable-tcg-interpreter重新配置我的编译,但仍然没有任何变化。

那么,我该如何禁用TCG?或者,或者 - 是否有更好的方法来关闭虚拟CPU?

谢谢!

1 个答案:

答案 0 :(得分:1)

嗯,据我所知,在没有KVM的情况下运行QEMU迫使QEMU使用Tiny Code Generator(TCG)而不是KVM。因此,在没有KVM且没有TCG的情况下运行QEMU根本不可能!