From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:33721) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TO9b1-0001RB-Ev for qemu-devel@nongnu.org; Tue, 16 Oct 2012 12:02:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TO9aq-0002G3-J8 for qemu-devel@nongnu.org; Tue, 16 Oct 2012 12:02:19 -0400 Received: from cantor2.suse.de ([195.135.220.15]:38247 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TO9aq-0002Fx-A5 for qemu-devel@nongnu.org; Tue, 16 Oct 2012 12:02:08 -0400 Message-ID: <507D84FC.8000306@suse.de> Date: Tue, 16 Oct 2012 18:02:04 +0200 From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= MIME-Version: 1.0 References: <1350005203-15405-1-git-send-email-afaerber@suse.de> <1350005203-15405-2-git-send-email-afaerber@suse.de> In-Reply-To: <1350005203-15405-2-git-send-email-afaerber@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH qom-cpu v2 1/7] target-i386: Inline APIC cpu_env property setting List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Jan Kiszka Cc: Igor Mammedov , qemu-devel@nongnu.org Am 12.10.2012 03:26, schrieb Andreas F=C3=A4rber: > This prepares for changing the variable type from void*. >=20 > Signed-off-by: Andreas F=C3=A4rber > Cc: Igor Mammedov Paolo, are you happy with getting rid of the pointer property this way? Jan, are you okay with accessing APICCommonState in target-i386/cpu.c as an interim solution? Andreas > --- > hw/apic_common.c | 1 - > target-i386/cpu.c | 5 ++++- > 2 Dateien ge=C3=A4ndert, 4 Zeilen hinzugef=C3=BCgt(+), 2 Zeilen entfer= nt(-) >=20 > diff --git a/hw/apic_common.c b/hw/apic_common.c > index 371f95d..a26a631 100644 > --- a/hw/apic_common.c > +++ b/hw/apic_common.c > @@ -368,7 +368,6 @@ static const VMStateDescription vmstate_apic_common= =3D { > =20 > static Property apic_properties_common[] =3D { > DEFINE_PROP_UINT8("id", APICCommonState, id, -1), > - DEFINE_PROP_PTR("cpu_env", APICCommonState, cpu_env), > DEFINE_PROP_BIT("vapic", APICCommonState, vapic_control, VAPIC_ENA= BLE_BIT, > true), > DEFINE_PROP_END_OF_LIST(), > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index e307b4e..0cce910 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -41,6 +41,7 @@ > #ifndef CONFIG_USER_ONLY > #include "hw/xen.h" > #include "hw/sysbus.h" > +#include "hw/apic_internal.h" > #endif > =20 > /* feature flags taken from "Intel Processor Identification and the CP= UID > @@ -1884,6 +1885,7 @@ static void x86_cpu_apic_init(X86CPU *cpu, Error = **errp) > #ifndef CONFIG_USER_ONLY > static int apic_mapped; > CPUX86State *env =3D &cpu->env; > + APICCommonState *apic; > const char *apic_type =3D "apic"; > =20 > if (kvm_irqchip_in_kernel()) { > @@ -1902,7 +1904,8 @@ static void x86_cpu_apic_init(X86CPU *cpu, Error = **errp) > OBJECT(env->apic_state), NULL); > qdev_prop_set_uint8(env->apic_state, "id", env->cpuid_apic_id); > /* TODO: convert to link<> */ > - qdev_prop_set_ptr(env->apic_state, "cpu_env", env); > + apic =3D APIC_COMMON(env->apic_state); > + apic->cpu_env =3D env; > =20 > if (qdev_init(env->apic_state)) { > error_setg(errp, "APIC device '%s' could not be initialized", >=20 --=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