qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH 22/32] add next_cpu_index


From: Glauber Costa
Subject: [Qemu-devel] Re: [PATCH 22/32] add next_cpu_index
Date: Thu, 23 Oct 2008 12:37:25 -0200
User-agent: Mutt/1.5.18 (2008-05-17)

On Thu, Oct 23, 2008 at 09:21:45AM -0500, Anthony Liguori wrote:
> Glauber Costa wrote:
>> From: Glauber Costa <address@hidden>
>>
>> separate the logic for calculating the next cpu index
>> from cpu creation. It will allow others to query what's
>> the next cpu index to be created before cpu creation.
>>   
>
> What is this useful for?
In earlier versions of the series, I was passing the cpu_index to init_env.
So I guess it's just a die hard patch that survived the reworks. It can be 
dropped
now (although I believe its clearer this way).

>
> Regards,
>
> Anthony Liguori
>
>> Signed-off-by: Glauber Costa <address@hidden>
>> ---
>>  exec.c |   22 ++++++++++++++--------
>>  1 files changed, 14 insertions(+), 8 deletions(-)
>>
>> diff --git a/exec.c b/exec.c
>> index 80b8a78..7fe7eeb 100644
>> --- a/exec.c
>> +++ b/exec.c
>> @@ -526,25 +526,31 @@ static int cpu_common_load(QEMUFile *f, void *opaque, 
>> int version_id)
>>  }
>>  #endif
>>
>> -void cpu_exec_init(CPUState *env)
>> +int next_cpu_index(void)
>>  {
>>      CPUState **penv;
>> -    int cpu_index;
>> +    int cpu_index = 0;
>>
>> -    env->next_cpu = NULL;
>>      penv = &first_cpu;
>> -    cpu_index = 0;
>> +
>>      while (*penv != NULL) {
>>          penv = (CPUState **)&(*penv)->next_cpu;
>>          cpu_index++;
>>      }
>> -    env->cpu_index = cpu_index;
>> +    return cpu_index;
>> +}
>> +
>> +void cpu_exec_init(CPUState *env)
>> +{
>> +    env->next_cpu = NULL;
>> +    env->cpu_index = next_cpu_index();
>>      env->nb_watchpoints = 0;
>> -    *penv = env;
>> +    if (env->cpu_index == 0)
>> +        first_cpu = env;
>>  #if defined(CPU_SAVE_VERSION) && !defined(CONFIG_USER_ONLY)
>> -    register_savevm("cpu_common", cpu_index, CPU_COMMON_SAVE_VERSION,
>> +    register_savevm("cpu_common", env->cpu_index, CPU_COMMON_SAVE_VERSION,
>>                      cpu_common_save, cpu_common_load, env);
>> -    register_savevm("cpu", cpu_index, CPU_SAVE_VERSION,
>> +    register_savevm("cpu", env->cpu_index, CPU_SAVE_VERSION,
>>                      cpu_save, cpu_load, env);
>>  #endif
>>  }
>>   
>




reply via email to

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