plan 9 kernel history: overview | file list | diff list

1993/0903/carrera/mem.h (diff list | history)

1993/0903/sys/src/9/carrera/mem.h:109,1141993/0904/sys/src/9/carrera/mem.h:109,115 (short | long)
1993/0903    
 */ 
 
#define PGSZ4K		(0x00<<13) 
1993/0904    
#define PGSZ64K		(0x0F<<13) 
1993/0903    
#define PGSZ256K	(0x3F<<13) 
	 
#define	KUSEG	0x00000000 
1993/0904/sys/src/9/carrera/mem.h:78,861993/0906/sys/src/9/carrera/mem.h:78,85 (short | long)
1993/0903    
#define CU1		0x20000000 
 
/* 
 * Traps 
1993/0906    
 * Trap vectors 
1993/0903    
 */ 
                 
#define	UTLBMISS	(KSEG0+0x000) 
#define	XEXCEPTION	(KSEG0+0x80) 
#define	CACHETRAP	(KSEG0+0x100) 
1993/0904/sys/src/9/carrera/mem.h:89,951993/0906/sys/src/9/carrera/mem.h:88,93
1993/0903    
/* 
 * Magic registers 
 */ 
                 
#define	USER		24		/* R24 is up-> */ 
#define	MACH		25		/* R25 is m-> */ 
 
1993/0904/sys/src/9/carrera/mem.h:97,1131993/0906/sys/src/9/carrera/mem.h:95,106
1993/0903    
 * Fundamental addresses 
 */ 
#define	MACHADDR	0x80005000	/* Mach structures */ 
/* Leave space below kmap for IO */ 
#define	KMAPADDR	0xE0040000 
/* Sizeof(Ureg)+space for retpc & ur */ 
#define UREGSIZE	0xA0 
1993/0906    
#define UREGSIZE	0xA0		/* Sizeof(Ureg)+retpc & ur */ 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
 
                 
/* 
 * MMU 
 */ 
                 
#define PGSZ4K		(0x00<<13) 
1993/0904    
#define PGSZ64K		(0x0F<<13) 
1993/0903    
#define PGSZ256K	(0x3F<<13) 
1993/0904/sys/src/9/carrera/mem.h:121,1291993/0906/sys/src/9/carrera/mem.h:114,124
1993/0903    
 
#define PIDXSHFT	12 
#define PIDX		(0x7<<PIDXSHFT) 
1993/0906    
#define	KMAPADDR	0xE1000000 
#define KMAPMASK	0xFF000000 
1993/0903    
#define KMAPSHIFT	15 
#define NCOLOR		8 
#define getcolor(a)	(((ulong)(a)>>PIDXSHFT)&7) 
1993/0906    
#define getpgcolor(a)	(((ulong)(a)>>PIDXSHFT)&7) 
1993/0903    
 
#define	PTEGLOBL	(1<<0) 
#define	PTEVALID	(1<<1) 
1993/0906/sys/src/9/carrera/mem.h:104,1091993/0907/sys/src/9/carrera/mem.h:104,110 (short | long)
1993/0903    
#define PGSZ4K		(0x00<<13) 
1993/0904    
#define PGSZ64K		(0x0F<<13) 
1993/0903    
#define PGSZ256K	(0x3F<<13) 
1993/0907    
#define PGSZ1M		(0xFF<<13) 
1993/0903    
	 
#define	KUSEG	0x00000000 
#define KSEG0	0x80000000 
1993/0907/sys/src/9/carrera/mem.h:131,1361993/0908/sys/src/9/carrera/mem.h:131,137 (short | long)
1993/0903    
#define PTECOHERXCL	(4<<3) 
#define PTECOHERXCLW	(5<<3) 
#define PTECOHERUPDW	(6<<3) 
1993/0908    
#define IOPTE		(PTEGLOBL|PTEVALID|PTEWRITE|PTEUNCACHED) 
1993/0903    
 
#define	PTEPID(n)	(n) 
#define TLBPID(n)	((n)&0xFF) 
1993/0908/sys/src/9/carrera/mem.h:75,801993/0930/sys/src/9/carrera/mem.h:75,81 (short | long)
1993/0903    
#define INTR7		0x00008000 
#define ISC		0x00010000 
#define SWC		0x00020000 
1993/0930    
#define CU0		0x10000000 
1993/0903    
#define CU1		0x20000000 
 
/* 
1993/0930/sys/src/9/carrera/mem.h:95,1011993/1209/sys/src/9/carrera/mem.h:95,101 (short | long)
1993/0903    
/* 
 * Fundamental addresses 
 */ 
#define	MACHADDR	0x80005000	/* Mach structures */ 
1993/1209    
#define	MACHADDR	0x8008e000	/* Mach structures */ 
1993/0906    
#define UREGSIZE	0xA0		/* Sizeof(Ureg)+retpc & ur */ 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
 
1993/1209/sys/src/9/carrera/mem.h:14,201993/1211/sys/src/9/carrera/mem.h:14,20 (short | long)
1993/0903    
#define	PGSHIFT		12			/* log(BY2PG) */ 
#define PGROUND(s)	(((s)+(BY2PG-1))&~(BY2PG-1)) 
 
#define	MAXMACH		4			/* max # cpus system can run */ 
1993/1211    
#define	MAXMACH		1			/* max # cpus system can run */ 
1993/0903    
#define KSTACK		4096			/* Size of kernel stack */ 
 
/* 
1993/1209/sys/src/9/carrera/mem.h:95,1011993/1211/sys/src/9/carrera/mem.h:95,101
1993/0903    
/* 
 * Fundamental addresses 
 */ 
