Hi Sjur, On (Fri) 01 Jun 2012 [09:31:30], Sjur BRENDELAND wrote: > 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... I don't have a problem with this. Thanks, Amit _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization