UNION LBC_INT_ENA_W1S(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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