STRUCT SCU_PEG_REGISTERS(9)
π struct scu_peg_registers(9) π
okay so bestie, buckle up β we're in the Kernel API Manual today and this one is a struct, not a command. no flags, no exit codes, just vibes and memory-mapped registers. π¦
β¨ NAME β¨
struct scu_peg_registers β SCU Protocol Engine Memory mapped register space. These registers are unique to each protocol engine group. And listen: there can be at most two PEG for a single SCU part. two. that's the whole limit. iconic restraint honestly. π
πΈ SYNOPSIS πΈ
struct scu_peg_registers {
struct transport_link_layer_pair pe[4];
struct scu_port_task_scheduler_group_registers ptsg;
struct scu_protocol_engine_group_registers peg;
struct scu_sgpio_registers sgpio;
u32 reserved_01500_1BFF[0x1C0];
struct scu_viit_entry viit[64];
struct scu_zone_partition_table zpt0;
struct scu_zone_partition_table zpt1;
};
so we've got:
pe[4]β astruct transport_link_layer_pairarray, four of them, periodt. πptsgβ astruct scu_port_task_scheduler_group_registers, the group-level task scheduler situation.pegβ astruct scu_protocol_engine_group_registers, the main character of this whole struct ngl.sgpioβ astruct scu_sgpio_registers, living its best life.reserved_01500_1BFF[0x1C0]β reserved.u32array. it's giving "do not touch, iykyk" πviit[64]β 64 wholestruct scu_viit_entrys. sixty-four. ate. π₯zpt0β astruct scu_zone_partition_table, first one.zpt1β astruct scu_zone_partition_table, second one. matching set, adorable. π
π§ Members π§
lowkey there's a Members section here and it is literally empty β no entries, nothing, a whole vibe check with nobody home. π so like... nothing to report. moving on bestie. π«Ά
π SEE ALSO π
okay the cross-reference list is long and honestly it's a whole friend group:
- Kernel file
./drivers/scsi/isci/registers.h struct scu_viit_entry(9)struct scu_iit_entry(9)struct smu_registers(9)struct scu_sdma_registers(9)struct scu_transport_layer_registers(9)struct scu_link_layer_registers(9)struct scu_sgpio_registers(9)struct scu_port_task_scheduler_registers(9)struct scu_port_task_scheduler_group_registers(9)struct scu_afe_registers(9)struct transport_link_layer_pair(9)struct scu_registers(9)
go read them all, they're all slaying in their own lanes. β
ngl the cleanest takeaway: two PEG max per SCU part, everything else is registers and reserved space. no cap. πΈ
and that's the page!! sourced straight from ./drivers/scsi/isci, stamped October 2026 β so yeah, future-dated, main character energy fr fr. πβ¨ππ¦
π¦ 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