STRUCT SCU_PEG_REGISTERS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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] β€” a struct transport_link_layer_pair array, four of them, periodt. πŸ’…
  • ptsg β€” a struct scu_port_task_scheduler_group_registers, the group-level task scheduler situation.
  • peg β€” a struct scu_protocol_engine_group_registers, the main character of this whole struct ngl.
  • sgpio β€” a struct scu_sgpio_registers, living its best life.
  • reserved_01500_1BFF[0x1C0] β€” reserved. u32 array. it's giving "do not touch, iykyk" πŸ™ˆ
  • viit[64] β€” 64 whole struct scu_viit_entrys. sixty-four. ate. πŸ”₯
  • zpt0 β€” a struct scu_zone_partition_table, first one.
  • zpt1 β€” a struct 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