[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: IOMMU problem on Xen dom0 arm (Was: Re: Xen on arm Chromebook seems to cause no display on screen)
Hi Chuck, On 27/10/2023 15:40, Chuck Zmudzinski wrote: On 10/27/2023 9:44 AM, Julien Grall wrote:Hi Chuck, On 27/10/2023 04:42, Chuck Zmudzinski wrote:On 10/26/2023 5:24 PM, Julien Grall wrote:I am not quite too sure why the check implies the IOMMU is not supported. That said, I vaguely recall that Linux will update the DMA ops when running under Xen. Would you be able to print the two values returned ("%pS" should give the symbol)?I got those values: [ 2.552094] [drm] dma_ops(priv->dma_dev): 0xc0d018c0, dma_ops(subdrv_dev): 0xc0d662dc I presume you know how to interpret those. The failed test is that they are not equal.Unfortunately the values are specific to the kernel build. From [1], I was expecting that %pS would print something like: %pS versatile_init+0x0/0x110 Can you use 'nm', gdb or addr2line to find out the associated the symbols?From addr2line and nm, I get this: 0xc0d018c0 is in dma_mapping.c, symbol is iommu_ops 0xc0d662dc is in swiotlb-xen.c, symbol is xen_swiotlb_dma_ops Thanks! AFAICT, xen_swiotlb_dma_ops will be set by arch_setup_dma_ops() when Xen swiotlb is detected. I am not sure who is setting iommu_ops given that arch_setup_dma_ops() is always overriding the dma_ops. IIRC xen_swiotlb_dma_ops is only necessary on Arm when you have PV backend running. As you are still at boot, you could try to remove the call and see if you can get the IOMMU working. If it works, then maybe xen_setup_dma_ops() should not override dma_ops if it is set. Actually, I am assuming we will have the exact same problem when we start to support stage-1 IOMMU on Xen. Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |