From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53601) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TLt6m-0005Fm-UT for qemu-devel@nongnu.org; Wed, 10 Oct 2012 06:01:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TLt6b-0003pO-PX for qemu-devel@nongnu.org; Wed, 10 Oct 2012 06:01:44 -0400 Received: from cantor2.suse.de ([195.135.220.15]:57295 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TLt6b-0003oA-J0 for qemu-devel@nongnu.org; Wed, 10 Oct 2012 06:01:33 -0400 Message-ID: <50754779.6000809@suse.de> Date: Wed, 10 Oct 2012 12:01:29 +0200 From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= MIME-Version: 1.0 References: <1349803038-30502-1-git-send-email-imammedo@redhat.com> In-Reply-To: <1349803038-30502-1-git-send-email-imammedo@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v3] target-i386: initialize APIC at CPU level List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov , Luiz Capitulino Cc: aliguori@us.ibm.com, ehabkost@redhat.com, jan.kiszka@siemens.com, Don@CloudSwitch.com, mtosatti@redhat.com, qemu-devel@nongnu.org Am 09.10.2012 19:17, schrieb Igor Mammedov: > (L)APIC is a part of cpu [1] so move APIC initialization inside of > x86_cpu object. Since cpu_model and override flags currently specify > whether APIC should be created or not, APIC creation&initialization is > moved into x86_cpu_apic_init() which is called from x86_cpu_realize(). >=20 > [1] - all x86 cpus have integrated APIC if we overlook existence of i48= 6, > and it's more convenient to model after majority of them. >=20 > Signed-off-by: Igor Mammedov I am happy with this latest round of fixes to ad-hoc feedback from my CPU remodeling perspective (as an interim solution), and I depend on this for my APIC changes (code is being moved around here). > + if (env->apic_state =3D=3D NULL) { > + error_set(errp, QERR_DEVICE_INIT_FAILED, apic_type); > + return; > + } [...] > + if (qdev_init(env->apic_state)) { > + error_set(errp, QERR_DEVICE_INIT_FAILED, > + object_get_typename(OBJECT(env->apic_state))); > + return; > + } Luiz, could you please take a look whether I can apply this to my qom-cpu tree now or whether error_set() should be replaced by error_setg() or something? Contents-wise these are error-checking creation and initialization of a child (APIC) device/object. Thanks, Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=C3=B6rffer; HRB 16746 AG N=C3=BC= rnberg