[RFC 0/5] guest dedicated crypto adapters: QEMU usage

Tony Krowiak
2017-10-26T15:54:49Z

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@linux.vnet.ibm.com>

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