On 30.09.21 09:07, Peng Fan (OSS) wrote:
> From: Peng Fan <[email protected]>
>
> With Linux Kernel 5.15
> commit 6abbd6988971a ("irqchip/gic, gic-v3: Make SGIs use 
> handle_percpu_devid_irq()"),
> the on_each_cpu IPI_CALL_FUNC interrupt active flag will not be cleared
> until interrupt handler finish.
>
> Without Jailhouse hypervisor enabled, everything is ok, but when
> enabling jailhouse, HCR_EL2.[FMO | IMO] is set, that means NS-EL1
> is actually accessing GICV_DIR when eoi_irq after enter_hypervisor
> return. It not able to deactive the interrupt that is actually a
> phyiscal irq which in active state.
>
> Signed-off-by: Peng Fan <[email protected]>
> ---
>
> Note:
>  Not tested on Hardware.
>
>  hypervisor/arch/arm-common/gic-v2.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/hypervisor/arch/arm-common/gic-v2.c 
> b/hypervisor/arch/arm-common/gic-v2.c
> index 31371de9..8a9f6201 100644
> --- a/hypervisor/arch/arm-common/gic-v2.c
> +++ b/hypervisor/arch/arm-common/gic-v2.c
> @@ -101,6 +101,7 @@ static int gicv2_cpu_init(struct per_cpu *cpu_data)
>       unsigned int mnt_irq = system_config->platform_info.arm.maintenance_irq;
>       u32 vtr, vmcr;
>       u32 cell_gicc_ctlr, cell_gicc_pmr;
> +     u32 gicd_isacter;
>       unsigned int n;
>
>       /*
> @@ -168,6 +169,10 @@ static int gicv2_cpu_init(struct per_cpu *cpu_data)
>
>       cpu_data->public.gicc_initialized = true;
>
> +     /* Deactivate all active SGIs */
> +     gicd_isacter = mmio_read32(gicd_base + GICD_ISACTIVER);
> +     mmio_write32(gicd_base + GICD_ICACTIVER, gicd_isacter & 0xffff);
> +
>       /*
>        * Forward any pending physical SGIs to the virtual queue.
>        * We will convert them into self-inject SGIs, ignoring the original
>

Martin, could this be the issue you are seeing? Are you already using 5.15?

Jan

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/de40c4af-207c-f96a-9acf-7b2a33d38957%40web.de.

Reply via email to