[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC XEN PATCH v3 08/11] xen: arm: vgic: don't fail if IRQ is already connected
Hi, On 15/11/2019 20:10, Stewart Hildebrand wrote: There are some IRQs that happen to have multiple "interrupts = < ... >;" properties with the same IRQ in the device tree. For example: interrupts = <0 123 4>, <0 123 4>, <0 123 4>, <0 123 4>, <0 123 4>; In this case it seems that we are invoking vgic_connect_hw_irq multiple times for the same IRQ. Rework the checks to allow booting in this scenario. I have not seen any cases where the pre-existing p->desc is any different from the new desc, so BUG() out if they're different for now. Signed-off-by: Stewart Hildebrand <stewart.hildebrand@xxxxxxxxxxxxxxx> --- v3: new patch I tested on Xilinx Zynq UltraScale+ with the old vGIC. I have not fully tested with CONFIG_NEW_VGIC. This hack only became necessary after introducing the PPI series, and I'm not entirely sure what the reason is for that. I'm also unsure if BUG()ing out is the right thing to do in case of desc != p->desc, or what conditions would even trigger this? Is this function exposed to guests? This can happen with PPIs as the desc is per-CPU. If you migrate the vCPU to another pCPU, you will likely hit the BUG() below if the guest disabled the interrupt. But I don't think we should call vgic_connect_hw_irq() multiples time on the same IRQ. The upper layer should take care of such issue (such as setup_guest_irq()). Cheers, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |