UNION NPS_CORE_INT_ENA_W1S(9)
π union nps_core_int_ena_w1s(9) π
okay so this is a page straight out of the Kernel API Manual, and it's all about union nps_core_int_ena_w1s β no cap, that's the whole title. Buckle up bestie, it's a bitfield girlie π
β¨ NAME β¨
union nps_core_int_ena_w1s β the NPS core interrupt enable set register, and yes she's that girl π
πΈ SYNOPSIS πΈ
ok so here's the whole shape of her, literally copy-paste it exactly, do not touch a single character of this, i'm begging π«Ά
union nps_core_int_ena_w1s {
u64 value;
struct {
#if (defined(__BIG_ENDIAN_BITFIELD));
u64 raz4 : 55;
u64 host_nps_wr_err : 1;
u64 npco_dma_malform : 1;
u64 exec_wr_timeout : 1;
u64 host_wr_timeout : 1;
u64 host_wr_err : 1;
u64 raz3 : 1;
u64 raz2 : 1;
u64 raz1 : 1;
u64 raz0 : 1;
#else;
u64 raz0 : 1;
u64 raz1 : 1;
u64 raz2 : 1;
u64 raz3 : 1;
u64 host_wr_err : 1;
u64 host_wr_timeout : 1;
u64 exec_wr_timeout : 1;
u64 npco_dma_malform : 1;
u64 host_nps_wr_err : 1;
u64 raz4 : 55;
#endif;
} s;
};
the way she's a union with a u64 value on top and a whole struct called s underneathβ¦ main character energy fr π
and like β vibe check β notice the #if (defined(__BIG_ENDIAN_BITFIELD)); / #else; / #endif; sandwich. the bit order flips depending on endianness, so the little one-bit fields start at the bottom on little-endian and at the top on big-endian. raz0 through raz3 live in one corner, raz4 : 55 takes up the whole rest of the party, and the five real ones are:
host_nps_wr_errβ 1 bitnpco_dma_malformβ 1 bitexec_wr_timeoutβ 1 bithost_wr_timeoutβ 1 bithost_wr_errβ 1 bit
that's it, that's the whole squad π also pls keep all the semicolons after #if, #else and #endif β they're part of the bitfield macro magic, don't @ me, just don't remove them π
π¦ Members π¦
so the original just drops the word Members and thenβ¦ nothing. an empty section. iconic honestly, she said "you'll figure it out" π but yeah β the members are the ones up in the struct s above: value, and the field stack raz0, raz1, raz2, raz3, host_wr_err, host_wr_timeout, exec_wr_timeout, npco_dma_malform, host_nps_wr_err, raz4. that's the whole list, no gatekeeping β¨
π SEE ALSO π
the friend group (iykyk), and yes every single one of them is going in here because we don't leave the girls out π
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_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)
also she lives in the kernel file ./drivers/crypto/cavium/nitrox/nitrox_csr.h β go say hi π§
lowkey pro tip from the page itself: this is a _w1s register, meaning write 1 to set. that's literally in the name bestie, it's giving "touch it and it's on" π₯
and that's the whole thing, go off π
πΈππ¦ sign-off time π¦ππΈ
this lil beauty comes from ./drivers/crypto/cavium/nitrox and she's dated October 2026 β so yeah, mark your calendar, she's from the future and she still slaps πβ¨ periodt.
π¦ 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