## diffname power/faultmips.c 1990/1212 ## diff -e /dev/null /n/bootesdump/1990/1212/sys/src/9/mips/faultmips.c 0a #include "u.h" #include "lib.h" #include "mem.h" #include "dat.h" #include "fns.h" #include "ureg.h" #include "errno.h" /* * find out fault address and type of access. * Call common fault handler. */ void faultmips(Ureg *ur, int user, int code) { ulong addr; extern char *excname[]; int read; addr = ur->badvaddr; addr &= ~(BY2PG-1); read = !(code==CTLBM || code==CTLBS); if(fault(addr, read) < 0){ if(user){ pprint("user %s badvaddr=0x%lux\n", excname[code], ur->badvaddr); pprint("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->status, ur->pc, ur->sp); pexit("Suicide", 0); } print("kernel %s badvaddr=0x%lux\n", excname[code], ur->badvaddr); print("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->status, ur->pc, ur->sp); u->p->state = MMUing; dumpregs(ur); panic("fault"); } } /* * called in sysfile.c */ void evenaddr(ulong addr) { if(addr & 3){ postnote(u->p, 1, "sys: odd address", NDebug); error(Ebadarg); } } . ## diffname power/faultmips.c 1991/0425 ## diff -e /n/bootesdump/1991/0201/sys/src/9/mips/faultmips.c /n/bootesdump/1991/0425/sys/src/9/power/faultmips.c 19a m->pfault++; . ## diffname power/faultmips.c 1991/0427 ## diff -e /n/bootesdump/1991/0425/sys/src/9/power/faultmips.c /n/bootesdump/1991/0427/sys/src/9/power/faultmips.c 20d ## diffname power/faultmips.c 1991/0705 ## diff -e /n/bootesdump/1991/0427/sys/src/9/power/faultmips.c /n/bootesdump/1991/0705/sys/src/9/power/faultmips.c 25,27c sprint(buf, "sys: fault %s pc=0x%lux addr=0x%lux", read? "read" : "write", ur->pc, ur->badvaddr); postnote(u->p, 1, buf, NDebug); notify(ur); return; . 17a char buf[ERRLEN]; . ## diffname power/faultmips.c 1991/0926 ## diff -e /n/bootesdump/1991/0705/sys/src/9/power/faultmips.c /n/bootesdump/1991/0926/sys/src/9/power/faultmips.c 34d 23a . ## diffname power/faultmips.c 1991/1108 ## diff -e /n/bootesdump/1991/0926/sys/src/9/power/faultmips.c /n/bootesdump/1991/1108/sys/src/9/power/faultmips.c 30d ## diffname power/faultmips.c 1991/1218 ## diff -e /n/bootesdump/1991/1108/sys/src/9/power/faultmips.c /n/bootesdump/1991/1218/sys/src/9/power/faultmips.c 27,28c sprint(buf, "sys: trap: fault %s addr=0x%lux", read? "read" : "write", ur->badvaddr); . ## diffname power/faultmips.c 1992/0111 ## diff -e /n/bootesdump/1991/1218/sys/src/9/power/faultmips.c /n/bootesdump/1992/0111/sys/src/9/power/faultmips.c 7c #include "../port/error.h" . ## diffname power/faultmips.c 1992/0321 ## diff -e /n/bootesdump/1992/0111/sys/src/9/power/faultmips.c /n/bootesdump/1992/0321/sys/src/9/power/faultmips.c 2c #include "../port/lib.h" . ## diffname power/faultmips.c 1992/0508 ## diff -e /n/bootesdump/1992/0321/sys/src/9/power/faultmips.c /n/bootesdump/1992/0508/sys/src/9/power/faultmips.c 36a LEDOFF(LEDfault); . 29a LEDOFF(LEDfault); . 20a LEDON(LEDfault); . 7a #include "io.h" . ## diffname power/faultmips.c 1992/0609 ## diff -e /n/bootesdump/1992/0508/sys/src/9/power/faultmips.c /n/bootesdump/1992/0609/sys/src/9/power/faultmips.c 23a if(addr & KZERO) LEDON(LEDkfault); . ## diffname power/faultmips.c 1992/1105 ## diff -e /n/bootesdump/1992/0609/sys/src/9/power/faultmips.c /n/bootesdump/1992/1105/sys/src/9/power/faultmips.c 37,38c iprint("kernel %s badvaddr=0x%lux\n", excname[code], ur->badvaddr); iprint("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->status, ur->pc, ur->sp); . ## diffname power/faultmips.c 1992/1124 ## diff -e /n/bootesdump/1992/1105/sys/src/9/power/faultmips.c /n/bootesdump/1992/1124/sys/src/9/power/faultmips.c 37,38c print("kernel %s badvaddr=0x%lux\n", excname[code], ur->badvaddr); print("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->status, ur->pc, ur->sp); . 25a print("KZERO %s badvaddr=0x%lux r31=0x%lux\n", excname[code], ur->badvaddr, ur->r31); print("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->status, ur->pc, ur->sp); } . 24c if(addr & KZERO){ . ## diffname power/faultmips.c 1992/1125 ## diff -e /n/bootesdump/1992/1124/sys/src/9/power/faultmips.c /n/bootesdump/1992/1125/sys/src/9/power/faultmips.c 26,29d 24c if(addr & KZERO) . ## diffname power/faultmips.c 1992/1126 ## diff -e /n/bootesdump/1992/1125/sys/src/9/power/faultmips.c /n/bootesdump/1992/1126/sys/src/9/power/faultmips.c 42c LEDOFF(LEDfault|LEDkfault); . 24c if((addr & KZERO) && (0xffff0000 & addr) != USERADDR) . ## diffname power/faultmips.c 1993/0501 ## diff -e /n/bootesdump/1992/1126/sys/src/9/power/faultmips.c /n/fornaxdump/1993/0501/sys/src/brazil/power/faultmips.c 52c postnote(up, 1, "sys: odd address", NDebug); . 42c print("kernel %s vaddr=0x%lux\n", excname[code], ur->badvaddr); print("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->status, ur->pc, ur->sp); dumpregs(ur); panic("fault"); . 29,40c if(fault(addr, read) == 0) return; if(user) { p = "store"; if(read) p = "load"; sprint(buf, "sys: trap: fault %s addr=0x%lux", p, ur->badvaddr); postnote(up, 1, buf, NDebug); return; . 24,25d 22d 19,20c char *p, buf[ERRLEN]; . 16a int read; . ## diffname power/faultmips.c 1997/0327 # deleted ## diff -e /n/fornaxdump/1993/0501/sys/src/brazil/power/faultmips.c /n/emeliedump/1997/0327/sys/src/brazil/power/faultmips.c 1,53d