qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 2/7] Convert pc cpu to qdev


From: Lai Jiangshan
Subject: Re: [Qemu-devel] [PATCH 2/7] Convert pc cpu to qdev
Date: Wed, 14 Mar 2012 15:59:53 +0800
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100921 Fedora/3.1.4-1.fc14 Thunderbird/3.1.4

On 03/13/2012 07:04 PM, Andreas Färber wrote:
> Am 13.03.2012 10:32, schrieb Lai Jiangshan:
>> On 02/16/2012 08:51 PM, Anthony Liguori wrote:
>>> On 02/16/2012 06:01 AM, Jan Kiszka wrote:
>>>> On 2012-02-16 00:16, Igor Mammedov wrote:
>>>>> +static ICCBusDeviceInfo cpu_device_info = {
>>>>> +    .qdev.name = "cpu-pc",
>>>>> +    .qdev.size = sizeof(CPUPC),
>>>>> +    .qdev.reset = cpu_device_reset,
>>>>> +    .init = cpu_device_init,
>>>>> +    .qdev.props = (Property[]) {
>>>>> +        DEFINE_PROP_STRING("model", CPUPC, model),
>>>>
>>>> And how do you pass in feature flags? Or the core layout? Basically both
>>>> -cpu and -smp need to be expressible via multiple "-device cpu-x86,xxx"
>>>> (not "pc") commands.
>>>
>>> The approach that I'd recommend is:
>>>
>>> 1) convert CPU_COMMON_STATE to a structure named CPUCommonState, 
>>> query/replace all references to members of CPU_COMMON_STATE appropriately.
>>
>> I just tried this for several days, it will result a huge patch,
>> it is hard for human, any suggestion?
>> (I used Semantic patches script: http://coccinelle.lip6.fr/, it is still 
>> hard,
>> it still leaves huge part which needs manual conversion/fix)
>>
>> I will take part in implementing cpu-hotplug future for qemu,
>> Could you give me some tips/suggestions? What approach should I take?
> 
> In short: Don't!
> 
> Please instead provide feedback on my series which already does
> something like that for you, available since multiple weeks. If a
> different naming is preferred, I can change it.
> 
> The approach I have taken is:
> 1. CPUState -> CPU{X86,...}State, CPUArchState as alias where necessary
> 2. Embed CPU$archState in $archCPU
> 3. Step by step move CPU_COMMON_STATE from CPUArchState into CPUState
> 
> Steps 1+2 are done, 2 is partially on the list (e.g., [1]), the rest on
> my qom-cpu-wip branch [2].
> Step 3 is shown for icount on qom-cpu-wip as well as for multiple
> target-specific fields such as target-arm features [3]. Contributions
> welcome.


OK, your work can't be done automatically, but it do be worth when
there are multiple target-specific fields existed.

Anthony Liguori, Jan Kiszka,

Could you light me what can I do for cpu-hotplug.
I saw several approaches are sent to the maillist, but they are
not accepted, so I don't know how to take part in.

Thanks,
Lai

> 
> Whatever naming and order we decide on, this WILL touch a lot of code.
> If you start doing this in some random different way we'll end up with
> conflicting series on the list, wasting each other's time.
> 
> Thanks,
> Andreas
> 
> [1] http://patchwork.ozlabs.org/patch/145800/
> [2] http://repo.or.cz/w/qemu/afaerber.git/shortlog/refs/heads/qom-cpu-wip
> [3] http://patchwork.ozlabs.org/patch/145874/
> 




reply via email to

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