diff options
Diffstat (limited to 'include/uapi/misc/ocxl.h')
| -rw-r--r-- | include/uapi/misc/ocxl.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/uapi/misc/ocxl.h b/include/uapi/misc/ocxl.h index 4b0b0b756f3e..0af83d80fb3e 100644 --- a/include/uapi/misc/ocxl.h +++ b/include/uapi/misc/ocxl.h | |||
| @@ -32,6 +32,22 @@ struct ocxl_ioctl_attach { | |||
| 32 | __u64 reserved3; | 32 | __u64 reserved3; |
| 33 | }; | 33 | }; |
| 34 | 34 | ||
| 35 | struct ocxl_ioctl_metadata { | ||
| 36 | __u16 version; // struct version, always backwards compatible | ||
| 37 | |||
| 38 | // Version 0 fields | ||
| 39 | __u8 afu_version_major; | ||
| 40 | __u8 afu_version_minor; | ||
| 41 | __u32 pasid; // PASID assigned to the current context | ||
| 42 | |||
| 43 | __u64 pp_mmio_size; // Per PASID MMIO size | ||
| 44 | __u64 global_mmio_size; | ||
| 45 | |||
| 46 | // End version 0 fields | ||
| 47 | |||
| 48 | __u64 reserved[13]; // Total of 16*u64 | ||
| 49 | }; | ||
| 50 | |||
| 35 | struct ocxl_ioctl_irq_fd { | 51 | struct ocxl_ioctl_irq_fd { |
| 36 | __u64 irq_offset; | 52 | __u64 irq_offset; |
| 37 | __s32 eventfd; | 53 | __s32 eventfd; |
| @@ -45,5 +61,6 @@ struct ocxl_ioctl_irq_fd { | |||
| 45 | #define OCXL_IOCTL_IRQ_ALLOC _IOR(OCXL_MAGIC, 0x11, __u64) | 61 | #define OCXL_IOCTL_IRQ_ALLOC _IOR(OCXL_MAGIC, 0x11, __u64) |
| 46 | #define OCXL_IOCTL_IRQ_FREE _IOW(OCXL_MAGIC, 0x12, __u64) | 62 | #define OCXL_IOCTL_IRQ_FREE _IOW(OCXL_MAGIC, 0x12, __u64) |
| 47 | #define OCXL_IOCTL_IRQ_SET_FD _IOW(OCXL_MAGIC, 0x13, struct ocxl_ioctl_irq_fd) | 63 | #define OCXL_IOCTL_IRQ_SET_FD _IOW(OCXL_MAGIC, 0x13, struct ocxl_ioctl_irq_fd) |
| 64 | #define OCXL_IOCTL_GET_METADATA _IOR(OCXL_MAGIC, 0x14, struct ocxl_ioctl_metadata) | ||
| 48 | 65 | ||
| 49 | #endif /* _UAPI_MISC_OCXL_H */ | 66 | #endif /* _UAPI_MISC_OCXL_H */ |
