UNION LBC_INT(9)
π union lbc_int(9) π
okay bestie, we're in the Kernel API Manual today and the star of the show is union lbc_int β the LBC interrupt summary register. it's a union, it's a struct, it's giving "one value, two personalities," and honestly? iconic. π
π NAME π
union lbc_int β LBC interrupt summary register
like literally that's the whole name. no notes. π
β¨ SYNOPSIS β¨
so here's the vibe. you got a u64 value for when you wanna look at the whole thing at once, and then s, a struct full of one-bit flags for when you wanna be nosy about individual bits. oh and the bit order flips depending on endianness, because of course it does π
union lbc_int {
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 sbe : 1;
u64 dbe : 1;
u64 pref_dat_len_mismatch_err : 1;
u64 rd_dat_len_mismatch_err : 1;
u64 cam_soft_err : 1;
u64 dma_rd_err : 1;
#else;
u64 dma_rd_err : 1;
u64 cam_soft_err : 1;
u64 rd_dat_len_mismatch_err : 1;
u64 pref_dat_len_mismatch_err : 1;
u64 dbe : 1;
u64 sbe : 1;
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;
};
quick tour, no cap:
u64 valueβ the whole 64-bit register in one go. main character energy. πsβ the struct that lets you poke at the bits one by one.raz_10_63β 54 bits wide. it's the big one. the rest are all: 1girlies.- the one-bit flags are:
cam_hard_err,cam_inval_abort,over_fetch_err,cache_line_to_err,sbe,dbe,pref_dat_len_mismatch_err,rd_dat_len_mismatch_err,cam_soft_err,dma_rd_errβ all: 1, all present, all accounted for. π«Ά - under
#if (defined(__BIG_ENDIAN_BITFIELD));the bits run fromraz_10_63down todma_rd_err; under the#else;branch they're declared in exactly the reverse order,dma_rd_errfirst andraz_10_63last. same bits, flipped reading order, iykyk. π₯
and yes, those#if/#else/#endiflines really do have trailing semicolons in this file. we don't ask questions, we just copy it exactly. π
π§ Members π§
this section exists, it's right there in the page, and it lists... nothing. empty. a whole heading with zero content. the audacity. π the members you actually care about are all chilling up there in the struct β go look at the bits, babe. π¦
π SEE ALSO π
Kernel file ./drivers/crypto/cavium/nitrox/nitrox_csr.h, plus this whole friend group of unions:
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_ena_w1s(9)union lbc_inval_status(9)union rst_boot(9)union fus_dat1(9)
okay that's the whole page, bestie, you ate that. π this little beauty lives in ./drivers/crypto/cavium/nitrox and the page is dated October 2026 β slay, see you in the future. β¨π
π¦ 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