]> git.baikalelectronics.ru Git - kernel.git/commit
xen/arm: use hypercall to flush caches in map_page
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Fri, 21 Nov 2014 11:05:39 +0000 (11:05 +0000)
committerDavid Vrabel <david.vrabel@citrix.com>
Thu, 4 Dec 2014 12:41:52 +0000 (12:41 +0000)
commit697f9f47630bfae515cf16fb1e446a6ca43c601a
tree69da5f20e5354507e3219eaeb6e72b7e5e93f58d
parent16735b3dc7155fd9f72c27a4da395e7b167d4966
xen/arm: use hypercall to flush caches in map_page

In xen_dma_map_page, if the page is a local page, call the native
map_page dma_ops. If the page is foreign, call __xen_dma_map_page that
issues any required cache maintenane operations via hypercall.

The reason for doing this is that the native dma_ops map_page could
allocate buffers than need to be freed. If the page is foreign we don't
call the native unmap_page dma_ops function, resulting in a memory leak.

Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm/include/asm/xen/page-coherent.h
arch/arm/xen/mm32.c