vfio: ccw: introduce channel program interfaces
authorDong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Fri, 17 Mar 2017 03:17:32 +0000 (04:17 +0100)
committerCornelia Huck <cornelia.huck@de.ibm.com>
Fri, 31 Mar 2017 10:55:05 +0000 (12:55 +0200)
commit0a19e61e6d4c6192077ead760ba0a2d350987d4c
tree6f94202d94e8163546d08bc1b37b4e0b148cd1e8
parent63f1934d562de7cf3124de0ef617dcd3be98b279
vfio: ccw: introduce channel program interfaces

Introduce ccwchain structure and helper functions that can be used to
handle a channel program issued from a virtual machine.

The following limitations apply:
1. Supports only prefetch enabled mode.
2. Supports idal(c64) ccw chaining.
3. Supports 4k idaw.
4. Supports ccw1.
5. Supports direct ccw chaining by translating them to idal ccws.

CCW translation requires to leverage the vfio_(un)pin_pages interfaces
to pin/unpin sets of mem pages frequently. Currently we have a lack of
support to do this in an efficient way. So we introduce pfn_array data
structure and helper functions to handle pin/unpin operations here.

Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Message-Id: <20170317031743.40128-6-bjsdjshi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
drivers/s390/cio/Makefile
drivers/s390/cio/vfio_ccw_cp.c [new file with mode: 0644]
drivers/s390/cio/vfio_ccw_cp.h [new file with mode: 0644]