From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:48349) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuXfR-0008VS-2p for qemu-devel@nongnu.org; Mon, 06 Feb 2012 18:08:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RuXfO-0008CO-Dg for qemu-devel@nongnu.org; Mon, 06 Feb 2012 18:08:12 -0500 Received: from cantor2.suse.de ([195.135.220.15]:48936 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RuXfO-0008CK-7m for qemu-devel@nongnu.org; Mon, 06 Feb 2012 18:08:10 -0500 Message-ID: <4F305CCA.7050604@suse.de> Date: Tue, 07 Feb 2012 00:05:46 +0100 From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= MIME-Version: 1.0 References: <1328237992-14953-1-git-send-email-afaerber@suse.de> <1328237992-14953-6-git-send-email-afaerber@suse.de> <4F305B8A.9080901@codemonkey.ws> In-Reply-To: <4F305B8A.9080901@codemonkey.ws> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH RFC v3 05/21] target-arm: Embed CPUARMState in QOM ARMCPU List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Peter Maydell , Paul Brook , qemu-devel@nongnu.org, Richard Henderson Am 07.02.2012 00:00, schrieb Anthony Liguori: > On 02/02/2012 08:59 PM, Andreas F=C3=A4rber wrote: >> +static inline Object *arm_env_get_object(CPUARMState *env) >> +{ >> + return OBJECT((void *)(env) - offsetof(ARMCPU, env)); >> +} >> + >> +#define ENV_GET_OBJECT(e) arm_env_get_object(e) >=20 > I'd prefer: >=20 > ARMCPU *arm_cpu_from_cpu_state(CPUState *env) > { > return ARM_CPU(container_of(env, ARMCPU, env)); > } container_of() is a nice suggestion. However I deliberately decided against ARMCPU to be able to use it from common code; CPU would work thou= gh. e.g. #ifdef ENV_GET_OBJECT // new code #else // legacy code #endif 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