qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/1] target-i386: Remove icc_bridge parameter fr


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH 1/1] target-i386: Remove icc_bridge parameter from cpu_x86_create()
Date: Tue, 10 Mar 2015 10:30:57 -0300
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, Mar 10, 2015 at 02:22:01PM +0100, Andreas Färber wrote:
> Am 05.03.2015 um 18:26 schrieb Eduardo Habkost:
> > Instead of passing icc_bridge from the PC initialization code to
> > cpu_x86_create(), make the PC initialization code attach the CPU to
> > icc_bridge.
> > 
> > The only difference here is that icc_bridge attachment will now be done
> > after x86_cpu_parse_featurestr() is called. But this shouldn't make any
> > difference, as property setters shouldn't depend on icc_bridge.
> > 
> > Signed-off-by: Eduardo Habkost <address@hidden>
> > ---
> >  hw/i386/pc.c      |  6 +++++-
> >  target-i386/cpu.c | 14 ++------------
> >  target-i386/cpu.h |  3 +--
> >  3 files changed, 8 insertions(+), 15 deletions(-)
> > 
> > diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> > index ed54d93..66b9fa6 100644
> > --- a/hw/i386/pc.c
> > +++ b/hw/i386/pc.c
> > @@ -995,12 +995,16 @@ static X86CPU *pc_new_cpu(const char *cpu_model, 
> > int64_t apic_id,
> >      X86CPU *cpu;
> >      Error *local_err = NULL;
> >  
> > -    cpu = cpu_x86_create(cpu_model, icc_bridge, &local_err);
> > +    cpu = cpu_x86_create(cpu_model, &local_err);
> >      if (local_err != NULL) {
> >          error_propagate(errp, local_err);
> >          return NULL;
> >      }
> >  
> > +    assert(icc_bridge);
> 
> On second thoughts, why are you asserting here rather than setting errp?
> Just add an out: below and goto out, like I did.
> 
> On startup it doesn't matter much, but for hot-add asserting would not
> be so nice.

Because not having icc_bus passed as argument would be a coding error.

Also, I have no idea what kind of things would break if we destroy a CPU
after cpu_exec_init() was already called in instance_init.

-- 
Eduardo



reply via email to

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