GSI REGISTERS(9)
β¨ GSI Registers(9) π
okay bestie, welcome to the Kernel API Manual page for GSI Registers(9) β weβre decoding the "gsi" address space together, and yes, itβs giving hardware-nerd main character energy. π
GSI registers live inside the "gsi" address space defined by Device Tree. The offset of each register within that space is specified by the symbols defined below. The GSI address space gets mapped into virtual memory space in gsi_init. And important vibe check: all GSI registers are 32 bits wide. π
Each register type is duplicated for a number of instances of something β iconic, honestly. For example, every GSI channel has its own set of registers defining its configuration. The offset to a channelβs set of registers is computed based on a "base" offset plus an additional "stride" amount computed from the channelβs ID. For such registers, the offset is computed by a function-like macro that takes a parameter used in the computation. slay. β¨
Then we got the parameter lore:
- The offset of a register dependent on execution environment is computed by a macro supplied a parameter
"ee". The"ee"value is a member of thegsi_ee_idenumerated type. π§ - The offset of a channel register is computed by a macro supplied a parameter
"ch". The"ch"value is a channel id whose maximum value is30(though the actual limit is hardware-dependent). π₯ - The offset of an event register is computed by a macro supplied a parameter
"ev". The"ev"value is an event id whose maximum value is15(though the actual limit is hardware-dependent). β
π SEE ALSO π
Kernel file ./drivers/net/ipa/gsi_reg.h: enum gsi_irq_type_id(9), gsi_reg(9), gsi_reg_init(9), gsi_reg_exit(9). Go read those next, bestie β iykyk. π
xoxo, huge kiss from the ./drivers/net/ipa corner of the kernel, dated October 2026. π
π«Ά
π¦ 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