I was asked to post this QEMU patch set to the mailing list to illustrate how the KVM/kernel counterpart will be used. The KVM/kernel patches can be viewed at: https://lkml.org/lkml/2017/10/13/706 The IBM Adjunct Processor (AP) Cryptographic Facility is comprised of three AP instructions and from 1 to 256 PCIe cryptographic adapter cards. These AP adapters provide cryptographic functions to all CPUs assigned to a linux system running in an IBM Z system LPAR. This patch series introduces a new QEMU command line option and QEMU object model to obtain direct guest access to one or more AP adapter cards assigned to the LPAR in which the host linux system is running. It is predicated on the KVM/kernel model for providing direct guest access to AP adapters. A complete description for dedicating crypto adapters to a linux guest can be found in the docs/ap-matrix.txt file provided with this patch set. Signed-off-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx> Tony Krowiak (5): s390x/ap-matrix: Adjunct Processor (AP) matrix object model s390x/vfio: ap-matrix: Introduce VFIO AP Matrix device s390x/ap-matrix: Configure AP matrix for KVM guest s390x/cpumodel: enable AP facilities for guest s390x/docs: documentation for ap-matrix default-configs/s390x-softmmu.mak | 1 + docs/ap_matrix.txt | 529 +++++++++++++++++++++++++++++++++++++ hw/s390x/Makefile.objs | 2 + hw/s390x/ap-matrix-device.c | 33 +++ hw/s390x/ap-matrix-device.h | 53 ++++ hw/s390x/s390-ap-matrix.c | 52 ++++ hw/vfio/Makefile.objs | 1 + hw/vfio/ap-matrix.c | 224 ++++++++++++++++ include/hw/s390x/s390-ap-matrix.h | 39 +++ include/hw/vfio/vfio-common.h | 1 + linux-headers/linux/vfio.h | 29 ++- target/s390x/cpu_features.c | 2 + target/s390x/cpu_features_def.h | 2 + target/s390x/gen-features.c | 4 + 14 files changed, 969 insertions(+), 3 deletions(-) create mode 100644 docs/ap_matrix.txt create mode 100644 hw/s390x/ap-matrix-device.c create mode 100644 hw/s390x/ap-matrix-device.h create mode 100644 hw/s390x/s390-ap-matrix.c create mode 100644 hw/vfio/ap-matrix.c create mode 100644 include/hw/s390x/s390-ap-matrix.h