1993/1209    
#define	MACHADDR	0x8008e000	/* Mach structures */ 
1993/1211    
#define	MACHADDR	(KTZERO-MAXMACH*BY2PG)	/* warning: rdbg is near here */ 
1993/0906    
#define UREGSIZE	0xA0		/* Sizeof(Ureg)+retpc & ur */ 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
 
1993/1209/sys/src/9/carrera/mem.h:140,1461993/1211/sys/src/9/carrera/mem.h:140,146
1993/0903    
#define	PTEPERTAB	(PTEMAPMEM/BY2PG) 
#define STLBLOG		13 
#define STLBSIZE	(1<<STLBLOG) 
#define KPTELOG		8 
1993/1211    
#define KPTELOG		6 
1993/0903    
#define KPTESIZE	(1<<KPTELOG) 
#define SEGMAPSIZE	512 
 
1993/1211/sys/src/9/carrera/mem.h:116,1221993/1218/sys/src/9/carrera/mem.h:116,122 (short | long)
1993/0903    
 
#define PIDXSHFT	12 
#define PIDX		(0x7<<PIDXSHFT) 
1993/0906    
#define	KMAPADDR	0xE1000000 
1993/1218    
#define	KMAPADDR	0xE2000000 
1993/0906    
#define KMAPMASK	0xFF000000 
1993/0903    
#define KMAPSHIFT	15 
#define NCOLOR		8 
1993/1218/sys/src/9/carrera/mem.h:140,1461993/1224/sys/src/9/carrera/mem.h:140,146 (short | long)
1993/0903    
#define	PTEPERTAB	(PTEMAPMEM/BY2PG) 
#define STLBLOG		13 
#define STLBSIZE	(1<<STLBLOG) 
1993/1211    
#define KPTELOG		6 
1993/1224    
#define KPTELOG		7 
1993/0903    
#define KPTESIZE	(1<<KPTELOG) 
#define SEGMAPSIZE	512 
 
1993/1224/sys/src/9/carrera/mem.h:160,1651993/1230/sys/src/9/carrera/mem.h:160,166 (short | long)
1993/0903    
#define	KZERO	KSEG0			/* base of kernel address space */ 
#define	KTZERO	(KZERO+0x20000)		/* first address in kernel text */ 
#define	USTKSIZE	(4*1024*1024)	/* size of user stack */ 
1993/1230    
#define globalmem(x)	(((ulong)x)&KZERO)	/* addresses valid in all contexts */ 
1993/0903    
/* 
 * Exception codes 
 */ 
1993/1230/sys/src/9/carrera/mem.h:7,261994/0209/sys/src/9/carrera/mem.h:7,26 (short | long)
1993/0903    
 */ 
 
#define	BI2BY		8			/* bits per byte */ 
#define BI2WD		32			/* bits per word */ 
1994/0209    
#define	BI2WD		32			/* bits per word */ 
1993/0903    
#define	BY2WD		4			/* bytes per word */ 
#define	BY2PG		4096			/* bytes per page */ 
#define	WD2PG		(BY2PG/BY2WD)		/* words per page */ 
#define	PGSHIFT		12			/* log(BY2PG) */ 
#define PGROUND(s)	(((s)+(BY2PG-1))&~(BY2PG-1)) 
1994/0209    
#define	PGROUND(s)	(((s)+(BY2PG-1))&~(BY2PG-1)) 
1993/0903    
 
1993/1211    
#define	MAXMACH		1			/* max # cpus system can run */ 
1993/0903    
#define KSTACK		4096			/* Size of kernel stack */ 
1994/0209    
#define	KSTACK		4096			/* Size of kernel stack */ 
1993/0903    
 
/* 
 * Time 
 */ 
#define HZ		100			/* clock frequency */ 
1994/0209    
#define	HZ		100			/* clock frequency */ 
1993/0903    
#define	MS2HZ		(1000/HZ)		/* millisec per clock tick */ 
#define	TK2SEC(t)	((t)/HZ)		/* ticks to seconds */ 
#define	TK2MS(t)	((t)*MS2HZ)		/* ticks to milliseconds */ 
1993/1230/sys/src/9/carrera/mem.h:96,1481994/0209/sys/src/9/carrera/mem.h:96,148
1993/0903    
 * Fundamental addresses 
 */ 
1993/1211    
#define	MACHADDR	(KTZERO-MAXMACH*BY2PG)	/* warning: rdbg is near here */ 
1993/0906    
#define UREGSIZE	0xA0		/* Sizeof(Ureg)+retpc & ur */ 
1994/0209    
#define	UREGSIZE	0xC0		/* Sizeof(Ureg)+R5,R6+16 bytes slop+retpc & ur */ 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
 
/* 
 * MMU 
 */ 
#define PGSZ4K		(0x00<<13) 
1993/0904    
#define PGSZ64K		(0x0F<<13) 
1993/0903    
#define PGSZ256K	(0x3F<<13) 
1993/0907    
#define PGSZ1M		(0xFF<<13) 
1994/0209    
#define	PGSZ4K		(0x00<<13) 
#define	PGSZ64K		(0x0F<<13) 
#define	PGSZ256K	(0x3F<<13) 
#define	PGSZ1M		(0xFF<<13) 
1993/0903    
	 
#define	KUSEG	0x00000000 
#define KSEG0	0x80000000 
#define KSEG1	0xA0000000 
1994/0209    
#define	KSEG0	0x80000000 
#define	KSEG1	0xA0000000 
1993/0903    
#define	KSEG2	0xC0000000 
#define	KSEG3	0xE0000000 
#define	KSEGM	0xE0000000	/* mask to check which seg */ 
 
