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: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH 2/2] Expose tsc deadline timer cpuid to guest
Date: Fri, 09 Mar 2012 19:56:23 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

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.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux



reply via email to

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