UNION RST_BOOT(9)
π union rst_boot(9) β RST Boot Register π
okay bestie, so we're deep in the Kernel API Manual today and this one is a union called union rst_boot, and it's literally the RST Boot Register. it's giving "hardware register dressed up as C" and honestly? iconic. let's get into it π¦
β¨ SYNOPSIS β¨
like, here's the whole shape of her. do not retype this by hand, just vibe with it:
union rst_boot {
u64 value;
struct {
#if (defined(__BIG_ENDIAN_BITFIELD));
u64 raz_63 : 1;
u64 jtcsrdis : 1;
u64 raz_59_61 : 3;
u64 jt_tst_mode : 1;
u64 raz_40_57 : 18;
u64 io_supply : 3;
u64 raz_30_36 : 7;
u64 pnr_mul : 6;
u64 raz_12_23 : 12;
u64 lboot : 10;
u64 rboot : 1;
u64 rboot_pin : 1;
#else;
u64 rboot_pin : 1;
u64 rboot : 1;
u64 lboot : 10;
u64 raz_12_23 : 12;
u64 pnr_mul : 6;
u64 raz_30_36 : 7;
u64 io_supply : 3;
u64 raz_40_57 : 18;
u64 jt_tst_mode : 1;
u64 raz_59_61 : 3;
u64 jtcsrdis : 1;
u64 raz_63 : 1;
#endif;
};
};
see how she flips the whole bitfield order depending on __BIG_ENDIAN_BITFIELD? that's not a bug, that's a lifestyle. π
πΈ Members πΈ
okay so these are the bitfields, and yes the list shows up twice in the original (once per endianness ordering, bestie, it's symmetric like that π«Ά). keeping every single one, no cap:
{unnamed_struct}β anonymous. she has no name, only vibes. main character energy honestly.jtcsrdisβ when set, internal CSR access via JTAG TAP controller is disabled. so like, set her and that door is closed, periodt.jt_tst_modeβ JTAG test mode. π₯io_supplyβ I/O power supply setting based onIO_VDD_SELECTpin:0x1= 1.8V,0x2= 2.5V,0x4= 3.3V. All other values are reserved. so like, pick from the menu, the rest are literally not on the menu πpnr_mulβ clock multiplier. go faster bestie βlbootβ last boot cause mask, resets only withPLL_DC_OK. so she remembers, and she only clears up whenPLL_DC_OKsays so.rbootβ determines whether core 0 remains in reset after chip cold or warm or soft reset. core 0 either wakes up or stays napping π΄rboot_pinβ read only access toREMOTE_BOOTpin. look but don't touch, iykyk.rboot_pinβ read only access toREMOTE_BOOTpin.rbootβ determines whether core 0 remains in reset after chip cold or warm or soft reset.lbootβ last boot cause mask, resets only withPLL_DC_OK.pnr_mulβ clock multiplier.io_supplyβ I/O power supply setting based onIO_VDD_SELECTpin:0x1= 1.8V,0x2= 2.5V,0x4= 3.3V. All other values are reserved.jt_tst_modeβ JTAG test mode.jtcsrdisβ when set, internal CSR access via JTAG TAP controller is disabled.
π yes bestie, the members really do appear twice in the source page. that's the big-endian/little-endian mirror thing. we are not deleting them, we respect the bitfield order in both directions. β¨
π¦ SEE ALSO π¦
Kernel file ./drivers/crypto/cavium/nitrox/nitrox_csr.h, plus this whole friend group of unions β say hi π:
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_int(9), union lbc_inval_status(9), union fus_dat1(9)
and that's the whole page, bestie π«Ά this one came out of ./drivers/crypto/cavium/nitrox, dated October 2026, and it's union rst_boot(9) all day long. go forth and boot responsibly βπ
π¦ 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