qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] Expose tsc deadline timer cpuid to guest


From: Liu, Jinsong
Subject: Re: [Qemu-devel] [PATCH 2/2] Expose tsc deadline timer cpuid to guest
Date: Fri, 9 Mar 2012 19:09:46 +0000

Jan Kiszka wrote:
> On 2012-03-09 19:27, Liu, Jinsong wrote:
>> Jan Kiszka wrote:
>>> On 2012-03-06 08:49, Liu, Jinsong wrote:
>>>> Jan,
>>>> 
>>>> Any comments? I feel some confused about your point 'disable cpuid
>>>> feature for older machine types by default': are you planning a
>>>> common approach for this common issue, or, you just ask me a
>>>> specific solution for the tsc deadline timer case?
>>> 
>>> I think a generic solution for this can be as simple as passing a
>>> feature exclusion mask to cpu_init. You could simple append a string
>>> of "-feature1,-feature2" to the cpu model that is specified on
>>> creation. And that string could be defined in the compat machine
>>> descriptions. Does this make sense?
>>> 
>> 
>> Jan, to prevent misunderstanding, I elaborate my understanding of
>> your points below (if any misunderstanding please point out to me):
>> =====================  
>> Your target is, to migrate from A(old qemu) to B(new qemu) by
>> 1. at A: qemu-version-A [-cpu whatever]      // currently the
>> default machine type is pc-A 
>> 2. at B: qemu-version-B -machine pc-A [-cpu whatever] -feature1
>> -feature2 
>> 
>> B run new qemu-version-B (w/ new features 'feature1' and
>> 'feature2'), but when B runs w/ compat '-machine pc-A', vm should
>> not see 'feature1' and 'feature2', so commandline append string to
>> cpu model '-cpu whatever -feature1 -feature2' to hidden new feature1
>> and feature2 to vm, hence vm can see same cpuid features (at B) as
>> those at A (which means, no feature1, no feature2)
>> =====================      
>> 
>> If my understanding of your thoughts is right, I think currently
>>      qemu has satisfied your target, code refer to     
>>      pc_cpus_init(cpu_model) ...... cpu_init(cpu_model)
>> --> cpu_x86_register(*env, cpu_model)
>> --> cpu_x86_find_by_name(*def, cpu_model)     // parse '+/-
>>                                                                     
>> features', generate feature masks plus_features... // and
>> minus_features...(this is feature exclusion masks you want)  
>> I think your point 'define in the compat machine description' is
>> unnecessary. 
> 
> The user would have to specify the new feature as exclusions
> *manually* on the command line if -machine pc-A doesn't inject them
> *automatically*. So it is necessary to enhance qemu in this regard.
> 

... You suggest 'append a string of "-feature1,-feature2" to the cpu model that 
is specified on creation' at your last email.
Could you tell me other way user exclude features? I only know qemu command 
line :-(

Thanks,
Jinsong


reply via email to

[Prev in Thread] Current Thread [Next in Thread]