1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _VFIO_CCW_H_
20 #define _VFIO_CCW_H_
21 #include <linux/types.h>
22 struct ccw_io_region {
23 #define ORB_AREA_SIZE 12
24   __u8 orb_area[ORB_AREA_SIZE];
25 #define SCSW_AREA_SIZE 12
26   __u8 scsw_area[SCSW_AREA_SIZE];
27 #define IRB_AREA_SIZE 96
28   __u8 irb_area[IRB_AREA_SIZE];
29   __u32 ret_code;
30 } __packed;
31 #define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0)
32 #define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1)
33 struct ccw_cmd_region {
34   __u32 command;
35   __u32 ret_code;
36 } __packed;
37 struct ccw_schib_region {
38 #define SCHIB_AREA_SIZE 52
39   __u8 schib_area[SCHIB_AREA_SIZE];
40 } __packed;
41 struct ccw_crw_region {
42   __u32 crw;
43   __u32 pad;
44 } __packed;
45 #endif
46