On Mon, May 27, 2013 at 03:14:25PM +0200, Paolo Bonzini wrote: > Il 27/05/2013 15:07, Eduardo Habkost ha scritto: > >> Changing TCG to KVM should not change hardware > >> > if you use "-cpu ...,enforce", so it is right that it fails when > >> > starting with KVM. > >> > > > Changing between KVM and TCG _does_ change hardware, today (with or > > without check/enforce). All CPU models on TCG have features not > > supported by TCG automatically removed. See the "if (!kvm_enabled())" > > block at x86_cpu_realizefn(). > > Perhaps (for "-cpu ...,enforce" or check) that's the real bug we have to > fix?
It would be 100% accurate, but would it be useful? We will then have a Opteron_G3 CPU model that can't be used reliably without low-level bit fiddling, on either TCG or KVM mode. Note that I am not completely against it. I agree that having a single CPU model namespace with 100%-equivalent definitions for both TCG and KVM modes would simplify the logic a lot. I am just not sure if it is worth it. (To be honest, I am more worried about the amount of time I will waste trying to change the behavior of the TCG code. I am pretty sure I will hear something like "why are you wasting your time trying to make check/enforce work for TCG? Please leave TCG alone!".) -- Eduardo