UNION LBC_INT_ENA_W1S(9)
π NAME π
okay so we're in the Kernel API Manual for union lbc_int_ena_w1s(9) β the LBC interrupt enable set register β and yes bestie, it's a union, not a struct, let it have its main character energy π
β¨
β¨ SYNOPSIS β¨
union lbc_int_ena_w1s {
u64 value;
struct {
#if (defined(__BIG_ENDIAN_BITFIELD));
u64 raz_10_63 : 54;
u64 cam_hard_err : 1;
u64 cam_inval_abort : 1;
u64 over_fetch_err : 1;
u64 cache_line_to_err : 1;
u64 raz_2_5 : 4;
u64 cam_soft_err : 1;
u64 dma_rd_err : 1;
#else;
u64 dma_rd_err : 1;
u64 cam_soft_err : 1;
u64 raz_2_5 : 4;
u64 cache_line_to_err : 1;
u64 over_fetch_err : 1;
u64 cam_inval_abort : 1;
u64 cam_hard_err : 1;
u64 raz_10_63 : 54;
#endif;
} s;
};
the way this union packs a whole u64 value next to a bitfield struct named s is lowkey iconic π and the bit order flips depending on __BIG_ENDIAN_BITFIELD β big-endian girlies get raz_10_63 first, everyone else gets dma_rd_err first, no cap π«
π§ Members π§
Members? it's giving "look up at the synopsis, babe" πΈ the union's got u64 value; and the struct s with all those bitfields β cam_hard_err, cam_inval_abort, over_fetch_err, cache_line_to_err, raz_2_5, cam_soft_err, and dma_rd_err β plus the raz_10_63 padding moment. the endianness #if / #else / #endif situation is literally right there, and it ate π₯
π SEE ALSO π
- Kernel file:
./drivers/crypto/cavium/nitrox/nitrox_csr.h union ucd_core_eid_ucode_block_num(9)union aqm_grp_execmsk_lo(9)union aqm_grp_execmsk_hi(9)union aqmq_drbl(9)union aqmq_qsz(9)union aqmq_cmp_thr(9)union aqmq_cmp_cnt(9)union aqmq_en(9)union aqmq_activity_stat(9)union emu_fuse_map(9)union emu_se_enable(9)union emu_ae_enable(9)union emu_wd_int_ena_w1s(9)union emu_ge_int_ena_w1s(9)union nps_pkt_slc_ctl(9)union nps_pkt_slc_cnts(9)union nps_pkt_slc_int_levels(9)union nps_pkt_in_done_cnts(9)union nps_pkt_in_instr_ctl(9)union nps_pkt_in_instr_rsize(9)union nps_pkt_in_instr_baoff_dbell(9)union nps_core_int_ena_w1s(9)union nps_core_gbl_vfcfg(9)union nps_core_int_active(9)union efl_core_int(9)union efl_core_int_ena_w1s(9)union efl_rnm_ctl_status(9)union bmi_ctl(9)union bmi_int_ena_w1s(9)union bmo_ctl2(9)union pom_int_ena_w1s(9)union lbc_inval_ctl(9)union lbc_int(9)union lbc_inval_status(9)union rst_boot(9)union fus_dat1(9)
vibe check: all these cross-refs are in the same kernel-doc cinematic universe, iykyk π¦
mwah π this lil' page comes from ./drivers/crypto/cavium/nitrox and is dated October 2026 β periodt, stay hydrated and go read those unions π«Άπ
π¦ 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