On 3/9/25 14:34, Richard Henderson wrote:
> On 9/3/25 12:06, Philippe Mathieu-Daudé wrote:
>> Since hvf_wfi() calls hv_vcpu_get_sys_reg(), which
>> must run on a vCPU, it also must. Mention it.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> target/arm/hvf/hvf.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c
>> index d87a41bcc53..05fc591b523 100644
>> --- a/target/arm/hvf/hvf.c
>> +++ b/target/arm/hvf/hvf.c
>> @@ -1836,6 +1836,7 @@ static void hvf_wait_for_ipi(CPUState *cpu,
>> struct timespec *ts)
>> bql_lock();
>> }
>> +/* Must be called by the owning thread */
>> static void hvf_wfi(CPUState *cpu)
>> {
>> ARMCPU *arm_cpu = ARM_CPU(cpu);
>
> How can it not? Are all these separate patches and annotations helpful?
Well they helped me understand the locking issue in patch 15 in
hvf_arm_get_host_cpu_features().