| plan 9 kernel history: overview | file list | diff list |
1990/11211/gnot/fault.c (diff list | history)
| 1990/1113/sys/src/9/gnot/fault.c:161,167 – 1990/11211/sys/src/9/gnot/fault.c:161,167 (short | long | prev | next) | ||
| 1990/06021 | k = kmap(pg); | |
| 1990/03091 | qlock(o->chan); if(waserror()){ | |
| 1990/11211 | print("demand load i/o error %s\n", u->error); | |
| 1990/06021 | kunmap(k); | |
| 1990/03091 | qunlock(o->chan); pg->o = 0; | |
| 1990/1113/sys/src/9/gnot/fault.c:171,177 – 1990/11211/sys/src/9/gnot/fault.c:171,177 | ||
| 1990/03091 | o->chan->offset = (addr-o->va) + o->minca; | |
| 1990/0614 | l = (char*)VA(k); | |
| 1990/03091 | if((*devtab[o->chan->type].read)(o->chan, l, n) != n) | |
| 1990/11211 | error(Eioload); | |
| 1990/03091 | qunlock(o->chan); if(n<BY2PG) memset(l+n, 0, BY2PG-n); | |
| 1990/1113/sys/src/9/gnot/fault.c:291,297 – 1990/11211/sys/src/9/gnot/fault.c:291,297 | ||
| 1990/0312 | Err: | |
| 1990/03091 | pprint("invalid address in sys call pc %lux sp %lux\n", ((Ureg*)UREGADDR)->pc, ((Ureg*)UREGADDR)->sp); | |
| 1990/1110 | postnote(u->p, 1, "sys: bad address", NDebug); | |
| 1990/03091 |
| |
| 1990/11211 | error(Ebadarg); | |
| 1990/03091 | } | |
| 1990/0617 | Again: s = seg(u->p, addr); | |