[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: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [RFC qom-cpu 02/15] target-arm: Update CPU to QOM realizefn |
Date: |
Wed, 16 Jan 2013 13:52:48 -0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
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]().
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.
> @@ -1288,7 +1286,10 @@ ARMCPU *cpu_arm_init(const char *cpu_model)
> gdb_register_coprocessor(env, vfp_gdb_get_reg, vfp_gdb_set_reg,
> 19, "arm-vfp.xml", 0);
> }
> - qemu_init_vcpu(env);
> +
> + /* TODO this should be set centrally, once possible */
> + object_property_set_bool(OBJECT(cpu), true, "realized", NULL);
> +
> return cpu;
> }
>
> --
> 1.7.10.4
>
>
--
Eduardo
- [Qemu-devel] [RFC qom-cpu 00/15] CPUState QOM realizefn support, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 01/15] target-alpha: Update CPU to QOM realizefn, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 03/15] target-i386: Update CPU to QOM realizefn, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 02/15] target-arm: Update CPU to QOM realizefn, Andreas Färber, 2013/01/16
- Re: [Qemu-devel] [RFC qom-cpu 02/15] target-arm: Update CPU to QOM realizefn,
Eduardo Habkost <=
- [Qemu-devel] [RFC qom-cpu 05/15] target-ppc: Update CPU to QOM realizefn, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 04/15] target-openrisc: Update CPU to QOM realizefn, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 07/15] target-lm32: Introduce QOM realizefn for LM32CPU, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 08/15] target-m68k: Introduce QOM realizefn for M68kCPU, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 10/15] target-mips: Introduce QOM realizefn for MIPSCPU, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 06/15] target-cris: Introduce QOM realizefn for CRISCPU, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 09/15] target-microblaze: Introduce QOM realizefn for MicroBlazeCPU, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 13/15] target-sparc: Introduce QOM realizefn for SPARCCPU, Andreas Färber, 2013/01/16
- [Qemu-devel] [RFC qom-cpu 11/15] target-s390x: Introduce QOM realizefn for S390CPU, Andreas Färber, 2013/01/16