On 06/17/2013 01:58 PM, Andreas Färber wrote:
> Am 17.06.2013 21:46, schrieb Richard Henderson:
>> On 06/16/2013 08:57 AM, Andreas Färber wrote:
>>> @@ -627,7 +627,7 @@ static void vapic_write(void *opaque, hwaddr addr, 
>>> uint64_t data,
>>>      hwaddr rom_paddr;
>>>      VAPICROMState *s = opaque;
>>>  
>>> -    cpu_synchronize_state(env);
>>> +    cpu_synchronize_state(CPU(x86_env_get_cpu(env)));
>>
>> ENV_GET_CPU, surely.
> 
> No, ENV_GET_CPU() is only a compatibility macro for generic code and
> shouldn't be used in target-specific code.
> 
> Background is that foo_env_get_cpu() can coexist with bar_env_get_cpu()
> whereas ENV_GET_CPU() relies on there being only one arch per
> executable, which we hope to fix for heterogeneous emulations.

What has that got to do with anything?  ENV_GET_CPU is a macro, and only
applies within the current translation unit.  This corresponds well with the
CPUArchState type, which is also local to the current translation unit.


r~


Reply via email to