From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52296) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpdiu-0004Xd-8e for qemu-devel@nongnu.org; Thu, 29 Sep 2016 11:58:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bpdiq-0004yi-5R for qemu-devel@nongnu.org; Thu, 29 Sep 2016 11:58:11 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56560) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpdip-0004yc-VA for qemu-devel@nongnu.org; Thu, 29 Sep 2016 11:58:08 -0400 Date: Thu, 29 Sep 2016 17:58:03 +0200 From: Radim =?utf-8?B?S3LEjW3DocWZ?= Message-ID: <20160929155803.GA12788@potion> References: <20160929112329.2408-1-rkrcmar@redhat.com> <20160929112329.2408-2-rkrcmar@redhat.com> <20160929145334.GR3877@thinpad.lan.raisama.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160929145334.GR3877@thinpad.lan.raisama.net> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 1/7] apic: add global apic_get_class() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost Cc: qemu-devel@nongnu.org, Peter Xu , Igor Mammedov , Paolo Bonzini , Richard Henderson , "Michael S. Tsirkin" 2016-09-29 11:53-0300, Eduardo Habkost: > On Thu, Sep 29, 2016 at 01:23:23PM +0200, Radim Kr=C4=8Dm=C3=A1=C5=99 w= rote: >> Every configuration has only up to one APIC class and we'll be extendi= ng >> the class with a function that can be called without an instanced >> object, so a direct access to the class is convenient. >>=20 >> Signed-off-by: Radim Kr=C4=8Dm=C3=A1=C5=99 >> --- >> v2: assert() instead of error_report() and exit() [Peter] >> --- >> diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c >> @@ -296,6 +297,13 @@ static int apic_load_old(QEMUFile *f, void *opaqu= e, int version_id) >> =20 >> static const VMStateDescription vmstate_apic_common; >> =20 >> +APICCommonClass *apic_class; >> + >> +APICCommonClass *apic_get_class(void) >> +{ >> + return apic_class; >> +} >> + >=20 > This will break in case we need to look at the APIC class before > realizing the CPUs for any reason. Instead of adding a global > variable, what about moving the class name logic that's already > inside x86_cpu_apic_create() to the apic_get_class() function? > Then x86_cpu_apic_create() can simply call apic_get_class() too. Sure, it'll be nicer, thanks. ia64 seems dead, so no issues with making the code x86 specific.