ocxl: Driver code for 'generic' opencapi devices
[linux-block.git] / include / uapi / misc / ocxl.h
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2 /* Copyright 2017 IBM Corp. */
3 #ifndef _UAPI_MISC_OCXL_H
4 #define _UAPI_MISC_OCXL_H
5
6 #include <linux/types.h>
7 #include <linux/ioctl.h>
8
9 enum ocxl_event_type {
10         OCXL_AFU_EVENT_XSL_FAULT_ERROR = 0,
11 };
12
13 #define OCXL_KERNEL_EVENT_FLAG_LAST 0x0001  /* This is the last event pending */
14
15 struct ocxl_kernel_event_header {
16         __u16 type;
17         __u16 flags;
18         __u32 reserved;
19 };
20
21 struct ocxl_kernel_event_xsl_fault_error {
22         __u64 addr;
23         __u64 dsisr;
24         __u64 count;
25         __u64 reserved;
26 };
27
28 struct ocxl_ioctl_attach {
29         __u64 amr;
30         __u64 reserved1;
31         __u64 reserved2;
32         __u64 reserved3;
33 };
34
35 /* ioctl numbers */
36 #define OCXL_MAGIC 0xCA
37 /* AFU devices */
38 #define OCXL_IOCTL_ATTACH       _IOW(OCXL_MAGIC, 0x10, struct ocxl_ioctl_attach)
39
40 #endif /* _UAPI_MISC_OCXL_H */