#define PIDXSHFT	12 
#define PIDX		(0x7<<PIDXSHFT) 
1994/0209    
#define	PIDXSHFT	12 
#define	PIDX		(0x7<<PIDXSHFT) 
1993/1218    
#define	KMAPADDR	0xE2000000 
1993/0906    
#define KMAPMASK	0xFF000000 
1993/0903    
#define KMAPSHIFT	15 
#define NCOLOR		8 
1993/0906    
#define getpgcolor(a)	(((ulong)(a)>>PIDXSHFT)&7) 
1994/0209    
#define	KMAPMASK	0xFF000000 
#define	KMAPSHIFT	15 
#define	NCOLOR		8 
#define	getpgcolor(a)	(((ulong)(a)>>PIDXSHFT)&7) 
1993/0903    
 
#define	PTEGLOBL	(1<<0) 
#define	PTEVALID	(1<<1) 
#define	PTEWRITE	(1<<2) 
#define PTERONLY	0 
#define PTEALGMASK	(7<<3) 
#define PTEUNCACHED	(2<<3) 
#define PTENONCOHER	(3<<3) 
#define PTECOHERXCL	(4<<3) 
#define PTECOHERXCLW	(5<<3) 
#define PTECOHERUPDW	(6<<3) 
1993/0908    
#define IOPTE		(PTEGLOBL|PTEVALID|PTEWRITE|PTEUNCACHED) 
1994/0209    
#define	PTERONLY	0 
#define	PTEALGMASK	(7<<3) 
#define	PTEUNCACHED	(2<<3) 
#define	PTENONCOHER	(3<<3) 
#define	PTECOHERXCL	(4<<3) 
#define	PTECOHERXCLW	(5<<3) 
#define	PTECOHERUPDW	(6<<3) 
#define	IOPTE		(PTEGLOBL|PTEVALID|PTEWRITE|PTEUNCACHED) 
1993/0903    
 
#define	PTEPID(n)	(n) 
#define TLBPID(n)	((n)&0xFF) 
#define PTEMAPMEM	(1024*1024)	 
1994/0209    
#define	TLBPID(n)	((n)&0xFF) 
#define	PTEMAPMEM	(1024*1024)	 
1993/0903    
#define	PTEPERTAB	(PTEMAPMEM/BY2PG) 
#define STLBLOG		13 
#define STLBSIZE	(1<<STLBLOG) 
1993/1224    
#define KPTELOG		7 
1993/0903    
#define KPTESIZE	(1<<KPTELOG) 
#define SEGMAPSIZE	512 
1994/0209    
#define	STLBLOG		13 
#define	STLBSIZE	(1<<STLBLOG) 
#define	KPTELOG		7 
#define	KPTESIZE	(1<<KPTELOG) 
#define	SEGMAPSIZE	512 
1993/0903    
 
#define	NTLBPID	256	/* number of pids */ 
#define	NTLB	48	/* number of entries */ 
1993/1230/sys/src/9/carrera/mem.h:156,1621994/0209/sys/src/9/carrera/mem.h:156,162
1993/0903    
#define	UTZERO	(UZERO+BY2PG)		/* first address in user text */ 
#define	USTKTOP	(KZERO-BY2PG)		/* byte just beyond user stack */ 
#define	TSTKTOP	(0xC0000000+USTKSIZE-BY2PG) /* top of temporary stack */ 
#define TSTKSIZ 100 
1994/0209    
#define	TSTKSIZ 100 
1993/0903    
#define	KZERO	KSEG0			/* base of kernel address space */ 
#define	KTZERO	(KZERO+0x20000)		/* first address in kernel text */ 
#define	USTKSIZE	(4*1024*1024)	/* size of user stack */ 
1994/0209/sys/src/9/carrera/mem.h:96,1021994/0210/sys/src/9/carrera/mem.h:96,103 (short | long)
1993/0903    
 * Fundamental addresses 
 */ 
1993/1211    
#define	MACHADDR	(KTZERO-MAXMACH*BY2PG)	/* warning: rdbg is near here */ 
1994/0209    
#define	UREGSIZE	0xC0		/* Sizeof(Ureg)+R5,R6+16 bytes slop+retpc & ur */ 
1994/0210    
/* Sizeof(Ureg)+R5,R6+16 bytes slop+retpc & ur */ 
#define	UREGSIZE	0xC0		 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
 
/* 
1994/0209/sys/src/9/carrera/mem.h:106,1121994/0210/sys/src/9/carrera/mem.h:107,114
1994/0209    
#define	PGSZ64K		(0x0F<<13) 
#define	PGSZ256K	(0x3F<<13) 
#define	PGSZ1M		(0xFF<<13) 
1993/0903    
	                 
1994/0210    
#define	PGSZ4M		(0x3FF<<13) 
 
1993/0903    
#define	KUSEG	0x00000000 
1994/0209    
#define	KSEG0	0x80000000 
#define	KSEG1	0xA0000000 
1994/0209/sys/src/9/carrera/mem.h:116,1221994/0210/sys/src/9/carrera/mem.h:118,124
1993/0903    
 
1994/0209    
#define	PIDXSHFT	12 
#define	PIDX		(0x7<<PIDXSHFT) 
1993/1218    
#define	KMAPADDR	0xE2000000 
1994/0210    
#define	KMAPADDR	0xE4000000 
1994/0209    
#define	KMAPMASK	0xFF000000 
#define	KMAPSHIFT	15 
#define	NCOLOR		8 
1994/0209/sys/src/9/carrera/mem.h:146,1521994/0210/sys/src/9/carrera/mem.h:148,154
1993/0903    
 
#define	NTLBPID	256	/* number of pids */ 
#define	NTLB	48	/* number of entries */ 
#define	TLBROFF	4	/* offset of first randomly indexed entry */ 
1994/0210    
#define	TLBROFF	5	/* offset of first randomly indexed entry */ 
1993/0903    
 
