[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 16/19] target-tilegx: move cpu_exec_realize() to
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH 16/19] target-tilegx: move cpu_exec_realize() to realize function |
Date: |
Thu, 6 Oct 2016 16:04:40 +1100 |
User-agent: |
Mutt/1.7.0 (2016-08-17) |
On Thu, Oct 06, 2016 at 07:57:34AM +0800, Chen Gang wrote:
>
> On 10/6/16 03:38, Laurent Vivier wrote:
> > I've removed the cannot_destroy_with_object_finalize_yet field as
> > cpu_exec_init() is not called by tilegx_cpu_initfn() anymore
> > (not tested with QOM command as tilegx is only available in linux-user
> > mode)
> >
>
>
> For master branch, I can not find cpu_exec_realize in total source code,
> I am not quite sure whether it is ok or not.
It's a new function introduced in the first patch of this series. The
old cpu_exec_init() was split into cpu_exec_init() which contains
things which are safe at init time, and cpu_exec_realize() which is
supposed to be called at realize() time.
>
> And in honest, now, tilegx-linux-user is not implemented completely, the
> floating point insns are not supported by our main branch (which should
> be one of main feature for tilegx) -- which I should try.
>
> Thanks.
>
> > CC: Chen Gang <address@hidden>
> > Signed-off-by: Laurent Vivier <address@hidden>
> > ---
> > target-tilegx/cpu.c | 15 +++++++--------
> > 1 file changed, 7 insertions(+), 8 deletions(-)
> >
> > diff --git a/target-tilegx/cpu.c b/target-tilegx/cpu.c
> > index f7ec920..6be69ef 100644
> > --- a/target-tilegx/cpu.c
> > +++ b/target-tilegx/cpu.c
> > @@ -92,6 +92,13 @@ static void tilegx_cpu_realizefn(DeviceState *dev, Error
> > **errp)
> > {
> > CPUState *cs = CPU(dev);
> > TileGXCPUClass *tcc = TILEGX_CPU_GET_CLASS(dev);
> > + Error *local_err = NULL;
> > +
> > + cpu_exec_realize(cs, &local_err);
> > + if (local_err != NULL) {
> > + error_propagate(errp, local_err);
> > + return;
> > + }
> >
> > cpu_reset(cs);
> > qemu_init_vcpu(cs);
> > @@ -108,7 +115,6 @@ static void tilegx_cpu_initfn(Object *obj)
> >
> > cs->env_ptr = env;
> > cpu_exec_init(cs, &error_abort);
> > - cpu_exec_realize(cs, &error_abort);
> >
> > if (tcg_enabled() && !tcg_initialized) {
> > tcg_initialized = true;
> > @@ -163,13 +169,6 @@ static void tilegx_cpu_class_init(ObjectClass *oc,
> > void *data)
> > cc->set_pc = tilegx_cpu_set_pc;
> > cc->handle_mmu_fault = tilegx_cpu_handle_mmu_fault;
> > cc->gdb_num_core_regs = 0;
> > -
> > - /*
> > - * Reason: tilegx_cpu_initfn() calls cpu_exec_init(), which saves
> > - * the object in cpus -> dangling pointer after final
> > - * object_unref().
> > - */
> > - dc->cannot_destroy_with_object_finalize_yet = true;
> > }
> >
> > static const TypeInfo tilegx_cpu_type_info = {
> >
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- [Qemu-devel] [PATCH 08/19] target-lm32: move cpu_exec_realize() to realize function, (continued)
- [Qemu-devel] [PATCH 08/19] target-lm32: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 09/19] target-m68k: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 10/19] target-microblaze: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 11/19] target-mips: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 12/19] target-moxie: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 13/19] target-openrisc: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 14/19] target-sh4: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 15/19] target-sparc: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 16/19] target-tilegx: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 17/19] target-tricore: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 18/19] target-unicore32: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- [Qemu-devel] [PATCH 19/19] target-xtensa: move cpu_exec_realize() to realize function, Laurent Vivier, 2016/10/05
- Re: [Qemu-devel] [PATCH 00/19] Split cpu_exec_init() into an init and a realize part, Peter Maydell, 2016/10/05
- Re: [Qemu-devel] [PATCH 00/19] Split cpu_exec_init() into an init and a realize part, Eduardo Habkost, 2016/10/05