include/cxl/event.h
Source file repositories/reference/linux-study-clean/include/cxl/event.h
File Facts
- System
- Linux kernel
- Corpus path
include/cxl/event.h- Extension
.h- Size
- 7929 bytes
- Lines
- 346
- 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/uuid.hlinux/workqueue_types.h
Detected Declarations
struct cxl_event_record_hdrstruct cxl_event_media_hdrstruct cxl_event_genericstruct cxl_event_gen_mediastruct cxl_event_dramstruct cxl_get_health_infostruct cxl_event_mem_modulestruct cxl_event_mem_sparingstruct cxl_event_record_rawstruct cxl_cper_event_recstruct cper_cxl_event_devidstruct cper_cxl_event_snstruct cxl_cper_work_datastruct cxl_cper_sec_prot_errstruct cxl_ras_capability_regsstruct cxl_cper_prot_err_work_dataenum cxl_event_typefunction cxl_cper_register_workfunction cxl_cper_unregister_workfunction cxl_cper_kfifo_getfunction cxl_cper_register_prot_err_workfunction cxl_cper_unregister_prot_err_workfunction cxl_cper_prot_err_kfifo_getfunction cxl_cper_sec_prot_err_validfunction cxl_cper_setup_prot_err_work_data
Annotated Snippet
struct cxl_event_record_hdr {
u8 length;
u8 flags[3];
__le16 handle;
__le16 related_handle;
__le64 timestamp;
u8 maint_op_class;
u8 maint_op_sub_class;
__le16 ld_id;
u8 head_id;
u8 reserved[11];
} __packed;
struct cxl_event_media_hdr {
struct cxl_event_record_hdr hdr;
__le64 phys_addr;
u8 descriptor;
u8 type;
u8 transaction_type;
/*
* The meaning of Validity Flags from bit 2 is
* different across DRAM and General Media records
*/
u8 validity_flags[2];
u8 channel;
u8 rank;
} __packed;
#define CXL_EVENT_RECORD_DATA_LENGTH 0x50
struct cxl_event_generic {
struct cxl_event_record_hdr hdr;
u8 data[CXL_EVENT_RECORD_DATA_LENGTH];
} __packed;
/*
* General Media Event Record
* CXL rev 3.1 Section 8.2.9.2.1.1; Table 8-45
*/
#define CXL_EVENT_GEN_MED_COMP_ID_SIZE 0x10
struct cxl_event_gen_media {
struct cxl_event_media_hdr media_hdr;
u8 device[3];
u8 component_id[CXL_EVENT_GEN_MED_COMP_ID_SIZE];
u8 cme_threshold_ev_flags;
u8 cme_count[3];
u8 sub_type;
u8 reserved[41];
} __packed;
/*
* DRAM Event Record - DER
* CXL rev 3.1 section 8.2.9.2.1.2; Table 8-46
*/
#define CXL_EVENT_DER_CORRECTION_MASK_SIZE 0x20
struct cxl_event_dram {
struct cxl_event_media_hdr media_hdr;
u8 nibble_mask[3];
u8 bank_group;
u8 bank;
u8 row[3];
u8 column[2];
u8 correction_mask[CXL_EVENT_DER_CORRECTION_MASK_SIZE];
u8 component_id[CXL_EVENT_GEN_MED_COMP_ID_SIZE];
u8 sub_channel;
u8 cme_threshold_ev_flags;
u8 cvme_count[3];
u8 sub_type;
u8 reserved;
} __packed;
/*
* Get Health Info Record
* CXL rev 3.1 section 8.2.9.9.3.1; Table 8-133
*/
struct cxl_get_health_info {
u8 health_status;
u8 media_status;
u8 add_status;
u8 life_used;
u8 device_temp[2];
u8 dirty_shutdown_cnt[4];
u8 cor_vol_err_cnt[4];
u8 cor_per_err_cnt[4];
} __packed;
/*
* Memory Module Event Record
* CXL rev 3.1 section 8.2.9.2.1.3; Table 8-47
*/
struct cxl_event_mem_module {
Annotation
- Immediate include surface: `linux/types.h`, `linux/uuid.h`, `linux/workqueue_types.h`.
- Detected declarations: `struct cxl_event_record_hdr`, `struct cxl_event_media_hdr`, `struct cxl_event_generic`, `struct cxl_event_gen_media`, `struct cxl_event_dram`, `struct cxl_get_health_info`, `struct cxl_event_mem_module`, `struct cxl_event_mem_sparing`, `struct cxl_event_record_raw`, `struct cxl_cper_event_rec`.
- 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.