/* 
 * Address spaces 
1994/0210/sys/src/9/carrera/mem.h:9,141994/0306/sys/src/9/carrera/mem.h:9,15 (short | long)
1993/0903    
#define	BI2BY		8			/* bits per byte */ 
1994/0209    
#define	BI2WD		32			/* bits per word */ 
1993/0903    
#define	BY2WD		4			/* bytes per word */ 
1994/0306    
#define BY2V		8			/* bytes per vlong */ 
1993/0903    
#define	BY2PG		4096			/* bytes per page */ 
#define	WD2PG		(BY2PG/BY2WD)		/* words per page */ 
#define	PGSHIFT		12			/* log(BY2PG) */ 
1994/0306/sys/src/9/carrera/mem.h:13,191994/0322/sys/src/9/carrera/mem.h:13,20 (short | long)
1993/0903    
#define	BY2PG		4096			/* bytes per page */ 
#define	WD2PG		(BY2PG/BY2WD)		/* words per page */ 
#define	PGSHIFT		12			/* log(BY2PG) */ 
1994/0209    
#define	PGROUND(s)	(((s)+(BY2PG-1))&~(BY2PG-1)) 
1994/0322    
#define ROUND(s, sz)	(((s)+(sz-1))&~(sz-1)) 
#define PGROUND(s)	ROUND(s, BY2PG) 
1993/0903    
 
1993/1211    
#define	MAXMACH		1			/* max # cpus system can run */ 
1994/0209    
#define	KSTACK		4096			/* Size of kernel stack */ 
1994/0322/sys/src/9/carrera/mem.h:75,821994/0522/sys/src/9/carrera/mem.h:75,82 (short | long)
1993/0903    
#define INTR5		0x00002000 
#define INTR6		0x00004000 
#define INTR7		0x00008000 
#define ISC		0x00010000 
#define SWC		0x00020000 
1994/0522    
#define DE		0x00010000 
#define BEV		0x00400000 
1993/0930    
#define CU0		0x10000000 
1993/0903    
#define CU1		0x20000000 
 
1994/0322/sys/src/9/carrera/mem.h:162,1681994/0522/sys/src/9/carrera/mem.h:162,168
1993/0903    
#define	TSTKTOP	(0xC0000000+USTKSIZE-BY2PG) /* top of temporary stack */ 
1994/0209    
#define	TSTKSIZ 100 
1993/0903    
#define	KZERO	KSEG0			/* base of kernel address space */ 
#define	KTZERO	(KZERO+0x20000)		/* first address in kernel text */ 
1994/0522    
#define	KTZERO	(KZERO+0x2000)		/* first address in kernel text */ 
1993/0903    
#define	USTKSIZE	(4*1024*1024)	/* size of user stack */ 
1993/1230    
#define globalmem(x)	(((ulong)x)&KZERO)	/* addresses valid in all contexts */ 
1993/0903    
/* 
1994/0522/sys/src/9/carrera/mem.h:162,1681994/0524/sys/src/9/carrera/mem.h:162,168 (short | long)
1993/0903    
#define	TSTKTOP	(0xC0000000+USTKSIZE-BY2PG) /* top of temporary stack */ 
1994/0209    
#define	TSTKSIZ 100 
1993/0903    
#define	KZERO	KSEG0			/* base of kernel address space */ 
1994/0522    
#define	KTZERO	(KZERO+0x2000)		/* first address in kernel text */ 
1994/0524    
#define	KTZERO	(KZERO+0x12000)		/* first address in kernel text */ 
1993/0903    
#define	USTKSIZE	(4*1024*1024)	/* size of user stack */ 
1993/1230    
#define globalmem(x)	(((ulong)x)&KZERO)	/* addresses valid in all contexts */ 
1993/0903    
/* 
1994/0524/sys/src/9/carrera/mem.h:66,711994/0609/sys/src/9/carrera/mem.h:66,72 (short | long)
1993/0903    
#define ERL		0x00000004 
#define KSUPER		0x00000008 
#define KUSER		0x00000010 
1994/0609    
#define UX		0x00000020 
1993/0903    
#define INTMASK		0x0000ff00 
#define INTR0		0x00000100 
#define INTR1		0x00000200 
1994/0524/sys/src/9/carrera/mem.h:98,1051994/0609/sys/src/9/carrera/mem.h:99,146
1993/0903    
 * Fundamental addresses 
 */ 
1993/1211    
#define	MACHADDR	(KTZERO-MAXMACH*BY2PG)	/* warning: rdbg is near here */ 
1994/0210    
/* Sizeof(Ureg)+R5,R6+16 bytes slop+retpc & ur */ 
#define	UREGSIZE	0xC0		 
1994/0609    
/* Sizeof(Ureg)+retpc & ur+16 bytes slop */ 
#define	UREGSIZE	(36*8 + 2*4 + 2*4 + 16) 
#define	Uoffset		8 
 
