From: Cornelia Huck <cohuck@redhat.com>
To: Tony Krowiak <akrowiak@linux.vnet.ibm.com>
Cc: linux-s390@vger.kernel.org, qemu-s390x@nongnu.org,
kvm@vger.kernel.org, freude@de.ibm.com, schwidefsky@de.ibm.com,
heiko.carstens@de.ibm.com, borntraeger@de.ibm.com,
kwankhede@nvidia.com, bjsdjshi@linux.vnet.ibm.com,
pbonzini@redhat.com, alex.williamson@redhat.com,
pmorel@linux.vnet.ibm.com, alifm@linux.vnet.ibm.com,
mjrosato@linux.vnet.ibm.com, jjherne@linux.vnet.ibm.com,
thuth@redhat.com, pasic@linux.vnet.ibm.com,
qemu-devel@nongnu.org
Subject: Re: [RFC 1/5] s390x/ap-matrix: Adjunct Processor (AP) matrix object model
Date: Tue, 14 Nov 2017 15:58:44 +0100 [thread overview]
Message-ID: <20171114155844.60e10e1d.cohuck@redhat.com> (raw)
In-Reply-To: <1509033294-4945-2-git-send-email-akrowiak@linux.vnet.ibm.com>
On Thu, 26 Oct 2017 11:54:50 -0400
Tony Krowiak <akrowiak@linux.vnet.ibm.com> wrote:
> This patch introduces the base object model for an AP matrix device. An AP
> matrix is comprised of the AP adapters, usage domains and control domains
> assigned to a KVM guest. The matrix is represented in three bit masks:
>
> * The AP Mask (APM) specifies the AP adapters assigned to the
> KVM guest. The APM controls which adapters are valid for the KVM guest.
> The bits in the mask, from left to right, correspond to APIDs
> 0 up to the number of adapters that can be assigned to the LPAR. If a bit
> is set, the corresponding adapter is valid for use by the KVM guest.
>
> * The AP Queue Mask (AQM) specifies the AP usage domains assigned
> to the KVM guest. The bits in the mask, from left to right, correspond
> to the usage domains, from 0 up to the number of domains that can be
> assigned to the LPAR. If a bit is set, the corresponding usage domain is
> valid for use by the KVM guest.
>
> * The AP Domain Mask specifies the AP control domains assigned to the
> KVM guest. The ADM bitmask controls which domains can be changed by an AP
> command-request message sent to a usage domain from the guest. The bits in
> the mask, from left to right, correspond to domain 0 up to the number of
> domains that can be assigned to the LPAR. If a bit is set, the
> corresponding domain can be modified by an AP command-request message
> sent to a usage domain configured for the KVM guest.
>
> Signed-off-by: Tony Krowiak <akrowiak@linux.vnet.ibm.com>
> ---
> 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 ++++++++++++++++++++++++++++++++++++
> include/hw/s390x/s390-ap-matrix.h | 39 +++++++++++++++++++++++++++
> 5 files changed, 179 insertions(+), 0 deletions(-)
> 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 include/hw/s390x/s390-ap-matrix.h
>
> diff --git a/hw/s390x/ap-matrix-device.c b/hw/s390x/ap-matrix-device.c
> new file mode 100644
> index 0000000..d036ce2
> --- /dev/null
> +++ b/hw/s390x/ap-matrix-device.c
> @@ -0,0 +1,33 @@
> +/*
> + * Common device infrastructure for AP matrix devices
> + *
> + * Copyright 2016 IBM Corp.
Hm? ^^^^
> + * Author(s): Jing Liu <liujbjl@linux.vnet.ibm.com>
If Jing is the author, shouldn't the patch carry her s-o-b as well?
(I'm a bit confused about the history of this.)
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or (at
> + * your option) any later version. See the COPYING file in the top-level
> + * directory.
> + */
> +#include <ctype.h>
> +
> +#include "qemu/osdep.h"
> +#include "qemu/bitops.h"
> +#include "qemu/module.h"
> +#include "qapi/error.h"
> +#include "qapi/visitor.h"
> +#include "ap-matrix-device.h"
> +
> +static const TypeInfo ap_matrix_device_info = {
> + .name = TYPE_AP_MATRIX_DEVICE,
> + .parent = TYPE_DEVICE,
> + .instance_size = sizeof(APMatrixDevice),
> + .class_size = sizeof(APMatrixDeviceClass),
> + .abstract = true,
> +};
> +
> +static void ap_matrix_device_register(void)
> +{
> + type_register_static(&ap_matrix_device_info);
> +}
> +
> +type_init(ap_matrix_device_register)
> diff --git a/hw/s390x/ap-matrix-device.h b/hw/s390x/ap-matrix-device.h
> new file mode 100644
> index 0000000..af7ae2c
> --- /dev/null
> +++ b/hw/s390x/ap-matrix-device.h
> @@ -0,0 +1,53 @@
> +/*
> + * Adjunct Processor (AP) matrix device structures
> + *
> + * Copyright 2016 IBM Corp.
> + * Author(s): Tony Krowiak <akrowiak@linux.vnet.ibm.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or (at
> + * your option) any later version. See the COPYING file in the top-level
> + * directory.
> + */
> +
> +#ifndef HW_S390X_AP_MATRIX_DEVICE_H
> +#define HW_S390X_AP_MATRIX_DEVICE_H
> +#include "qom/object.h"
> +#include "hw/qdev.h"
> +
> +#define AP_MATRIX_MASK_INDICES 4
> +#define AP_MATRIX_MAX_MASK_BITS 256
> +
> +typedef struct APMatrixMasks {
> + uint64_t apm[AP_MATRIX_MASK_INDICES];
> + uint64_t aqm[AP_MATRIX_MASK_INDICES];
> + uint64_t adm[AP_MATRIX_MASK_INDICES];
> +} APMatrixMasks;
> +
> +typedef struct APMatrixDevice {
> + DeviceState parent_obj;
> + APMatrixMasks masks;
> +} APMatrixDevice;
> +
> +extern const VMStateDescription vmstate_ap_matrix_dev;
> +#define VMSTATE_AP_MATRIX_DEVICE(_field, _state) \
> + VMSTATE_STRUCT(_field, _state, 1, vmstate_ap_matrix_dev, APMatrixDevice)
I'm wondering about migration: can the other side easily reconstruct
the state on the target?
> +
> +typedef struct APMatrixDeviceClass {
> + DeviceClass parent_class;
> +} APMatrixDeviceClass;
> +
> +static inline APMatrixDevice *to_ap_matrix_dev(DeviceState *dev)
> +{
> + return container_of(dev, APMatrixDevice, parent_obj);
> +}
> +
> +#define TYPE_AP_MATRIX_DEVICE "ap-matrix-device"
> +
> +#define AP_MATRIX_DEVICE(obj) \
> + OBJECT_CHECK(APMatrixDevice, (obj), TYPE_AP_MATRIX_DEVICE)
> +#define AP_MATRIX_DEVICE_GET_CLASS(obj) \
> + OBJECT_GET_CLASS(AP_MATRIXDeviceClass, (obj), TYPE_AP_MATRIX_DEVICE)
> +#define AP_MATRIX_DEVICE_CLASS(klass) \
> + OBJECT_CLASS_CHECK(AP_MATRIXDeviceClass, (klass), TYPE_AP_MATRIX_DEVICE)
> +
> +#endif
> diff --git a/hw/s390x/s390-ap-matrix.c b/hw/s390x/s390-ap-matrix.c
> new file mode 100644
> index 0000000..6d2e234
> --- /dev/null
> +++ b/hw/s390x/s390-ap-matrix.c
> @@ -0,0 +1,52 @@
> +/*
> + * s390 AP Matrix Assignment Support
> + *
> + * Copyright 2017 IBM Corp
> + * Author(s): Tony Krowiak <akrowiak@linux.vnet.ibm.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2
> + * or (at your option) any later version. See the COPYING file in the
> + * top-level directory.
> + */
> +#include "qemu/osdep.h"
> +#include "qapi/error.h"
> +#include "hw/sysbus.h"
> +#include "libgen.h"
> +#include "hw/s390x/s390-ap-matrix.h"
> +
> +static void s390_ap_matrix_device_realize(S390APMatrixDevice *sapmdev,
> + APMatrixMasks *masks,
> + Error **errp)
> +{
> + size_t i;
> + APMatrixDevice *apmdev = AP_MATRIX_DEVICE(sapmdev);
> +
> + for (i = 0; i < AP_MATRIX_MASK_INDICES; i++) {
> + apmdev->masks.apm[i] = masks->apm[i];
> + apmdev->masks.aqm[i] = masks->aqm[i];
> + apmdev->masks.adm[i] = masks->adm[i];
These masks are presumably provided in a later patch?
> + }
> +}
> +
> +static void s390_ap_matrix_class_init(ObjectClass *klass, void *data)
> +{
> + S390APMatrixDeviceClass *apmc = S390_AP_MATRIX_DEVICE_CLASS(klass);
> +
> + apmc->realize = s390_ap_matrix_device_realize;
> +}
> +
> +static const TypeInfo s390_ap_matrix_info = {
> + .name = TYPE_S390_AP_MATRIX_DEVICE,
> + .parent = TYPE_AP_MATRIX_DEVICE,
> + .instance_size = sizeof(S390APMatrixDevice),
> + .class_size = sizeof(S390APMatrixDeviceClass),
> + .class_init = s390_ap_matrix_class_init,
> + .abstract = true,
> +};
> +
> +static void register_s390_ap_matrix_type(void)
> +{
> + type_register_static(&s390_ap_matrix_info);
> +}
> +
> +type_init(register_s390_ap_matrix_type)
> diff --git a/include/hw/s390x/s390-ap-matrix.h b/include/hw/s390x/s390-ap-matrix.h
> new file mode 100644
> index 0000000..b088841
> --- /dev/null
> +++ b/include/hw/s390x/s390-ap-matrix.h
> @@ -0,0 +1,39 @@
> +/*
> + * s390 AP Matrix Assignment Support
> + *
> + * Copyright 2017 IBM Corp.
> + * Author(s): Tony Krowiak <akrowiak@linux.vnet.ibm.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or (at
> + * your option) any later version. See the COPYING file in the top-level
> + * directory.
> + */
> +
> +#ifndef HW_S390_AP_MATRIX_H
> +#define HW_S390_AP_MATRIX_H
> +
> +#include "hw/s390x/ap-matrix-device.h"
> +
> +#define AP_MATRIX_ADAPTERS_PROP_NAME "adapters"
> +#define AP_MATRIX_DOMAINS_PROP_NAME "domains"
> +#define AP_MATRIX_CONTROLS_PROP_NAME "controls"
Also used in a later patch?
> +#define TYPE_S390_AP_MATRIX_DEVICE "s390-ap-matrix"
> +#define S390_AP_MATRIX_DEVICE(obj) \
> + OBJECT_CHECK(S390APMatrixDevice, (obj), TYPE_S390_AP_MATRIX_DEVICE)
> +#define S390_AP_MATRIX_DEVICE_CLASS(klass) \
> + OBJECT_CLASS_CHECK(S390APMatrixDeviceClass, (klass), \
> + TYPE_S390_AP_MATRIX_DEVICE)
> +#define S390_AP_MATRIX_DEVICE_GET_CLASS(obj) \
> + OBJECT_GET_CLASS(S390APMatrixDeviceClass, (obj), TYPE_S390_AP_MATRIX_DEVICE)
> +
> +typedef struct S390APMatrixDevice {
> + APMatrixDevice parent_obj;
> +} S390APMatrixDevice;
> +
> +typedef struct S390APMatrixDeviceClass {
> + APMatrixDeviceClass parent_class;
> + void (*realize)(S390APMatrixDevice *sapmdev, APMatrixMasks *masks,
> + Error **errp);
> +} S390APMatrixDeviceClass;
> +
> +#endif
WARNING: multiple messages have this Message-ID (diff)
From: Cornelia Huck <cohuck@redhat.com>
To: Tony Krowiak <akrowiak@linux.vnet.ibm.com>
Cc: linux-s390@vger.kernel.org, qemu-s390x@nongnu.org,
kvm@vger.kernel.org, freude@de.ibm.com, schwidefsky@de.ibm.com,
heiko.carstens@de.ibm.com, borntraeger@de.ibm.com,
kwankhede@nvidia.com, bjsdjshi@linux.vnet.ibm.com,
pbonzini@redhat.com, alex.williamson@redhat.com,
pmorel@linux.vnet.ibm.com, alifm@linux.vnet.ibm.com,
mjrosato@linux.vnet.ibm.com, jjherne@linux.vnet.ibm.com,
thuth@redhat.com, pasic@linux.vnet.ibm.com,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC 1/5] s390x/ap-matrix: Adjunct Processor (AP) matrix object model
Date: Tue, 14 Nov 2017 15:58:44 +0100 [thread overview]
Message-ID: <20171114155844.60e10e1d.cohuck@redhat.com> (raw)
In-Reply-To: <1509033294-4945-2-git-send-email-akrowiak@linux.vnet.ibm.com>
On Thu, 26 Oct 2017 11:54:50 -0400
Tony Krowiak <akrowiak@linux.vnet.ibm.com> wrote:
> This patch introduces the base object model for an AP matrix device. An AP
> matrix is comprised of the AP adapters, usage domains and control domains
> assigned to a KVM guest. The matrix is represented in three bit masks:
>
> * The AP Mask (APM) specifies the AP adapters assigned to the
> KVM guest. The APM controls which adapters are valid for the KVM guest.
> The bits in the mask, from left to right, correspond to APIDs
> 0 up to the number of adapters that can be assigned to the LPAR. If a bit
> is set, the corresponding adapter is valid for use by the KVM guest.
>
> * The AP Queue Mask (AQM) specifies the AP usage domains assigned
> to the KVM guest. The bits in the mask, from left to right, correspond
> to the usage domains, from 0 up to the number of domains that can be
> assigned to the LPAR. If a bit is set, the corresponding usage domain is
> valid for use by the KVM guest.
>
> * The AP Domain Mask specifies the AP control domains assigned to the
> KVM guest. The ADM bitmask controls which domains can be changed by an AP
> command-request message sent to a usage domain from the guest. The bits in
> the mask, from left to right, correspond to domain 0 up to the number of
> domains that can be assigned to the LPAR. If a bit is set, the
> corresponding domain can be modified by an AP command-request message
> sent to a usage domain configured for the KVM guest.
>
> Signed-off-by: Tony Krowiak <akrowiak@linux.vnet.ibm.com>
> ---
> 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 ++++++++++++++++++++++++++++++++++++
> include/hw/s390x/s390-ap-matrix.h | 39 +++++++++++++++++++++++++++
> 5 files changed, 179 insertions(+), 0 deletions(-)
> 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 include/hw/s390x/s390-ap-matrix.h
>
> diff --git a/hw/s390x/ap-matrix-device.c b/hw/s390x/ap-matrix-device.c
> new file mode 100644
> index 0000000..d036ce2
> --- /dev/null
> +++ b/hw/s390x/ap-matrix-device.c
> @@ -0,0 +1,33 @@
> +/*
> + * Common device infrastructure for AP matrix devices
> + *
> + * Copyright 2016 IBM Corp.
Hm? ^^^^
> + * Author(s): Jing Liu <liujbjl@linux.vnet.ibm.com>
If Jing is the author, shouldn't the patch carry her s-o-b as well?
(I'm a bit confused about the history of this.)
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or (at
> + * your option) any later version. See the COPYING file in the top-level
> + * directory.
> + */
> +#include <ctype.h>
> +
> +#include "qemu/osdep.h"
> +#include "qemu/bitops.h"
> +#include "qemu/module.h"
> +#include "qapi/error.h"
> +#include "qapi/visitor.h"
> +#include "ap-matrix-device.h"
> +
> +static const TypeInfo ap_matrix_device_info = {
> + .name = TYPE_AP_MATRIX_DEVICE,
> + .parent = TYPE_DEVICE,
> + .instance_size = sizeof(APMatrixDevice),
> + .class_size = sizeof(APMatrixDeviceClass),
> + .abstract = true,
> +};
> +
> +static void ap_matrix_device_register(void)
> +{
> + type_register_static(&ap_matrix_device_info);
> +}
> +
> +type_init(ap_matrix_device_register)
> diff --git a/hw/s390x/ap-matrix-device.h b/hw/s390x/ap-matrix-device.h
> new file mode 100644
> index 0000000..af7ae2c
> --- /dev/null
> +++ b/hw/s390x/ap-matrix-device.h
> @@ -0,0 +1,53 @@
> +/*
> + * Adjunct Processor (AP) matrix device structures
> + *
> + * Copyright 2016 IBM Corp.
> + * Author(s): Tony Krowiak <akrowiak@linux.vnet.ibm.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or (at
> + * your option) any later version. See the COPYING file in the top-level
> + * directory.
> + */
> +
> +#ifndef HW_S390X_AP_MATRIX_DEVICE_H
> +#define HW_S390X_AP_MATRIX_DEVICE_H
> +#include "qom/object.h"
> +#include "hw/qdev.h"
> +
> +#define AP_MATRIX_MASK_INDICES 4
> +#define AP_MATRIX_MAX_MASK_BITS 256
> +
> +typedef struct APMatrixMasks {
> + uint64_t apm[AP_MATRIX_MASK_INDICES];
> + uint64_t aqm[AP_MATRIX_MASK_INDICES];
> + uint64_t adm[AP_MATRIX_MASK_INDICES];
> +} APMatrixMasks;
> +
> +typedef struct APMatrixDevice {
> + DeviceState parent_obj;
> + APMatrixMasks masks;
> +} APMatrixDevice;
> +
> +extern const VMStateDescription vmstate_ap_matrix_dev;
> +#define VMSTATE_AP_MATRIX_DEVICE(_field, _state) \
> + VMSTATE_STRUCT(_field, _state, 1, vmstate_ap_matrix_dev, APMatrixDevice)
I'm wondering about migration: can the other side easily reconstruct
the state on the target?
> +
> +typedef struct APMatrixDeviceClass {
> + DeviceClass parent_class;
> +} APMatrixDeviceClass;
> +
> +static inline APMatrixDevice *to_ap_matrix_dev(DeviceState *dev)
> +{
> + return container_of(dev, APMatrixDevice, parent_obj);
> +}
> +
> +#define TYPE_AP_MATRIX_DEVICE "ap-matrix-device"
> +
> +#define AP_MATRIX_DEVICE(obj) \
> + OBJECT_CHECK(APMatrixDevice, (obj), TYPE_AP_MATRIX_DEVICE)
> +#define AP_MATRIX_DEVICE_GET_CLASS(obj) \
> + OBJECT_GET_CLASS(AP_MATRIXDeviceClass, (obj), TYPE_AP_MATRIX_DEVICE)
> +#define AP_MATRIX_DEVICE_CLASS(klass) \
> + OBJECT_CLASS_CHECK(AP_MATRIXDeviceClass, (klass), TYPE_AP_MATRIX_DEVICE)
> +
> +#endif
> diff --git a/hw/s390x/s390-ap-matrix.c b/hw/s390x/s390-ap-matrix.c
> new file mode 100644
> index 0000000..6d2e234
> --- /dev/null
> +++ b/hw/s390x/s390-ap-matrix.c
> @@ -0,0 +1,52 @@
> +/*
> + * s390 AP Matrix Assignment Support
> + *
> + * Copyright 2017 IBM Corp
> + * Author(s): Tony Krowiak <akrowiak@linux.vnet.ibm.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2
> + * or (at your option) any later version. See the COPYING file in the
> + * top-level directory.
> + */
> +#include "qemu/osdep.h"
> +#include "qapi/error.h"
> +#include "hw/sysbus.h"
> +#include "libgen.h"
> +#include "hw/s390x/s390-ap-matrix.h"
> +
> +static void s390_ap_matrix_device_realize(S390APMatrixDevice *sapmdev,
> + APMatrixMasks *masks,
> + Error **errp)
> +{
> + size_t i;
> + APMatrixDevice *apmdev = AP_MATRIX_DEVICE(sapmdev);
> +
> + for (i = 0; i < AP_MATRIX_MASK_INDICES; i++) {
> + apmdev->masks.apm[i] = masks->apm[i];
> + apmdev->masks.aqm[i] = masks->aqm[i];
> + apmdev->masks.adm[i] = masks->adm[i];
These masks are presumably provided in a later patch?
> + }
> +}
> +
> +static void s390_ap_matrix_class_init(ObjectClass *klass, void *data)
> +{
> + S390APMatrixDeviceClass *apmc = S390_AP_MATRIX_DEVICE_CLASS(klass);
> +
> + apmc->realize = s390_ap_matrix_device_realize;
> +}
> +
> +static const TypeInfo s390_ap_matrix_info = {
> + .name = TYPE_S390_AP_MATRIX_DEVICE,
> + .parent = TYPE_AP_MATRIX_DEVICE,
> + .instance_size = sizeof(S390APMatrixDevice),
> + .class_size = sizeof(S390APMatrixDeviceClass),
> + .class_init = s390_ap_matrix_class_init,
> + .abstract = true,
> +};
> +
> +static void register_s390_ap_matrix_type(void)
> +{
> + type_register_static(&s390_ap_matrix_info);
> +}
> +
> +type_init(register_s390_ap_matrix_type)
> diff --git a/include/hw/s390x/s390-ap-matrix.h b/include/hw/s390x/s390-ap-matrix.h
> new file mode 100644
> index 0000000..b088841
> --- /dev/null
> +++ b/include/hw/s390x/s390-ap-matrix.h
> @@ -0,0 +1,39 @@
> +/*
> + * s390 AP Matrix Assignment Support
> + *
> + * Copyright 2017 IBM Corp.
> + * Author(s): Tony Krowiak <akrowiak@linux.vnet.ibm.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or (at
> + * your option) any later version. See the COPYING file in the top-level
> + * directory.
> + */
> +
> +#ifndef HW_S390_AP_MATRIX_H
> +#define HW_S390_AP_MATRIX_H
> +
> +#include "hw/s390x/ap-matrix-device.h"
> +
> +#define AP_MATRIX_ADAPTERS_PROP_NAME "adapters"
> +#define AP_MATRIX_DOMAINS_PROP_NAME "domains"
> +#define AP_MATRIX_CONTROLS_PROP_NAME "controls"
Also used in a later patch?
> +#define TYPE_S390_AP_MATRIX_DEVICE "s390-ap-matrix"
> +#define S390_AP_MATRIX_DEVICE(obj) \
> + OBJECT_CHECK(S390APMatrixDevice, (obj), TYPE_S390_AP_MATRIX_DEVICE)
> +#define S390_AP_MATRIX_DEVICE_CLASS(klass) \
> + OBJECT_CLASS_CHECK(S390APMatrixDeviceClass, (klass), \
> + TYPE_S390_AP_MATRIX_DEVICE)
> +#define S390_AP_MATRIX_DEVICE_GET_CLASS(obj) \
> + OBJECT_GET_CLASS(S390APMatrixDeviceClass, (obj), TYPE_S390_AP_MATRIX_DEVICE)
> +
> +typedef struct S390APMatrixDevice {
> + APMatrixDevice parent_obj;
> +} S390APMatrixDevice;
> +
> +typedef struct S390APMatrixDeviceClass {
> + APMatrixDeviceClass parent_class;
> + void (*realize)(S390APMatrixDevice *sapmdev, APMatrixMasks *masks,
> + Error **errp);
> +} S390APMatrixDeviceClass;
> +
> +#endif
next prev parent reply other threads:[~2017-11-14 14:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-26 15:54 [RFC 0/5] guest dedicated crypto adapters: QEMU usage Tony Krowiak
2017-10-26 15:54 ` [RFC 1/5] s390x/ap-matrix: Adjunct Processor (AP) matrix object model Tony Krowiak
2017-11-14 14:58 ` Cornelia Huck [this message]
2017-11-14 14:58 ` [Qemu-devel] " Cornelia Huck
2017-10-26 15:54 ` [RFC 2/5] s390x/vfio: ap-matrix: Introduce VFIO AP Matrix device Tony Krowiak
2017-11-14 15:03 ` Cornelia Huck
2017-11-14 15:03 ` [Qemu-devel] " Cornelia Huck
2017-10-26 15:54 ` [RFC 3/5] s390x/ap-matrix: Configure AP matrix for KVM guest Tony Krowiak
2017-11-14 15:07 ` Cornelia Huck
2017-11-14 15:07 ` [Qemu-devel] " Cornelia Huck
2017-10-26 15:54 ` [RFC 4/5] s390x/cpumodel: enable AP facilities for guest Tony Krowiak
2017-11-14 15:11 ` Cornelia Huck
2017-11-14 15:11 ` [Qemu-devel] " Cornelia Huck
2017-11-14 16:23 ` David Hildenbrand
2017-11-14 16:23 ` [Qemu-devel] " David Hildenbrand
2017-10-26 15:54 ` [RFC 5/5] s390x/docs: documentation for ap-matrix Tony Krowiak
2017-11-14 15:21 ` Cornelia Huck
2017-11-14 15:21 ` [Qemu-devel] " Cornelia Huck
2017-11-14 15:23 ` [RFC 0/5] guest dedicated crypto adapters: QEMU usage Cornelia Huck
2017-11-14 15:23 ` [Qemu-devel] " Cornelia Huck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171114155844.60e10e1d.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=akrowiak@linux.vnet.ibm.com \
--cc=alex.williamson@redhat.com \
--cc=alifm@linux.vnet.ibm.com \
--cc=bjsdjshi@linux.vnet.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=freude@de.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=jjherne@linux.vnet.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=kwankhede@nvidia.com \
--cc=linux-s390@vger.kernel.org \
--cc=mjrosato@linux.vnet.ibm.com \
--cc=pasic@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=pmorel@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=schwidefsky@de.ibm.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.