arch/mips/include/asm/sn/ioc3.h
Source file repositories/reference/linux-study-clean/arch/mips/include/asm/sn/ioc3.h
File Facts
- System
- Linux kernel
- Corpus path
arch/mips/include/asm/sn/ioc3.h- Extension
.h- Size
- 21824 bytes
- Lines
- 607
- Domain
- Architecture Layer
- Bucket
- arch/mips
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.h
Detected Declarations
struct ioc3_serialregsstruct ioc3_uartregsstruct ioc3_sioregsstruct ioc3_ethregsstruct ioc3_serioregsstruct ioc3struct ioc3_erxbufstruct ioc3_etxd
Annotated Snippet
struct ioc3_serialregs {
u32 sscr;
u32 stpir;
u32 stcir;
u32 srpir;
u32 srcir;
u32 srtr;
u32 shadow;
};
/* SUPERIO uart register map */
struct ioc3_uartregs {
u8 iu_lcr;
union {
u8 iu_iir; /* read only */
u8 iu_fcr; /* write only */
};
union {
u8 iu_ier; /* DLAB == 0 */
u8 iu_dlm; /* DLAB == 1 */
};
union {
u8 iu_rbr; /* read only, DLAB == 0 */
u8 iu_thr; /* write only, DLAB == 0 */
u8 iu_dll; /* DLAB == 1 */
};
u8 iu_scr;
u8 iu_msr;
u8 iu_lsr;
u8 iu_mcr;
};
struct ioc3_sioregs {
u8 fill[0x141]; /* starts at 0x141 */
u8 kbdcg;
u8 uartc;
u8 fill0[0x151 - 0x142 - 1];
u8 pp_dcr;
u8 pp_dsr;
u8 pp_data;
u8 fill1[0x159 - 0x153 - 1];
u8 pp_ecr;
u8 pp_cfgb;
u8 pp_fifa;
u8 fill2[0x16a - 0x15b - 1];
u8 rtcdat;
u8 rtcad;
u8 fill3[0x170 - 0x16b - 1];
struct ioc3_uartregs uartb; /* 0x20170 */
struct ioc3_uartregs uarta; /* 0x20178 */
};
struct ioc3_ethregs {
u32 emcr; /* 0x000f0 */
u32 eisr; /* 0x000f4 */
u32 eier; /* 0x000f8 */
u32 ercsr; /* 0x000fc */
u32 erbr_h; /* 0x00100 */
u32 erbr_l; /* 0x00104 */
u32 erbar; /* 0x00108 */
u32 ercir; /* 0x0010c */
u32 erpir; /* 0x00110 */
u32 ertr; /* 0x00114 */
u32 etcsr; /* 0x00118 */
u32 ersr; /* 0x0011c */
u32 etcdc; /* 0x00120 */
u32 ebir; /* 0x00124 */
u32 etbr_h; /* 0x00128 */
u32 etbr_l; /* 0x0012c */
u32 etcir; /* 0x00130 */
u32 etpir; /* 0x00134 */
u32 emar_h; /* 0x00138 */
u32 emar_l; /* 0x0013c */
u32 ehar_h; /* 0x00140 */
u32 ehar_l; /* 0x00144 */
u32 micr; /* 0x00148 */
u32 midr_r; /* 0x0014c */
u32 midr_w; /* 0x00150 */
};
struct ioc3_serioregs {
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct ioc3_serialregs`, `struct ioc3_uartregs`, `struct ioc3_sioregs`, `struct ioc3_ethregs`, `struct ioc3_serioregs`, `struct ioc3`, `struct ioc3_erxbuf`, `struct ioc3_etxd`.
- Atlas domain: Architecture Layer / arch/mips.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.