qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC qom-cpu 02/15] target-arm: Update CPU to QOM reali


From: Andreas Färber
Subject: Re: [Qemu-devel] [RFC qom-cpu 02/15] target-arm: Update CPU to QOM realizefn
Date: Wed, 16 Jan 2013 23:37:38 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130105 Thunderbird/17.0.2

Am 16.01.2013 16:52, schrieb Eduardo Habkost:
> On Wed, Jan 16, 2013 at 06:32:47AM +0100, Andreas Färber wrote:
> [...]
>> diff --git a/target-arm/helper.c b/target-arm/helper.c
>> index 37c34a1..f4553de 100644
>> --- a/target-arm/helper.c
>> +++ b/target-arm/helper.c
>> @@ -1270,14 +1270,12 @@ ARMCPU *cpu_arm_init(const char *cpu_model)
>>      cpu = ARM_CPU(object_new(cpu_model));
>>      env = &cpu->env;
>>      env->cpu_model_str = cpu_model;
>> -    arm_cpu_realize(cpu);
>>  
>>      if (tcg_enabled() && !inited) {
>>          inited = 1;
>>          arm_translate_init();
>>      }
>>  
>> -    cpu_reset(CPU(cpu));
>>      if (arm_feature(env, ARM_FEATURE_NEON)) {
>>          gdb_register_coprocessor(env, vfp_gdb_get_reg, vfp_gdb_set_reg,
>>                                   51, "arm-neon.xml", 0);
> 
> Some arm_feature() checks here (e.g. ARM_FEATURE_VFP3) depend on
> set_feature() calls done by arm_cpu_realize[fn]().

Ouch!

> On the other hand, I won't be surprised if gdb_register_coprocessor()
> needs to be called before qemu_init_vcpu(). I also don't know if it is
> safe to call gdb_register_coprocessor() before cpu_reset().
> 
> Why not move all the code between the "arm_cpu_realize(cpu)" and "return
> cpu" lines to the realize function as-is, instead of moving only part of
> the code? If arm requires these steps to be run after creating a CPU, I
> consider all of them part of the CPU realization process.

That was not directly possible because the helper functions registered
are here in helper.c. What I'll do is to put these into a separate
function that I can call from realizefn.

Thanks,
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

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