]>
Commit | Line | Data |
---|---|---|
dd873966 | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
74c98e20 CH |
2 | /* |
3 | * Interfaces for vfio-ccw | |
4 | * | |
5 | * Copyright IBM Corp. 2017 | |
6 | * | |
7 | * Author(s): Dong Jia Shi <[email protected]> | |
8 | */ | |
9 | ||
10 | #ifndef _VFIO_CCW_H_ | |
11 | #define _VFIO_CCW_H_ | |
12 | ||
13 | #include <linux/types.h> | |
14 | ||
d9cb4336 | 15 | /* used for START SUBCHANNEL, always present */ |
74c98e20 CH |
16 | struct ccw_io_region { |
17 | #define ORB_AREA_SIZE 12 | |
18 | __u8 orb_area[ORB_AREA_SIZE]; | |
19 | #define SCSW_AREA_SIZE 12 | |
20 | __u8 scsw_area[SCSW_AREA_SIZE]; | |
21 | #define IRB_AREA_SIZE 96 | |
22 | __u8 irb_area[IRB_AREA_SIZE]; | |
23 | __u32 ret_code; | |
24 | } __attribute__((packed)); | |
25 | ||
d9cb4336 CH |
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 | } __attribute__((packed)); | |
36 | ||
f76b348e CH |
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 | } __attribute__((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 | } __attribute__((packed)); | |
55 | ||
74c98e20 | 56 | #endif |