Am 16.04.2012 12:13, schrieb Avi Kivity:
> 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.

x86 has an ,+enforce option for that, doesn't it?

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

Reply via email to