On 04/15/2012 09:38 PM, Andreas Färber wrote: > From: David Gibson <da...@gibson.dropbear.id.au> > > On target-ppc, our table of CPU types and features encodes the features as > found on the hardware, regardless of whether these features are actually > usable under TCG or KVM. We already have cases where the information from > the cpu table must be fixed up to account for limitations in the emulation > method we're using. e.g. TCG does not support the DFP and VSX instructions > and KVM needs different numbering of the CPUs in order to tell it the > correct thread to core mappings. > > This patch cleans up these hacks to handle emulation limitations by > consolidating them into a pair of functions specifically for the purpose. > > env->check_pow = def->check_pow; > + > + if (kvm_enabled()) { > + if (kvmppc_fixup_cpu(env) != 0) { > + fprintf(stderr, "Unable to virtualize selected CPU with KVM\n"); > + exit(1); > + } > + } else { > + if (ppc_fixup_cpu(env) != 0) { > + fprintf(stderr, "Unable to emulate selected CPU with TCG\n"); > + exit(1); > + } > + } > + >
I wish we had an error like that for x86. Right now we silently add and drop cpu features. -- error compiling committee.c: too many arguments to function