On a dual-core ARM SOC (Zynq7020), I have Linux running on core0 and
an RTOS running on core1.  I share data between the two cores with a
4MB block of DDR RAM that I've marked in the MMU as shareable and
non-cacheable.  I use an entry in the device tree and the
uio_pdrv_genirq driver to create an uio device (/dev/uio0) in Linux.
With this device, I can use mmap to read/write the block of DDR RAM
from Linux.

Even though it's meant for memory mapped devices, the uio_pdrv_genirq
driver seems to work for accessing shared DDR RAM.  Are there any
potential issues that may arise from using this driver for accessing
shared DDR RAM?

Is the uio_dmem_genirq driver more appropriate for this? I couldn't
get it to work though, perhaps because of this bug:
https://forums.xilinx.com/t5/Embedded-Linux/Bug-in-uio-dmem-genirq-UIO-driver-support-for-device-tree/td-p/569120

Thanks for any advice/help.

Ed

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to