#define	Ureg_status	(Uoffset+0) 
#define	Ureg_cause	(Uoffset+4) 
#define	Ureg_pc		(Uoffset+8) 
#define	Ureg_sp		(Uoffset+16) 
#define	Ureg_badvaddr	(Uoffset+24) 
#define	Ureg_tlbvirt	(Uoffset+32) 
#define	Ureg_hi		(Uoffset+40) 
#define	Ureg_lo		(Uoffset+48) 
#define	Ureg_r31	(Uoffset+56) 
#define	Ureg_r30	(Uoffset+64) 
#define	Ureg_r28	(Uoffset+72) 
#define	Ureg_r27	(Uoffset+80) 
#define	Ureg_r26	(Uoffset+88) 
#define	Ureg_r25	(Uoffset+96) 
#define	Ureg_r24	(Uoffset+104) 
#define	Ureg_r23	(Uoffset+112) 
#define	Ureg_r22	(Uoffset+120) 
#define	Ureg_r21	(Uoffset+128) 
#define	Ureg_r20	(Uoffset+136) 
#define	Ureg_r19	(Uoffset+144) 
#define	Ureg_r18	(Uoffset+152) 
#define	Ureg_r17	(Uoffset+160) 
#define	Ureg_r16	(Uoffset+168) 
#define	Ureg_r15	(Uoffset+176) 
#define	Ureg_r14	(Uoffset+184) 
#define	Ureg_r13	(Uoffset+192) 
#define	Ureg_r12	(Uoffset+200) 
#define	Ureg_r11	(Uoffset+208) 
#define	Ureg_r10	(Uoffset+216) 
#define	Ureg_r9		(Uoffset+224) 
#define	Ureg_r8		(Uoffset+232) 
#define	Ureg_r7		(Uoffset+240) 
#define	Ureg_r6		(Uoffset+248) 
#define	Ureg_r5		(Uoffset+256) 
#define	Ureg_r4		(Uoffset+264) 
#define	Ureg_r3		(Uoffset+272) 
#define	Ureg_r2		(Uoffset+280) 
#define	Ureg_r1		(Uoffset+288) 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
 
/* 
1994/0609/sys/src/9/carrera/mem.h:99,1461994/0610/sys/src/9/carrera/mem.h:99,106 (short | long)
1993/0903    
 * Fundamental addresses 
 */ 
1993/1211    
#define	MACHADDR	(KTZERO-MAXMACH*BY2PG)	/* warning: rdbg is near here */ 
1994/0609    
/* Sizeof(Ureg)+retpc & ur+16 bytes slop */ 
#define	UREGSIZE	(36*8 + 2*4 + 2*4 + 16) 
#define	Uoffset		8 
                 
#define	Ureg_status	(Uoffset+0) 
#define	Ureg_cause	(Uoffset+4) 
#define	Ureg_pc		(Uoffset+8) 
#define	Ureg_sp		(Uoffset+16) 
#define	Ureg_badvaddr	(Uoffset+24) 
#define	Ureg_tlbvirt	(Uoffset+32) 
#define	Ureg_hi		(Uoffset+40) 
#define	Ureg_lo		(Uoffset+48) 
#define	Ureg_r31	(Uoffset+56) 
#define	Ureg_r30	(Uoffset+64) 
#define	Ureg_r28	(Uoffset+72) 
#define	Ureg_r27	(Uoffset+80) 
#define	Ureg_r26	(Uoffset+88) 
#define	Ureg_r25	(Uoffset+96) 
#define	Ureg_r24	(Uoffset+104) 
#define	Ureg_r23	(Uoffset+112) 
#define	Ureg_r22	(Uoffset+120) 
#define	Ureg_r21	(Uoffset+128) 
#define	Ureg_r20	(Uoffset+136) 
#define	Ureg_r19	(Uoffset+144) 
#define	Ureg_r18	(Uoffset+152) 
#define	Ureg_r17	(Uoffset+160) 
#define	Ureg_r16	(Uoffset+168) 
#define	Ureg_r15	(Uoffset+176) 
#define	Ureg_r14	(Uoffset+184) 
#define	Ureg_r13	(Uoffset+192) 
#define	Ureg_r12	(Uoffset+200) 
#define	Ureg_r11	(Uoffset+208) 
#define	Ureg_r10	(Uoffset+216) 
#define	Ureg_r9		(Uoffset+224) 
#define	Ureg_r8		(Uoffset+232) 
#define	Ureg_r7		(Uoffset+240) 
#define	Ureg_r6		(Uoffset+248) 
#define	Ureg_r5		(Uoffset+256) 
#define	Ureg_r4		(Uoffset+264) 
#define	Ureg_r3		(Uoffset+272) 
#define	Ureg_r2		(Uoffset+280) 
#define	Ureg_r1		(Uoffset+288) 
1994/0610    
/* Sizeof(Ureg)+R5,R6+16 bytes slop+retpc & ur */ 
#define	UREGSIZE	0xC0		 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
 
/* 
1994/0610/sys/src/9/carrera/mem.h:66,721994/0611/sys/src/9/carrera/mem.h:66,71 (short | long)
1993/0903    
#define ERL		0x00000004 
#define KSUPER		0x00000008 
#define KUSER		0x00000010 
1994/0609    
#define UX		0x00000020 
1993/0903    
#define INTMASK		0x0000ff00 
#define INTR0		0x00000100 
#define INTR1		0x00000200 
1994/0611/sys/src/9/carrera/mem.h:66,711994/0612/sys/src/9/carrera/mem.h:66,72 (short | long)
1993/0903    
#define ERL		0x00000004 
#define KSUPER		0x00000008 
#define KUSER		0x00000010 
1994/0612    
#define UX		0x00000020 
1993/0903    
#define INTMASK		0x0000ff00 
#define INTR0		0x00000100 
#define INTR1		0x00000200 
1994/0611/sys/src/9/carrera/mem.h:98,1061994/0612/sys/src/9/carrera/mem.h:99,152
1993/0903    
 * Fundamental addresses 
 */ 
