Hi,

> On 28. Jul 2025, at 12:18, Philippe Mathieu-Daudé <phi...@linaro.org> wrote:
> 
> Hi Mohamed,
> 
> On 26/7/25 00:30, Mohamed Mediouni wrote:
>> When using the vGIC, timers are directly handled by the platform, so no 
>> vmexits ought to happen in that case.
>> Signed-off-by: Mohamed Mediouni <moha...@unpredictable.fr>
>> ---
>>  target/arm/hvf/hvf.c | 10 ++++++++++
>>  1 file changed, 10 insertions(+)
> 
> 
>> @@ -1965,6 +1971,10 @@ int hvf_vcpu_exec(CPUState *cpu)
>>          /* This is the main one, handle below. */
>>          break;
>>      case HV_EXIT_REASON_VTIMER_ACTIVATED:
>> +        /* This is only for when a user-mode irqchip is used. */
>> +        if (hvf_irqchip_in_kernel()) {
>> +            assert("vtimer activated vmexit when using platform GIC");
> 
> This line does nothing (not firing), is that what you intended to?
It’s specifically so that if this trips, I know that I really screwed things 
up. Helped me a bit in developing this.

However, this whole patch isn’t expected to ever trigger irl, so would be fine 
to drop from that perspective.

HV_EXIT_REASON_VTIMER_ACTIVATED will never be returned by Hypervisor.framework 
when the vGIC is enabled.

Thank you,
-Mohamed
>> +        }
>>          qemu_set_irq(arm_cpu->gt_timer_outputs[GTIMER_VIRT], 1);
>>          cpu->accel->vtimer_masked = true;
>>          return 0;
> 


Reply via email to