Hi Amit and Rusty, I've been looking into the possibility of using the Virtio Console Driver together with the remoteproc framework to communicate with ST-Ericsson modem over shared memory. It seems like Virtio Console would be a good fit, except for a issue with buffer allocation. Due to HW limitations the STE-Modem cannot access kernel memory (no IOMMU and limited address range). Instead we have a designated shared memory region used for IPC. Due to this I cannot use kmalloc() for buffer allocation, but I have to allocate buffers from the memory region shared with the modem. In remoteproc this is solved by using dma_alloc_coherent() for all memory to be shared with the modem. This works fine for me, because I can pass the IPC memory region to dma_declare_coherent_memory() so dma_alloc_coherent() will allocate from this memory region. I think I can solve this issue in Virtio Console by changing calls to kmalloc() to something like: if (virtio_has_feature(vdev, VIRTIO_CONSOLE_USE_DMA_MEM)) { dma_addr_t dma; buf = dma_alloc_coherent(dev, size, &dma, GFP_KERNEL); } else buf = kmalloc(count, GFP_KERNEL); I'd like to get the opinion from you virtualization folks on this! If you think it looks reasonable I might start cooking some patches... Regards, Sjur _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization