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.

Dependency Surface

Detected Declarations

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

Implementation Notes