On 05/31/2018 04:46 AM, Boris Ostrovsky wrote:
On 05/25/2018 11:33 AM, Oleksandr Andrushchenko wrote:
Oleksandr Andrushchenko (8):
xen/grant-table: Make set/clear page private code shared
xen/balloon: Move common memory reservation routines to a module
xen/grant-table: Allow allocating buffers suitable for DMA
xen/gntdev: Allow mappings for DMA buffers
xen/gntdev: Add initial support for dma-buf UAPI
xen/gntdev: Implement dma-buf export functionality
xen/gntdev: Implement dma-buf import functionality
xen/gntdev: Expose gntdev's dma-buf API for in-kernel use
drivers/xen/Kconfig | 23 +
drivers/xen/Makefile | 1 +
drivers/xen/balloon.c | 71 +--
drivers/xen/gntdev.c | 1025 ++++++++++++++++++++++++++++++++-
I think this calls for gntdev_dma.c.
I assume you mean as a separate file (part of gntdev driver)?
I only had a quick look over gntdev changes but they very much are
concentrated in dma-specific routines.
I tried to do that, but there are some dependencies between the gntdev.c
and gntdev_dma.c,
so finally I decided to put it all together.
You essentially only share file_operations entry points with original
gntdev code, right?
fops + mappings done by gntdev (struct grant_map) and I need to release
map on dma_buf .release
callback which makes some cross-dependencies between modules which
seemed to be not cute
(gntdev keeps its all structs and functions inside, so I cannot easily
access those w/o
helpers).
But I'll try one more time and move all DMA specific stuff into gntdev_dma.c
-boris
Thank you,
Oleksandr
drivers/xen/grant-table.c | 176 +++++-
drivers/xen/mem-reservation.c | 134 +++++
include/uapi/xen/gntdev.h | 106 ++++
include/xen/grant_dev.h | 37 ++
include/xen/grant_table.h | 28 +
include/xen/mem_reservation.h | 29 +
10 files changed, 1527 insertions(+), 103 deletions(-)
create mode 100644 drivers/xen/mem-reservation.c
create mode 100644 include/xen/grant_dev.h
create mode 100644 include/xen/mem_reservation.h