include/uapi/misc/ocxl.h
Source file repositories/reference/linux-study-clean/include/uapi/misc/ocxl.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/misc/ocxl.h- Extension
.h- Size
- 1962 bytes
- Lines
- 81
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/ioctl.h
Detected Declarations
struct ocxl_kernel_event_headerstruct ocxl_kernel_event_xsl_fault_errorstruct ocxl_ioctl_attachstruct ocxl_ioctl_metadatastruct ocxl_ioctl_p9_waitstruct ocxl_ioctl_featuresstruct ocxl_ioctl_irq_fdenum ocxl_event_type
Annotated Snippet
struct ocxl_kernel_event_header {
__u16 type;
__u16 flags;
__u32 reserved;
};
struct ocxl_kernel_event_xsl_fault_error {
__u64 addr;
__u64 dsisr;
__u64 count;
__u64 reserved;
};
struct ocxl_ioctl_attach {
__u64 amr;
__u64 reserved1;
__u64 reserved2;
__u64 reserved3;
};
struct ocxl_ioctl_metadata {
__u16 version; /* struct version, always backwards compatible */
/* Version 0 fields */
__u8 afu_version_major;
__u8 afu_version_minor;
__u32 pasid; /* PASID assigned to the current context */
__u64 pp_mmio_size; /* Per PASID MMIO size */
__u64 global_mmio_size;
/* End version 0 fields */
__u64 reserved[13]; /* Total of 16*u64 */
};
struct ocxl_ioctl_p9_wait {
__u16 thread_id; /* The thread ID required to wake this thread */
__u16 reserved1;
__u32 reserved2;
__u64 reserved3[3];
};
#define OCXL_IOCTL_FEATURES_FLAGS0_P9_WAIT 0x01
struct ocxl_ioctl_features {
__u64 flags[4];
};
struct ocxl_ioctl_irq_fd {
__u64 irq_offset;
__s32 eventfd;
__u32 reserved;
};
/* ioctl numbers */
#define OCXL_MAGIC 0xCA
/* AFU devices */
#define OCXL_IOCTL_ATTACH _IOW(OCXL_MAGIC, 0x10, struct ocxl_ioctl_attach)
#define OCXL_IOCTL_IRQ_ALLOC _IOR(OCXL_MAGIC, 0x11, __u64)
#define OCXL_IOCTL_IRQ_FREE _IOW(OCXL_MAGIC, 0x12, __u64)
#define OCXL_IOCTL_IRQ_SET_FD _IOW(OCXL_MAGIC, 0x13, struct ocxl_ioctl_irq_fd)
#define OCXL_IOCTL_GET_METADATA _IOR(OCXL_MAGIC, 0x14, struct ocxl_ioctl_metadata)
#define OCXL_IOCTL_ENABLE_P9_WAIT _IOR(OCXL_MAGIC, 0x15, struct ocxl_ioctl_p9_wait)
#define OCXL_IOCTL_GET_FEATURES _IOR(OCXL_MAGIC, 0x16, struct ocxl_ioctl_features)
#endif /* _UAPI_MISC_OCXL_H */
Annotation
- Immediate include surface: `linux/types.h`, `linux/ioctl.h`.
- Detected declarations: `struct ocxl_kernel_event_header`, `struct ocxl_kernel_event_xsl_fault_error`, `struct ocxl_ioctl_attach`, `struct ocxl_ioctl_metadata`, `struct ocxl_ioctl_p9_wait`, `struct ocxl_ioctl_features`, `struct ocxl_ioctl_irq_fd`, `enum ocxl_event_type`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.