1993/1211    
#define	MACHADDR	(KTZERO-MAXMACH*BY2PG)	/* warning: rdbg is near here */ 
1994/0610    
/* Sizeof(Ureg)+R5,R6+16 bytes slop+retpc & ur */ 
#define	UREGSIZE	0xC0		 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
1994/0612    
 
/* 
 * offsets in ureg.h for l.s 
 */ 
#define	Ureg_status	(Uoffset+0) 
#define	Ureg_pc		(Uoffset+4) 
#define	Ureg_sp		(Uoffset+8) 
#define	Ureg_cause	(Uoffset+12) 
#define	Ureg_badvaddr	(Uoffset+16) 
#define	Ureg_tlbvirt	(Uoffset+20) 
 
#define	Ureg_hi		(Uoffset+28-4) 
#define	Ureg_lo		(Uoffset+36-4) 
#define	Ureg_r31	(Uoffset+44-4) 
#define	Ureg_r30	(Uoffset+52-4) 
#define	Ureg_r28	(Uoffset+60-4) 
#define	Ureg_r27	(Uoffset+68-4) 
#define	Ureg_r26	(Uoffset+76-4) 
#define	Ureg_r25	(Uoffset+84-4) 
#define	Ureg_r24	(Uoffset+92-4) 
#define	Ureg_r23	(Uoffset+100-4) 
#define	Ureg_r22	(Uoffset+108-4) 
#define	Ureg_r21	(Uoffset+116-4) 
#define	Ureg_r20	(Uoffset+124-4) 
#define	Ureg_r19	(Uoffset+132-4) 
#define	Ureg_r18	(Uoffset+140-4) 
#define	Ureg_r17	(Uoffset+148-4) 
#define	Ureg_r16	(Uoffset+156-4) 
#define	Ureg_r15	(Uoffset+164-4) 
#define	Ureg_r14	(Uoffset+172-4) 
#define	Ureg_r13	(Uoffset+180-4) 
#define	Ureg_r12	(Uoffset+188-4) 
#define	Ureg_r11	(Uoffset+196-4) 
#define	Ureg_r10	(Uoffset+204-4) 
#define	Ureg_r9		(Uoffset+212-4) 
#define	Ureg_r8		(Uoffset+220-4) 
#define	Ureg_r7		(Uoffset+228-4) 
#define	Ureg_r6		(Uoffset+236-4) 
#define	Ureg_r5		(Uoffset+244-4) 
#define	Ureg_r4		(Uoffset+252-4) 
#define	Ureg_r3		(Uoffset+260-4) 
#define	Ureg_r2		(Uoffset+268-4) 
#define	Ureg_r1		(Uoffset+276-4) 
 
/* Sizeof(Ureg) + (R5,R6) + 16 bytes slop + retpc + ur */ 
#define	UREGSIZE	((Ureg_r1+8-Uoffset) + 16 + 16 + 4 + 4) 
#define	Uoffset		8 
1993/0903    
 
/* 
 * MMU 
1994/0612/sys/src/9/carrera/mem.h:110,1511994/0614/sys/src/9/carrera/mem.h:110,149 (short | long)
1994/0612    
#define	Ureg_cause	(Uoffset+12) 
#define	Ureg_badvaddr	(Uoffset+16) 
#define	Ureg_tlbvirt	(Uoffset+20) 
                 
#define	Ureg_hi		(Uoffset+28-4) 
#define	Ureg_lo		(Uoffset+36-4) 
#define	Ureg_r31	(Uoffset+44-4) 
#define	Ureg_r30	(Uoffset+52-4) 
#define	Ureg_r28	(Uoffset+60-4) 
#define	Ureg_r27	(Uoffset+68-4) 
#define	Ureg_r26	(Uoffset+76-4) 
#define	Ureg_r25	(Uoffset+84-4) 
#define	Ureg_r24	(Uoffset+92-4) 
#define	Ureg_r23	(Uoffset+100-4) 
#define	Ureg_r22	(Uoffset+108-4) 
#define	Ureg_r21	(Uoffset+116-4) 
#define	Ureg_r20	(Uoffset+124-4) 
#define	Ureg_r19	(Uoffset+132-4) 
#define	Ureg_r18	(Uoffset+140-4) 
#define	Ureg_r17	(Uoffset+148-4) 
#define	Ureg_r16	(Uoffset+156-4) 
#define	Ureg_r15	(Uoffset+164-4) 
#define	Ureg_r14	(Uoffset+172-4) 
#define	Ureg_r13	(Uoffset+180-4) 
#define	Ureg_r12	(Uoffset+188-4) 
#define	Ureg_r11	(Uoffset+196-4) 
#define	Ureg_r10	(Uoffset+204-4) 
#define	Ureg_r9		(Uoffset+212-4) 
#define	Ureg_r8		(Uoffset+220-4) 
#define	Ureg_r7		(Uoffset+228-4) 
#define	Ureg_r6		(Uoffset+236-4) 
#define	Ureg_r5		(Uoffset+244-4) 
#define	Ureg_r4		(Uoffset+252-4) 
#define	Ureg_r3		(Uoffset+260-4) 
#define	Ureg_r2		(Uoffset+268-4) 
#define	Ureg_r1		(Uoffset+276-4) 
                 
1994/0614    
#define	Ureg_hi		(Uoffset+28) 
#define	Ureg_lo		(Uoffset+36) 
#define	Ureg_r31	(Uoffset+44) 
#define	Ureg_r30	(Uoffset+52) 
#define	Ureg_r28	(Uoffset+60) 
#define	Ureg_r27	(Uoffset+68) 
#define	Ureg_r26	(Uoffset+76) 
#define	Ureg_r25	(Uoffset+84) 
#define	Ureg_r24	(Uoffset+92) 
#define	Ureg_r23	(Uoffset+100) 
#define	Ureg_r22	(Uoffset+108) 
#define	Ureg_r21	(Uoffset+116) 
#define	Ureg_r20	(Uoffset+124) 
#define	Ureg_r19	(Uoffset+132) 
#define	Ureg_r18	(Uoffset+140) 
#define	Ureg_r17	(Uoffset+148) 
#define	Ureg_r16	(Uoffset+156) 
#define	Ureg_r15	(Uoffset+164) 
#define	Ureg_r14	(Uoffset+172) 
#define	Ureg_r13	(Uoffset+180) 
#define	Ureg_r12	(Uoffset+188) 
#define	Ureg_r11	(Uoffset+196) 
#define	Ureg_r10	(Uoffset+204) 
#define	Ureg_r9		(Uoffset+212) 
#define	Ureg_r8		(Uoffset+220) 
#define	Ureg_r7		(Uoffset+228) 
#define	Ureg_r6		(Uoffset+236) 
#define	Ureg_r5		(Uoffset+244) 
#define	Ureg_r4		(Uoffset+252) 
#define	Ureg_r3		(Uoffset+260) 
#define	Ureg_r2		(Uoffset+268) 
#define	Ureg_r1		(Uoffset+276) 
1994/0612    
/* Sizeof(Ureg) + (R5,R6) + 16 bytes slop + retpc + ur */ 
#define	UREGSIZE	((Ureg_r1+8-Uoffset) + 16 + 16 + 4 + 4) 
1994/0614    
#define	UREGSIZE	((Ureg_r1+4-Uoffset) + 16 + 16 + 4 + 4) 
1994/0612    
#define	Uoffset		8 
1993/0903    
 
