hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/include/uapi/linux/vfio_ccw.h
....@@ -12,6 +12,7 @@
1212
1313 #include <linux/types.h>
1414
15
+/* used for START SUBCHANNEL, always present */
1516 struct ccw_io_region {
1617 #define ORB_AREA_SIZE 12
1718 __u8 orb_area[ORB_AREA_SIZE];
....@@ -22,4 +23,34 @@
2223 __u32 ret_code;
2324 } __packed;
2425
26
+/*
27
+ * used for processing commands that trigger asynchronous actions
28
+ * Note: this is controlled by a capability
29
+ */
30
+#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0)
31
+#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1)
32
+struct ccw_cmd_region {
33
+ __u32 command;
34
+ __u32 ret_code;
35
+} __packed;
36
+
37
+/*
38
+ * Used for processing commands that read the subchannel-information block
39
+ * Reading this region triggers a stsch() to hardware
40
+ * Note: this is controlled by a capability
41
+ */
42
+struct ccw_schib_region {
43
+#define SCHIB_AREA_SIZE 52
44
+ __u8 schib_area[SCHIB_AREA_SIZE];
45
+} __packed;
46
+
47
+/*
48
+ * Used for returning a Channel Report Word to userspace.
49
+ * Note: this is controlled by a capability
50
+ */
51
+struct ccw_crw_region {
52
+ __u32 crw;
53
+ __u32 pad;
54
+} __packed;
55
+
2556 #endif