[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH RFC v3 05/21] target-arm: Embed CPUARMState in Q
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH RFC v3 05/21] target-arm: Embed CPUARMState in QOM ARMCPU |
Date: |
Tue, 07 Feb 2012 00:05:46 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111220 Thunderbird/9.0 |
Am 07.02.2012 00:00, schrieb Anthony Liguori:
> On 02/02/2012 08:59 PM, Andreas Färber 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)
>
> I'd prefer:
>
> 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 though.
e.g.
#ifdef ENV_GET_OBJECT
// new code
#else
// legacy code
#endif
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- Re: [Qemu-devel] [PATCH RFC v3 03/21] qom: Introduce CPU class, (continued)
[Qemu-devel] [PATCH RFC v3 07/21] target-arm: Overwrite reset handler for ti925t, Andreas Färber, 2012/02/02
[Qemu-devel] [PATCH v3 01/21] qom: Register QOM infrastructure early, Andreas Färber, 2012/02/02
[Qemu-devel] [PATCH RFC v3 19/21] target-arm: Kill off cpu_reset_model_id(), Andreas Färber, 2012/02/02
[Qemu-devel] [PATCH RFC v3 05/21] target-arm: Embed CPUARMState in QOM ARMCPU, Andreas Färber, 2012/02/02
[Qemu-devel] [PATCH RFC v3 13/21] target-arm: Store JTAG_ID in ARMCPUClass, Andreas Färber, 2012/02/02
[Qemu-devel] [PATCH RFC v3 14/21] target-arm: Move the PXA270's iwMMXt reset to pxa270_reset(), Andreas Färber, 2012/02/02