UNION NPS_PKT_SLC_CNTS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– union nps_pkt_slc_cnts(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ today's main character is union nps_pkt_slc_cnts β€” the Solicited Packet Out Count Registers. yes it's a union, yes it's about counting packets going out, and yes we're gonna get through this together 🫢


✨ SYNOPSIS ✨

here's the whole vibe, copy-pasted straight from the source because I would never mess with your bitfields:

union nps_pkt_slc_cnts {
    u64 value;
    struct {
  #if defined(__BIG_ENDIAN_BITFIELD);
      u64 slc_int : 1;
      u64 uns_int : 1;
      u64 in_int : 1;
      u64 mbox_int : 1;
      u64 resend : 1;
      u64 raz : 5;
      u64 timer : 22;
      u64 cnt : 32;
  #else;
      u64 cnt : 32;
      u64 timer : 22;
      u64 raz : 5;
      u64 resend : 1;
      u64 mbox_int : 1;
      u64 in_int : 1;
      u64 uns_int : 1;
      u64 slc_int : 1;
  #endif;
    } s;
};

so you've got u64 value; β€” the whole 64-bit blob, iconic β€” and then a struct of bitfields living inside s. πŸ¦‹

the way this works is very endian-sensitive, and honestly it ate: the #if defined(__BIG_ENDIAN_BITFIELD); branch puts the little 1-bit flags up top (slc_int, uns_int, in_int, mbox_int, resend), then raz : 5, then timer : 22, then cnt : 32 at the bottom. the #else; branch is the exact mirror image β€” same fields, reverse order, cnt : 32 first and slc_int : 1 last. ⭐

and that #endif; β€” yes bestie, those semicolons are really there. not me questioning it, we just copy what the header says πŸ’…


🫢 Members 🫢

okay so the Members section is literally empty in this page 😭 like, nothing. blank. a whole heading with no content, main character energy with no dialogue. so if you were hoping for a cute little field-by-field gloss, this manpage is not giving it β€” the bitfields are all up there in the SYNOPSIS and that's what we've got. πŸ™ˆ


🌈 SEE ALSO 🌈

your girl lives in the kernel file ./drivers/crypto/cavium/nitrox/nitrox_csr.h β€” say hi to her πŸ‘‘

and here's the whole squad, no cap, every single one of them:

  • 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_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_int(9)
  • union lbc_inval_status(9)
  • union rst_boot(9)
  • union fus_dat1(9)

like, thirty-six whole friends. that's a group chat, not a see-also list πŸŽ€


bestie reminder: endianness is not a personality trait but it will ruin your day if you forget which branch you're compiling. congrats, you now know more about packet-out count registers than 99% of people. periodt πŸ’€

and that's the whole page, mwah πŸ’‹ brought to you by ./drivers/crypto/cavium/nitrox, dated October 2026, under the very cute title union nps_pkt_slc_cnts(9). go read some more unions, iykyk πŸŒΈπŸ§šπŸ’œ

πŸ“¦ where this page comes from