On Fri, Mar 17, 2017 at 1:39 PM, Oleksandr Andrushchenko andr2000@gmail.com wrote:
Hello, I am writing a para-virtualized DRM driver for Xen hypervisor and it now works with DRM CMA helpers, but I would also like to make it work with non-contigous memory: virtual machine that the driver runs in can't guarantee that CMA is actually physically contigous (that is not a problem because of IPMMU and other means, the only constraint I have is that I cannot mmap with pgprot == noncached). So, I am planning to use *drm_gem_get_pages* + *shmem_read_mapping_page_gfp* to allocate memory for GEM objects (scanout buffers + dma-bufs shared with virtual GPU)
Do you think this is the right approach to take?
I guess if you had some case where you needed to "migrate" buffers between host and guest memory, then TTM might be useful. Otherwise this sounds like the right approach.
BR, -R