/* 
1994/0614/sys/src/9/carrera/mem.h:66,721994/0617/sys/src/9/carrera/mem.h:66,71 (short | long)
1993/0903    
#define ERL		0x00000004 
#define KSUPER		0x00000008 
#define KUSER		0x00000010 
1994/0612    
#define UX		0x00000020 
1993/0903    
#define INTMASK		0x0000ff00 
#define INTR0		0x00000100 
#define INTR1		0x00000200 
1994/0614/sys/src/9/carrera/mem.h:99,1501994/0617/sys/src/9/carrera/mem.h:98,106
1993/0903    
 * Fundamental addresses 
 */ 
1993/1211    
#define	MACHADDR	(KTZERO-MAXMACH*BY2PG)	/* warning: rdbg is near here */ 
1994/0617    
/* Sizeof(Ureg)+R5,R6+16 bytes slop+retpc & ur */ 
#define	UREGSIZE	0xC0		 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
1994/0612    
                 
/* 
 * offsets in ureg.h for l.s 
 */ 
#define	Ureg_status	(Uoffset+0) 
#define	Ureg_pc		(Uoffset+4) 
#define	Ureg_sp		(Uoffset+8) 
#define	Ureg_cause	(Uoffset+12) 
#define	Ureg_badvaddr	(Uoffset+16) 
#define	Ureg_tlbvirt	(Uoffset+20) 
1994/0614    
#define	Ureg_hi		(Uoffset+28) 
#define	Ureg_lo		(Uoffset+36) 
#define	Ureg_r31	(Uoffset+44) 
#define	Ureg_r30	(Uoffset+52) 
#define	Ureg_r28	(Uoffset+60) 
#define	Ureg_r27	(Uoffset+68) 
#define	Ureg_r26	(Uoffset+76) 
#define	Ureg_r25	(Uoffset+84) 
#define	Ureg_r24	(Uoffset+92) 
#define	Ureg_r23	(Uoffset+100) 
#define	Ureg_r22	(Uoffset+108) 
#define	Ureg_r21	(Uoffset+116) 
#define	Ureg_r20	(Uoffset+124) 
#define	Ureg_r19	(Uoffset+132) 
#define	Ureg_r18	(Uoffset+140) 
#define	Ureg_r17	(Uoffset+148) 
#define	Ureg_r16	(Uoffset+156) 
#define	Ureg_r15	(Uoffset+164) 
#define	Ureg_r14	(Uoffset+172) 
#define	Ureg_r13	(Uoffset+180) 
#define	Ureg_r12	(Uoffset+188) 
#define	Ureg_r11	(Uoffset+196) 
#define	Ureg_r10	(Uoffset+204) 
#define	Ureg_r9		(Uoffset+212) 
#define	Ureg_r8		(Uoffset+220) 
#define	Ureg_r7		(Uoffset+228) 
#define	Ureg_r6		(Uoffset+236) 
#define	Ureg_r5		(Uoffset+244) 
#define	Ureg_r4		(Uoffset+252) 
#define	Ureg_r3		(Uoffset+260) 
#define	Ureg_r2		(Uoffset+268) 
#define	Ureg_r1		(Uoffset+276) 
1994/0612    
/* Sizeof(Ureg) + (R5,R6) + 16 bytes slop + retpc + ur */ 
1994/0614    
#define	UREGSIZE	((Ureg_r1+4-Uoffset) + 16 + 16 + 4 + 4) 
1994/0612    
#define	Uoffset		8 
1993/0903    
 
