From ebfe295ab4300176782cbed7115fb75011338ae2 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sat, 4 Jan 1992 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1992-01-04 --- pc/trap.c | 4 ++-- power/devhotrod.c | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/pc/trap.c b/pc/trap.c index fd2fb93b683b9c27297f553f80b204c1c97bb824..1c9aab201e19bc6701ff4c21c50be922366ae00d 100644 --- a/pc/trap.c +++ b/pc/trap.c @@ -242,9 +242,9 @@ trap(Ureg *ur) (*ivec[v])(ur); /* - * syscall does it's own notifying + * check user since syscall does it's own notifying */ - if(user) + if(user && (u->p->procctl || u->nnote)) notify(ur); } diff --git a/power/devhotrod.c b/power/devhotrod.c index 93c735f22f2d2f6890ccb09c0dd88ec911ab3446..dde112b259b82f71de33f71292a7b6ce42c7cfc3 100644 --- a/power/devhotrod.c +++ b/power/devhotrod.c @@ -336,6 +336,30 @@ hotrodread(Chan *c, void *buf, long n, ulong offset) } if(mp->param[2] != hotsum(buf, m, mp->param[2])){ hp->addr->lcsr7 = 0xBEEF; +{ + ulong *i, j, posn, nerr, val; + + i = buf; + posn = -1; + nerr = 0; + for(j = 0; j < n/4; j++) { + val = *i & 0xffff; + if(posn == -1) + posn = val+1; + else if(posn != val) { + print("error at offset %d %8lux != %8lux word=%8lux\n", + j, posn, val, *i); + posn = -1; + if(++nerr > 10) { + print("too many\n"); + break; + } + } + else + posn++; + i++; + } +} print("hotrod cksum err is %lux sb %lux\n", hotsum(buf, m, 1), mp->param[2]); /*