## diffname ss/mem.h 1990/1223 ## diff -e /dev/null /n/bootesdump/1990/1223/sys/src/9/sparc/mem.h 0a /* * Memory and machine-specific definitions. Used in C and assembler. */ /* * Sizes */ #define BI2BY 8 /* bits per byte */ #define BI2WD 32 /* bits per word */ #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 MAXMACH 1 /* max # cpus system can run */ /* * Time */ #define HZ (60) /* clock frequency */ #define MS2HZ (1000/HZ) /* millisec per clock tick */ #define TK2SEC(t) ((t)/HZ) /* ticks to seconds */ #define TK2MS(t) ((((ulong)(t))*1000)/HZ) /* ticks to milliseconds */ #define MS2TK(t) ((((ulong)(t))*HZ)/1000) /* milliseconds to ticks */ /* * SR bits */ #define SUPER 0x2000 #define SPL(n) (n<<8) /* * CACR */ #define CCLEAR 0x08 #define CENABLE 0x01 /* * Magic registers */ #define MACH 28 /* R28 is m-> */ #define USER 27 /* R27 is u-> */ /* * Fundamental addresses */ #define USERADDR 0x80000000 #define UREGADDR (USERADDR+BY2PG-(2+4+2+(8+8+1)*BY2WD)) /* * Devices poked during bootstrap */ #define TACADDR 0x40600000 #define MOUSE 0x40200000 /* * MMU */ #define VAMASK 0x1FFFFFFF /* * MMU entries */ #define PTEVALID (1<<31) #define PTEWRITE (1<<30) #define PTEKERNEL (1<<29) #define PTENOCACHE (1<<28) #define PTEMAINMEM (0<<26) #define PTEIO (1<<26) #define PTEACCESS (1<<25) #define PTEMODIFY (1<<24) #define PTERONLY 0 /* BUG */ #define INVALIDPTE 0 #define PPN(pa) ((pa>>12)&0xFFFF) #define KMAP ((unsigned long *)0xD0000000) #define UMAP ((unsigned long *)0x50000000) /* * Virtual addresses */ #define VTAG(va) ((va>>22)&0x03F) #define VPN(va) ((va>>13)&0x1FF) #define PARAM ((char*)0x40500000) #define TLBFLUSH_ 0x01 /* * Address spaces */ #define UZERO 0x00000000 /* base of user address space */ #define UTZERO (UZERO+BY2PG) /* first address in user text */ #define TSTKTOP 0x10000000 /* end of new stack in sysexec */ #define USTKTOP (TSTKTOP-100*BY2PG) /* byte just beyond user stack */ #define KZERO 0x10000000 /* base of kernel address space */ #define KTZERO (KZERO+4*BY2PG) /* first address in kernel text */ #define USTACKSIZE (4*1024*1024) /* size of user stack */ #define NSEG 5 #define MACHSIZE 4096 . ## diffname ss/mem.h 1990/1226 ## diff -e /n/bootesdump/1990/1223/sys/src/9/sparc/mem.h /n/bootesdump/1990/1226/sys/src/9/sparc/mem.h 100,101c #define USTKTOP (TSTKTOP-32*BY2PG) /* byte just beyond user stack */ #define KZERO 0xE0000000 /* base of kernel address space */ . 97c #define UZERO 0x00000000 /* base of user address space */ . 84a * Weird addresses in various ASI's */ #define CACHETAGS 0x80000000 /* ASI 2 */ #define SER 0x60000000 /* ASI 2 */ #define SEVAR 0x60000004 /* ASI 2 */ /* . 77d 68a #define PTERONLY (0<<30) . 63,64d 61a #define INVALIDSEGM 0xFFFC0000 /* highest seg of VA reserved as invalid */ #define INVALIDPMEG 0x7F #define SCREENSEGM 0xFFF80000 #define SCREENPMEG 0x7E #define ROMSEGM 0xFFE80000 #define ROMEND 0xFFEA0000 #define PG2ROM ((ROMEND-ROMSEGM)/BY2PG) #define IOSEGM0 ROMSEGM /* see mmuinit() */ #define NIOSEGM ((SCREENSEGM-ROMSEGM)/BY2SEGM) #define IOPMEG0 (SCREENPMEG-NIOSEGM) #define IOSEGM ROMEND #define IOEND SCREENSEGM . 60c * MMU regions . 58a #define VAMASK 0x1FFFFFFF #define NPMEG (1<<12) #define BY2SEGM (1<<18) #define PG2SEGM (1<<6) #define NTLBPID (NCONTEXT+1) #define NCONTEXT 8 #define CONTEXT 0x30000000 /* in ASI 2 */ . 56,57d 54c * MMU . 50,51c #define USERADDR 0xE0000000 #define UREGADDR (USERADDR+BY2PG-((32+5)*BY2WD)) #define BOOTSTACK (KTZERO-0*BY2PG) #define TRAPS (KTZERO-2*BY2PG) . 43,44c #define MACH 6 /* R6 is m-> */ #define USER 5 /* R5 is u-> */ . 34,39d 30c #define PSREC 0x00002000 #define PSREF 0x00001000 #define PSRSUPER 0x00000080 #define PSRPSUPER 0x00000040 #define PSRET 0x00000020 . 28c * PSR bits . ## diffname ss/mem.h 1990/1227 ## diff -e /n/bootesdump/1990/1226/sys/src/9/sparc/mem.h /n/bootesdump/1990/1227/sys/src/9/sparc/mem.h 57c #define VAMASK 0x3FFFFFFF . 21c #define HZ 20 /* clock frequency */ . ## diffname ss/mem.h 1991/0108 ## diff -e /n/bootesdump/1990/1227/sys/src/9/sparc/mem.h /n/bootesdump/1991/0108/sys/src/9/sparc/mem.h 79a #define LANCESEGM (16*1024*1024-BY2SEGM) #define LANCEPMEG (IOSEGM0-1) #define TOPPMEG LANCEPMEG . ## diffname ss/mem.h 1991/0110 ## diff -e /n/bootesdump/1991/0108/sys/src/9/sparc/mem.h /n/bootesdump/1991/0110/sys/src/9/sparc/mem.h 108a #define ASER 0x60000008 /* ASI 2 */ #define ASEVAR 0x6000000C /* ASI 2 */ . 100,102d 80,82c #define TOPPMEG IOPMEG0 . 61c #define NTLBPID (1+NCONTEXT) /* TLBPID 0 is unallocated */ . ## diffname ss/mem.h 1991/0111 ## diff -e /n/bootesdump/1991/0110/sys/src/9/sparc/mem.h /n/bootesdump/1991/0111/sys/src/9/sparc/mem.h 105a #define ENAB 0x40000000 /* ASI 2 */ #define ENABCACHE 0x10 #define ENABRESET 0x04 . 101a #define CACHEDATA 0x90000000 /* ASI 2 */ . ## diffname ss/mem.h 1991/0112 ## diff -e /n/bootesdump/1991/0111/sys/src/9/sparc/mem.h /n/bootesdump/1991/0112/sys/src/9/sparc/mem.h 49c #define UREGADDR (USERADDR+BY2PG-((32+6)*BY2WD)) . ## diffname ss/mem.h 1991/0404 ## diff -e /n/bootesdump/1991/0201/sys/src/9/sparc/mem.h /n/bootesdump/1991/0404/sys/src/9/slc/mem.h 133a #define isphys(x) ((((ulong)(x)&0xF0000000) == KZERO) . ## diffname ss/mem.h 1991/0411 ## diff -e /n/bootesdump/1991/0404/sys/src/9/slc/mem.h /n/bootesdump/1991/0411/sys/src/9/slc/mem.h 135c #define isphys(x) (((ulong)(x)&0xF0000000) == KZERO) . ## diffname ss/mem.h 1991/0523 ## diff -e /n/bootesdump/1991/0411/sys/src/9/slc/mem.h /n/bootesdump/1991/0523/sys/src/9/slc/mem.h 127c #define TSTKSIZ 32 #define USTKTOP (TSTKTOP-TSTKSIZ*BY2PG) /* byte just beyond user stack */ . ## diffname ss/mem.h 1991/0605 ## diff -e /n/bootesdump/1991/0523/sys/src/9/slc/mem.h /n/bootesdump/1991/0605/sys/src/9/slc/mem.h 133d 131c #define USTKSIZE (4*1024*1024) /* size of user stack */ . ## diffname ss/mem.h 1991/0606 ## diff -e /n/bootesdump/1991/0605/sys/src/9/slc/mem.h /n/bootesdump/1991/0606/sys/src/9/slc/mem.h 14a #define PGROUND(s) (((s)+(BY2PG-1))&~(BY2PG-1)) . ## diffname ss/mem.h 1991/0607 ## diff -e /n/bootesdump/1991/0606/sys/src/9/slc/mem.h /n/bootesdump/1991/0607/sys/src/9/slc/mem.h 94a #define PTEUNCACHED 0 . ## diffname ss/mem.h 1991/0706 ## diff -e /n/bootesdump/1991/0607/sys/src/9/slc/mem.h /n/bootesdump/1991/0706/sys/src/9/slc/mem.h 95a #define PTEMAPMEM (1024*1024) #define PTEPERTAB (PTEMAPMEM/BY2PG) #define SEGMAPSIZE 16 . ## diffname ss/mem.h 1992/0722 ## diff -e /n/bootesdump/1991/0706/sys/src/9/slc/mem.h /n/bootesdump/1992/0722/sys/src/9/slc/mem.h 122,123c /* * Rom addresses */ #define PUTCXSEGM 0xFFE80118 . 114a #define VACLINESZ 16 /* cache line size */ #define VACSIZE (1<<16) /* total cache size */ . 74c #define ROMEND 0xFFEC0000 . ## diffname ss/mem.h 1992/0807 ## diff -e /n/bootesdump/1992/0807/sys/src/9/slc/mem.h /n/bootesdump/1992/0807/sys/src/9/ss/mem.h 143,144d 132d 125,129d 115,116c #define ENABCACHE 0x10 #define ENABDMA 0x20 . 113d 72c #define SCREENPMEG (conf.npmeg-2) . 70c #define INVALIDPMEG (conf.npmeg-1) . 62,63c #define NTLBPID (1+MAXCONTEXT) /* TLBPID 0 is unallocated */ #define MAXCONTEXT 16 . 59d ## diffname ss/mem.h 1992/0809 ## diff -e /n/bootesdump/1992/0807/sys/src/9/ss/mem.h /n/bootesdump/1992/0809/sys/src/9/ss/mem.h 94a . 93a #define PTEPROBEMEM (PTEVALID|PTEKERNEL|PTENOCACHE|PTEWRITE|PTEMAINMEM) . ## diffname ss/mem.h 1992/0812 ## diff -e /n/bootesdump/1992/0809/sys/src/9/ss/mem.h /n/bootesdump/1992/0812/sys/src/9/ss/mem.h 107,113c #define CACHETAGS 0x80000000 #define CACHEDATA 0x90000000 #define SER 0x60000000 #define SEVAR 0x60000004 #define ASER 0x60000008 #define ASEVAR 0x6000000C #define ENAB 0x40000000 . 105c * Weird addresses etc. in System ASI (2) . 94a #define PTEPROBEIO (PTEVALID|PTEKERNEL|PTENOCACHE|PTEWRITE|PTEIO) . 75,79c #define NIOSEGM ((MB/BY2SEGM) + 4) /* 1M for screen + overhead */ #define IOSEGM0 (ROMSEGM-NIOSEGM*BY2SEGM) #define IOPMEG0 (ROMPMEG-NIOSEGM) #define IOEND ROMSEGM . 70,71c #define ROMPMEG (conf.npmeg-2) . ## diffname ss/mem.h 1992/0829 ## diff -e /n/bootesdump/1992/0812/sys/src/9/ss/mem.h /n/bootesdump/1992/0829/sys/src/9/ss/mem.h 74c #define NIOSEGM ((MB/BY2SEGM) + 8) /* 1M for screen + overhead */ . ## diffname ss/mem.h 1992/0911 ## diff -e /n/bootesdump/1992/0829/sys/src/9/ss/mem.h /n/bootesdump/1992/0911/sys/src/9/ss/mem.h 70,78c #define IOSEGSIZE (MB + 2*MB) /* 1 meg for screen plus overhead */ #define IOSEGM (INVALIDSEGM - IOSEGSIZE) . 61,62d ## diffname ss/mem.h 1992/0912 ## diff -e /n/bootesdump/1992/0911/sys/src/9/ss/mem.h /n/bootesdump/1992/0912/sys/src/9/ss/mem.h 92c #define PPN(pa) (((pa)>>12)&0xFFFF) . 89c #define SEGMAPSIZE 128 . 22c #define HZ 50 /* clock frequency */ . ## diffname ss/mem.h 1993/0501 # deleted ## diff -e /n/bootesdump/1992/0912/sys/src/9/ss/mem.h /n/fornaxdump/1993/0501/sys/src/brazil/ss/mem.h 1,126d