/* 
 * MMU 
1994/0617/sys/src/9/carrera/mem.h:66,711994/0619/sys/src/9/carrera/mem.h:66,72 (short | long)
1993/0903    
#define ERL		0x00000004 
#define KSUPER		0x00000008 
#define KUSER		0x00000010 
1994/0619    
#define UX		0x00000020 
1993/0903    
#define INTMASK		0x0000ff00 
#define INTR0		0x00000100 
#define INTR1		0x00000200 
1994/0617/sys/src/9/carrera/mem.h:84,901994/0619/sys/src/9/carrera/mem.h:85,91
1993/0906    
 * Trap vectors 
1993/0903    
 */ 
#define	UTLBMISS	(KSEG0+0x000) 
#define	XEXCEPTION	(KSEG0+0x80) 
1994/0619    
#define	XEXCEPTION	(KSEG0+0x080) 
1993/0903    
#define	CACHETRAP	(KSEG0+0x100) 
#define	EXCEPTION	(KSEG0+0x180) 
 
1994/0617/sys/src/9/carrera/mem.h:98,1061994/0619/sys/src/9/carrera/mem.h:99,152
1993/0903    
 * Fundamental addresses 
 */ 
1993/1211    
#define	MACHADDR	(KTZERO-MAXMACH*BY2PG)	/* warning: rdbg is near here */ 
1994/0617    
/* Sizeof(Ureg)+R5,R6+16 bytes slop+retpc & ur */ 
#define	UREGSIZE	0xC0		 
1993/0903    
#define	MACHP(n)	((Mach *)(MACHADDR+(n)*BY2PG)) 
1994/0619    
 
/* 
 * offsets in ureg.h for l.s 
 */ 
#define	Ureg_status	(Uoffset+0) 
#define	Ureg_pc		(Uoffset+4) 
#define	Ureg_sp		(Uoffset+8) 
#define	Ureg_cause	(Uoffset+12) 
#define	Ureg_badvaddr	(Uoffset+16) 
#define	Ureg_tlbvirt	(Uoffset+20) 
 
#define	Ureg_hi		(Uoffset+28) 
#define	Ureg_lo		(Uoffset+36) 
#define	Ureg_r31	(Uoffset+44) 
#define	Ureg_r30	(Uoffset+52) 
#define	Ureg_r28	(Uoffset+60) 
#define	Ureg_r27	(Uoffset+68) 
#define	Ureg_r26	(Uoffset+76) 
#define	Ureg_r25	(Uoffset+84) 
#define	Ureg_r24	(Uoffset+92) 
#define	Ureg_r23	(Uoffset+100) 
#define	Ureg_r22	(Uoffset+108) 
#define	Ureg_r21	(Uoffset+116) 
#define	Ureg_r20	(Uoffset+124) 
#define	Ureg_r19	(Uoffset+132) 
#define	Ureg_r18	(Uoffset+140) 
#define	Ureg_r17	(Uoffset+148) 
#define	Ureg_r16	(Uoffset+156) 
#define	Ureg_r15	(Uoffset+164) 
#define	Ureg_r14	(Uoffset+172) 
#define	Ureg_r13	(Uoffset+180) 
#define	Ureg_r12	(Uoffset+188) 
#define	Ureg_r11	(Uoffset+196) 
#define	Ureg_r10	(Uoffset+204) 
#define	Ureg_r9		(Uoffset+212) 
#define	Ureg_r8		(Uoffset+220) 
#define	Ureg_r7		(Uoffset+228) 
#define	Ureg_r6		(Uoffset+236) 
#define	Ureg_r5		(Uoffset+244) 
#define	Ureg_r4		(Uoffset+252) 
#define	Ureg_r3		(Uoffset+260) 
#define	Ureg_r2		(Uoffset+268) 
#define	Ureg_r1		(Uoffset+276) 
 
/* Sizeof(Ureg) + (R5,R6) + 16 bytes slop + retpc + ur */ 
#define	UREGSIZE	((Ureg_r1+4-Uoffset) + 16 + 16 + 4 + 4) 
#define	Uoffset		8 
1993/0903    
 
/* 
 * MMU 
1994/0619/sys/src/9/carrera/mem.h:66,721995/0115/sys/src/9/carrera/mem.h:66,75 (short | long)
1993/0903    
#define ERL		0x00000004 
#define KSUPER		0x00000008 
#define KUSER		0x00000010 
1995/0115    
#define KSU		0x00000018 
1994/0619    
#define UX		0x00000020 
1995/0115    
#define SX		0x00000040 
#define KX		0x00000080 
1993/0903    
#define INTMASK		0x0000ff00 
#define INTR0		0x00000100 
#define INTR1		0x00000200 
1994/0619/sys/src/9/carrera/mem.h:93,991995/0115/sys/src/9/carrera/mem.h:96,102
1993/0903    
 * Magic registers 
 */ 
#define	USER		24		/* R24 is up-> */ 
#define	MACH		25		/* R25 is m-> */ 
1995/0115    
#define	MACH	25		/* R25 is m-> */ 
1993/0903    
 
/* 
 * Fundamental addresses 
1995/0115/sys/src/9/carrera/mem.h:166,1711995/0117/sys/src/9/carrera/mem.h:166,172 (short | long)
1993/0903    
#define	KSEG2	0xC0000000 
#define	KSEG3	0xE0000000 
#define	KSEGM	0xE0000000	/* mask to check which seg */ 
1995/0117    
#define	CACHELINESZ	128 
1993/0903    
 
1994/0209    
#define	PIDXSHFT	12 
#define	PIDX		(0x7<<PIDXSHFT) 
Too many diffs (26 > 25). Stopping.


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)