## diffname carrera/mem.h 1993/0903 ## diff -e /dev/null /n/fornaxdump/1993/0903/sys/src/brazil/carrera/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 PGROUND(s) (((s)+(BY2PG-1))&~(BY2PG-1)) #define MAXMACH 4 /* max # cpus system can run */ #define KSTACK 4096 /* Size of kernel stack */ /* * Time */ #define HZ 100 /* clock frequency */ #define MS2HZ (1000/HZ) /* millisec per clock tick */ #define TK2SEC(t) ((t)/HZ) /* ticks to seconds */ #define TK2MS(t) ((t)*MS2HZ) /* ticks to milliseconds */ #define MS2TK(t) ((t)/MS2HZ) /* milliseconds to ticks */ /* * CP0 registers */ #define INDEX 0 #define RANDOM 1 #define TLBPHYS0 2 #define TLBPHYS1 3 #define CONTEXT 4 #define PAGEMASK 5 #define WIRED 6 #define BADVADDR 8 #define COUNT 9 #define TLBVIRT 10 #define COMPARE 11 #define STATUS 12 #define CAUSE 13 #define EPC 14 #define PRID 15 #define CONFIG 16 #define LLADDR 17 #define WATCHLO 18 #define WATCHHI 19 #define CACHEECC 26 #define CACHEERR 27 #define TAGLO 28 #define TAGHI 29 #define ERROREPC 30 /* * M(STATUS) bits */ #define KMODEMASK 0x0000001f #define IE 0x00000001 #define EXL 0x00000002 #define ERL 0x00000004 #define KSUPER 0x00000008 #define KUSER 0x00000010 #define INTMASK 0x0000ff00 #define INTR0 0x00000100 #define INTR1 0x00000200 #define INTR2 0x00000400 #define INTR3 0x00000800 #define INTR4 0x00001000 #define INTR5 0x00002000 #define INTR6 0x00004000 #define INTR7 0x00008000 #define ISC 0x00010000 #define SWC 0x00020000 #define CU1 0x20000000 /* * Traps */ #define UTLBMISS (KSEG0+0x000) #define XEXCEPTION (KSEG0+0x80) #define CACHETRAP (KSEG0+0x100) #define EXCEPTION (KSEG0+0x180) /* * Magic registers */ #define USER 24 /* R24 is up-> */ #define MACH 25 /* R25 is m-> */ /* * 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 #define MACHP(n) ((Mach *)(MACHADDR+(n)*BY2PG)) /* * MMU */ #define PGSZ4K (0x00<<13) #define PGSZ256K (0x3F<<13) #define KUSEG 0x00000000 #define KSEG0 0x80000000 #define KSEG1 0xA0000000 #define KSEG2 0xC0000000 #define KSEG3 0xE0000000 #define KSEGM 0xE0000000 /* mask to check which seg */ #define PIDXSHFT 12 #define PIDX (0x7<>PIDXSHFT)&7) #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) #define PTEPID(n) (n) #define TLBPID(n) ((n)&0xFF) #define PTEMAPMEM (1024*1024) #define PTEPERTAB (PTEMAPMEM/BY2PG) #define STLBLOG 13 #define STLBSIZE (1<>PIDXSHFT)&7) . 123a #define KMAPADDR 0xE1000000 #define KMAPMASK 0xFF000000 . 110d 106d 100,103c #define UREGSIZE 0xA0 /* Sizeof(Ureg)+retpc & ur */ . 92d 83d 81c * Trap vectors . ## diffname carrera/mem.h 1993/0907 ## diff -e /n/fornaxdump/1993/0906/sys/src/brazil/carrera/mem.h /n/fornaxdump/1993/0907/sys/src/brazil/carrera/mem.h 106a #define PGSZ1M (0xFF<<13) . ## diffname carrera/mem.h 1993/0908 ## diff -e /n/fornaxdump/1993/0907/sys/src/brazil/carrera/mem.h /n/fornaxdump/1993/0908/sys/src/brazil/carrera/mem.h 133a #define IOPTE (PTEGLOBL|PTEVALID|PTEWRITE|PTEUNCACHED) . ## diffname carrera/mem.h 1993/0930 ## diff -e /n/fornaxdump/1993/0908/sys/src/brazil/carrera/mem.h /n/fornaxdump/1993/0930/sys/src/brazil/carrera/mem.h 77a #define CU0 0x10000000 . ## diffname carrera/mem.h 1993/1209 ## diff -e /n/fornaxdump/1993/0930/sys/src/brazil/carrera/mem.h /n/fornaxdump/1993/1209/sys/src/brazil/carrera/mem.h 98c #define MACHADDR 0x8008e000 /* Mach structures */ . ## diffname carrera/mem.h 1993/1211 ## diff -e /n/fornaxdump/1993/1209/sys/src/brazil/carrera/mem.h /n/fornaxdump/1993/1211/sys/src/brazil/carrera/mem.h 143c #define KPTELOG 6 . 98c #define MACHADDR (KTZERO-MAXMACH*BY2PG) /* warning: rdbg is near here */ . 17c #define MAXMACH 1 /* max # cpus system can run */ . ## diffname carrera/mem.h 1993/1218 ## diff -e /n/fornaxdump/1993/1211/sys/src/brazil/carrera/mem.h /n/fornaxdump/1993/1218/sys/src/brazil/carrera/mem.h 119c #define KMAPADDR 0xE2000000 . ## diffname carrera/mem.h 1993/1224 ## diff -e /n/fornaxdump/1993/1218/sys/src/brazil/carrera/mem.h /n/fornaxdump/1993/1224/sys/src/brazil/carrera/mem.h 143c #define KPTELOG 7 . ## diffname carrera/mem.h 1993/1230 ## diff -e /n/fornaxdump/1993/1224/sys/src/brazil/carrera/mem.h /n/fornaxdump/1993/1230/sys/src/brazil/carrera/mem.h 162a #define globalmem(x) (((ulong)x)&KZERO) /* addresses valid in all contexts */ . ## diffname carrera/mem.h 1994/0209 ## diff -e /n/fornaxdump/1993/1230/sys/src/brazil/carrera/mem.h /n/fornaxdump/1994/0209/sys/src/brazil/carrera/mem.h 159c #define TSTKSIZ 100 . 141,145c #define STLBLOG 13 #define STLBSIZE (1<>PIDXSHFT)&7) . 117,118c #define PIDXSHFT 12 #define PIDX (0x7< */ . 69a #define SX 0x00000040 #define KX 0x00000080 . 68a #define KSU 0x00000018 . ## diffname carrera/mem.h 1995/0117 ## diff -e /n/fornaxdump/1995/0115/sys/src/brazil/carrera/mem.h /n/fornaxdump/1995/0117/sys/src/brazil/carrera/mem.h 168a #define CACHELINESZ 128 . ## diffname carrera/mem.h 1997/1103 ## diff -e /n/fornaxdump/1995/0117/sys/src/brazil/carrera/mem.h /n/emeliedump/1997/1103/sys/src/brazil/carrera/mem.h 16,17c #define ROUND(s, sz) (((s)+(sz-1))&~(sz-1)) #define PGROUND(s) ROUND(s, BY2PG) . 12c #define BY2V 8 /* bytes per vlong */ . ## diffname carrera/mem.h 1997/1208 ## diff -e /n/emeliedump/1997/1103/sys/src/brazil/carrera/mem.h /n/emeliedump/1997/1208/sys/src/brazil/carrera/mem.h 216c #define USTKSIZE (8*1024*1024) /* size of user stack */ . ## diffname carrera/mem.h 1998/0610 ## diff -e /n/emeliedump/1997/1208/sys/src/brazil/carrera/mem.h /n/emeliedump/1998/0610/sys/src/brazil/carrera/mem.h 25c #define HZ 1000 /* clock frequency */ . ## diffname carrera/mem.h 1998/0916 ## diff -e /n/emeliedump/1998/0610/sys/src/brazil/carrera/mem.h /n/emeliedump/1998/0916/sys/src/brazil/carrera/mem.h 199a #define SSEGMAPSIZE 16 . ## diffname carrera/mem.h 1999/0101 ## diff -e /n/emeliedump/1998/0916/sys/src/brazil/carrera/mem.h /n/emeliedump/1999/0101/sys/src/brazil/carrera/mem.h 16c #define ROUND(s, sz) (((s)+((sz)-1))&~((sz)-1)) . ## diffname carrera/mem.h 1999/0327 ## diff -e /n/emeliedump/1999/0101/sys/src/brazil/carrera/mem.h /n/emeliedump/1999/0327/sys/src/brazil/carrera/mem.h 25c #define HZ 250 /* clock frequency */ . ## diffname carrera/mem.h 1999/0331 ## diff -e /n/emeliedump/1999/0327/sys/src/brazil/carrera/mem.h /n/emeliedump/1999/0331/sys/src/brazil/carrera/mem.h 25c #define HZ 500 /* clock frequency */ . ## diffname carrera/mem.h 1999/0402 ## diff -e /n/emeliedump/1999/0331/sys/src/brazil/carrera/mem.h /n/emeliedump/1999/0402/sys/src/brazil/carrera/mem.h 25c #define HZ 1000 /* clock frequency */ . ## diffname carrera/mem.h 1999/0522 ## diff -e /n/emeliedump/1999/0402/sys/src/brazil/carrera/mem.h /n/emeliedump/1999/0522/sys/src/brazil/carrera/mem.h 20a #define BLOCKALIGN 8 . ## diffname carrera/mem.h 1999/1005 ## diff -e /n/emeliedump/1999/0522/sys/src/brazil/carrera/mem.h /n/emeliedump/1999/1005/sys/src/brazil/carrera/mem.h 26c #define HZ 100 /* clock frequency */ . ## diffname carrera/mem.h 2000/0726 ## diff -e /n/emeliedump/1999/1005/sys/src/brazil/carrera/mem.h /n/emeliedump/2000/0726/sys/src/9/carrera/mem.h 30c #define MS2TK(t) (((t)*HZ+500)/1000) /* milliseconds to closest tick */ . ## diffname carrera/mem.h 2001/0527 # deleted ## diff -e /n/emeliedump/2000/0726/sys/src/9/carrera/mem.h /n/emeliedump/2001/0527/sys/src/9/carrera/mem.h 1,243d