STRUCT CXL_MEM_REPAIR_ATTRBS(9)
π struct cxl_mem_repair_attrbs(9) β the Kernel API Manual, but make it make sense
okay so bestie, welcome to the glow-up of struct cxl_mem_repair_attrbs(9) β that's section 9 of the Kernel API Manual, for the record, iykyk. this is the little struct that holds all the tea about how to repair a chunk of CXL memory, and honestly? it ate. let's get into it β¨
πΈ NAME πΈ
struct cxl_mem_repair_attrbs β CXL memory repair attributes π
like, literally the attributes. for repairing. memory. CXL memory specifically. no cap.
π SYNOPSIS π
here's the whole struct, verbatim, do not come for me:
struct cxl_mem_repair_attrbs {
u64 dpa;
u32 nibble_mask;
u32 row;
u16 column;
u8 channel;
u8 sub_channel;
u8 rank;
u8 bank_group;
u8 bank;
enum cxl_mem_repair_type repair_type;
};
look at those types bestie β u64 for the big one, u32 holding it down mid-tier, u16 keeping it cute, then a whole squad of u8s, and finally an enum cxl_mem_repair_type as the main character at the end. the way that it's ordered? iconic. π«Ά
π Members π
π¦ the address-y ones
dpaβ DPA of memory to repair. that's the direct physical address, the where of it all, the coordinates of the vibes you're fixing π«
β¨ nibble_mask
nibble mask β identifies one or more nibbles on the memory bus. it's giving "which half-bytes are we talking about" π literally nibbles. plural-able. a mask of them. we love a bit of precision.
π the "where in the memory" squad
each of these is literally just the thing it says on the tin β the row/column/etc of memory to repair, one per kind of coordinate:
rowβ row of memory to repair πΈcolumnβ column of memory to repair πΈchannelβ channel of memory to repair πΈsub_channelβ sub channel of memory to repair πΈrankβ rank of memory to repair πΈbank_groupβ bank group of memory to repair πΈbankβ bank of memory to repair πΈ
it's a whole coordinate system bestie, every level of it, and struct is holding all of them at once like the generous icon it is π
π₯ repair_type
repair type β for eg. PPR, memory sparing etc. so this is the what kind of repair field, because "repair" is a whole spectrum and we are not out here guessing. PPR? memory sparing? etc.? all covered, all valid, all slay π
π SEE ALSO π
- Kernel file
./drivers/cxl/core/edac.cβ go read it, that's where the plot happens π§
ngl this page is short but it's complete β nothing skipped, nothing summarised, we keep every field. periodt. π
made with love in ./drivers/cxl/core, dated October 2026, and yeah β it really is struct cxl_m...epair_attrbs(9) at the bottom too, just like the original, because the footer eats and we respect it ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms