From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58474) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVK6p-0001BS-0t for qemu-devel@nongnu.org; Tue, 10 Mar 2015 09:22:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YVK6l-0007yz-2o for qemu-devel@nongnu.org; Tue, 10 Mar 2015 09:22:06 -0400 Received: from cantor2.suse.de ([195.135.220.15]:35972 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVK6k-0007yG-QN for qemu-devel@nongnu.org; Tue, 10 Mar 2015 09:22:03 -0400 Message-ID: <54FEEFF9.9040307@suse.de> Date: Tue, 10 Mar 2015 14:22:01 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1425576411-32639-1-git-send-email-ehabkost@redhat.com> <1425576411-32639-2-git-send-email-ehabkost@redhat.com> In-Reply-To: <1425576411-32639-2-git-send-email-ehabkost@redhat.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 1/1] target-i386: Remove icc_bridge parameter from cpu_x86_create() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost , qemu-devel@nongnu.org Cc: zhugh.fnst@cn.fujitsu.com, "Michael S. Tsirkin" , tangchen@cn.fujitsu.com, Gu Zheng , isimatu.yasuaki@jp.fujitsu.com, Igor Mammedov , chen.fan.fnst@cn.fujitsu.com, Paolo Bonzini , anshul.makkar@profitbricks.com 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. >=20 > 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. >=20 > Signed-off-by: Eduardo Habkost > --- > hw/i386/pc.c | 6 +++++- > target-i386/cpu.c | 14 ++------------ > target-i386/cpu.h | 3 +-- > 3 files changed, 8 insertions(+), 15 deletions(-) >=20 > 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 =3D NULL; > =20 > - cpu =3D cpu_x86_create(cpu_model, icc_bridge, &local_err); > + cpu =3D cpu_x86_create(cpu_model, &local_err); > if (local_err !=3D NULL) { > error_propagate(errp, local_err); > return NULL; > } > =20 > + 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. Regards, Andreas > + qdev_set_parent_bus(DEVICE(cpu), qdev_get_child_bus(icc_bridge, "i= cc")); > + object_unref(OBJECT(cpu)); > + > object_property_set_int(OBJECT(cpu), apic_id, "apic-id", &local_er= r); > object_property_set_bool(OBJECT(cpu), true, "realized", &local_err= ); > =20 > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index 50907d0..097924c 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -2076,8 +2076,7 @@ static void x86_cpu_load_def(X86CPU *cpu, X86CPUD= efinition *def, Error **errp) > =20 > } > =20 > -X86CPU *cpu_x86_create(const char *cpu_model, DeviceState *icc_bridge, > - Error **errp) > +X86CPU *cpu_x86_create(const char *cpu_model, Error **errp) > { > X86CPU *cpu =3D NULL; > X86CPUClass *xcc; > @@ -2108,15 +2107,6 @@ X86CPU *cpu_x86_create(const char *cpu_model, De= viceState *icc_bridge, > =20 > cpu =3D X86_CPU(object_new(object_class_get_name(oc))); > =20 > -#ifndef CONFIG_USER_ONLY > - if (icc_bridge =3D=3D NULL) { > - error_setg(&error, "Invalid icc-bridge value"); > - goto out; > - } > - qdev_set_parent_bus(DEVICE(cpu), qdev_get_child_bus(icc_bridge, "i= cc")); > - object_unref(OBJECT(cpu)); > -#endif > - > x86_cpu_parse_featurestr(CPU(cpu), features, &error); > if (error) { > goto out; [snip] --=20 SUSE Linux GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Felix Imend=F6rffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu, Graham Norton; HRB 21284 (AG N=FCrnberg)