[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 1/7] linux-headers: update
From: |
Eric Farman |
Subject: |
[PATCH v3 1/7] linux-headers: update |
Date: |
Fri, 17 Apr 2020 04:34:34 +0200 |
From: Farhan Ali <address@hidden>
Signed-off-by: Farhan Ali <address@hidden>
Signed-off-by: Eric Farman <address@hidden>
---
Notes:
v2->v3: [EF]
- Re-ran 16 April 2020 (based on kernel tag v5.6, and limited to
bits interesting to this series)
v1->v2: [EF]
- Re-ran 3 February 2020 (based on kernel tag v5.5)
v0->v1: [EF]
- Run scripts/update-linux-headers.sh properly, but do not
add resulting changes to linux-headers/asm-mips/
linux-headers/linux/vfio.h | 40 ++++++++++++++++++++++++++++++++++
linux-headers/linux/vfio_ccw.h | 18 +++++++++++++++
2 files changed, 58 insertions(+)
diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
index fb10370d29..9c8d889551 100644
--- a/linux-headers/linux/vfio.h
+++ b/linux-headers/linux/vfio.h
@@ -378,6 +378,8 @@ struct vfio_region_gfx_edid {
/* sub-types for VFIO_REGION_TYPE_CCW */
#define VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD (1)
+#define VFIO_REGION_SUBTYPE_CCW_SCHIB (2)
+#define VFIO_REGION_SUBTYPE_CCW_CRW (3)
/*
* The MSIX mappable capability informs that MSIX data of a BAR can be mmapped
@@ -577,6 +579,7 @@ enum {
enum {
VFIO_CCW_IO_IRQ_INDEX,
+ VFIO_CCW_CRW_IRQ_INDEX,
VFIO_CCW_NUM_IRQS
};
@@ -707,6 +710,43 @@ struct vfio_device_ioeventfd {
#define VFIO_DEVICE_IOEVENTFD _IO(VFIO_TYPE, VFIO_BASE + 16)
+/**
+ * VFIO_DEVICE_FEATURE - _IORW(VFIO_TYPE, VFIO_BASE + 17,
+ * struct vfio_device_feature)
+ *
+ * Get, set, or probe feature data of the device. The feature is selected
+ * using the FEATURE_MASK portion of the flags field. Support for a feature
+ * can be probed by setting both the FEATURE_MASK and PROBE bits. A probe
+ * may optionally include the GET and/or SET bits to determine read vs write
+ * access of the feature respectively. Probing a feature will return success
+ * if the feature is supported and all of the optionally indicated GET/SET
+ * methods are supported. The format of the data portion of the structure is
+ * specific to the given feature. The data portion is not required for
+ * probing. GET and SET are mutually exclusive, except for use with PROBE.
+ *
+ * Return 0 on success, -errno on failure.
+ */
+struct vfio_device_feature {
+ __u32 argsz;
+ __u32 flags;
+#define VFIO_DEVICE_FEATURE_MASK (0xffff) /* 16-bit feature index */
+#define VFIO_DEVICE_FEATURE_GET (1 << 16) /* Get feature into
data[] */
+#define VFIO_DEVICE_FEATURE_SET (1 << 17) /* Set feature from
data[] */
+#define VFIO_DEVICE_FEATURE_PROBE (1 << 18) /* Probe feature support */
+ __u8 data[];
+};
+
+#define VFIO_DEVICE_FEATURE _IO(VFIO_TYPE, VFIO_BASE + 17)
+
+/*
+ * Provide support for setting a PCI VF Token, which is used as a shared
+ * secret between PF and VF drivers. This feature may only be set on a
+ * PCI SR-IOV PF when SR-IOV is enabled on the PF and there are no existing
+ * open VFs. Data provided when setting this feature is a 16-byte array
+ * (__u8 b[16]), representing a UUID.
+ */
+#define VFIO_DEVICE_FEATURE_PCI_VF_TOKEN (0)
+
/* -------- API for Type1 VFIO IOMMU -------- */
/**
diff --git a/linux-headers/linux/vfio_ccw.h b/linux-headers/linux/vfio_ccw.h
index fcc3e69ef5..237fd5a618 100644
--- a/linux-headers/linux/vfio_ccw.h
+++ b/linux-headers/linux/vfio_ccw.h
@@ -34,4 +34,22 @@ struct ccw_cmd_region {
__u32 ret_code;
} __attribute__((packed));
+/*
+ * Used for processing commands that read the subchannel-information block
+ * Reading this region triggers a stsch() to hardware
+ * Note: this is controlled by a capability
+ */
+struct ccw_schib_region {
+#define SCHIB_AREA_SIZE 52
+ __u8 schib_area[SCHIB_AREA_SIZE];
+} __attribute__((packed));
+
+/*
+ * Used for returning Channel Report Word(s) to userspace.
+ * Note: this is controlled by a capability
+ */
+struct ccw_crw_region {
+ __u32 crw;
+} __attribute__((packed));
+
#endif
--
2.17.1
- [PATCH v3 0/7] s390x/vfio-ccw: Channel Path Handling [QEMU], Eric Farman, 2020/04/16
- [PATCH v3 2/7] vfio-ccw: Refactor cleanup of regions, Eric Farman, 2020/04/16
- [PATCH v3 6/7] s390x/css: Refactor the css_queue_crw() routine, Eric Farman, 2020/04/16
- [PATCH v3 7/7] vfio-ccw: Add support for the CRW irq, Eric Farman, 2020/04/16
- [PATCH v3 4/7] vfio-ccw: Add support for the crw region, Eric Farman, 2020/04/16
- [PATCH v3 1/7] linux-headers: update,
Eric Farman <=
- [PATCH v3 5/7] vfio-ccw: Refactor ccw irq handler, Eric Farman, 2020/04/16
- [PATCH v3 3/7] vfio-ccw: Add support for the schib region, Eric Farman, 2020/04/16
- Re: [PATCH v3 0/7] s390x/vfio-ccw: Channel Path Handling [QEMU], no-reply, 2020/04/16