[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH qom-cpu v2 02/29] kvm: Change cpu_synchronize_st
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH qom-cpu v2 02/29] kvm: Change cpu_synchronize_state() argument to CPUState |
Date: |
Mon, 17 Jun 2013 14:02:27 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6 |
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~
[Qemu-devel] [PATCH qom-cpu v2 05/29] cpus: Change cpu_thread_is_idle() argument to CPUState, Andreas Färber, 2013/06/16
[Qemu-devel] [PATCH qom-cpu v2 07/29] kvm: Change kvm_set_signal_mask() argument to CPUState, Andreas Färber, 2013/06/16
[Qemu-devel] [PATCH qom-cpu v2 04/29] cpu: Change cpu_exit() argument to CPUState, Andreas Färber, 2013/06/16