[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 11/20] intc/arm_gic: Implement virtualization
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v3 11/20] intc/arm_gic: Implement virtualization extensions in gic_acknowledge_irq |
Date: |
Thu, 12 Jul 2018 14:19:58 +0100 |
On 29 June 2018 at 14:29, Luc Michel <address@hidden> wrote:
> Implement virtualization extensions in the gic_acknowledge_irq()
> function. This function changes the state of the highest priority IRQ
> from pending to active.
>
> When the current CPU is a vCPU, modifying the state of an IRQ modifies
> the corresponding LR entry. However if we clear the pending flag before
> setting the active one, we lose track of the LR entry as it becomes
> invalid. The next call to gic_get_lr_entry() will fail.
>
> To overcome this issue, we call gic_activate_irq() before
> gic_clear_pending(). This does not change the general behaviour of
> gic_acknowledge_irq.
>
> We also move the SGI case in gic_clear_pending_sgi() to enhance
> code readability as the virtualization extensions support adds a if-else
> level.
>
> Signed-off-by: Luc Michel <address@hidden>
> ---
Reviewed-by: Peter Maydell <address@hidden>
thanks
-- PMM
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v3 11/20] intc/arm_gic: Implement virtualization extensions in gic_acknowledge_irq,
Peter Maydell <=