M alphapc/l.s => alphapc/l.s +1 -1
@@ 110,7 110,7 @@ TEXT spldone(SB), $0
TEXT islo(SB), $0
CALL_PAL $PALrdps
AND $IPL, R0
- XOR $IPL, R0
+ XOR $HI_IPL, R0
RET
TEXT mb(SB), $-8
M pc/trap.c => pc/trap.c +0 -4
@@ 537,10 537,6 @@ syscall(Ureg* ureg)
if((ureg->cs & 0xFFFF) != UESEL)
panic("syscall: cs 0x%4.4luX\n", ureg->cs);
- /* check syscall has an empty kernel stack */
- if(up->kstack + KSTACK - (char*)ureg > 512)
- panic("syscall: stack %ld\n", up->kstack + KSTACK - (char*)ureg);
-
m->syscall++;
up->insyscall = 1;
up->pc = ureg->pc;
M port/devenv.c => port/devenv.c +1 -1
@@ 228,7 228,7 @@ envread(Chan *c, void *a, long n, vlong off)
rlock(eg);
e = envlookup(eg, nil, c->qid.path);
if(e == 0) {
- rlock(eg);
+ runlock(eg);
error(Enonexist);
}
M port/fault.c => port/fault.c +5 -2
@@ 341,15 341,18 @@ vmemchr(void *s, int c, int n)
char *t;
ulong a;
+ loop:
a = (ulong)s;
m = BY2PG - (a & (BY2PG-1));
if(m < n){
- t = vmemchr(s, c, m);
+ t = memchr(s, c, m);
if(t)
return t;
if((a & KZERO) != KZERO)
validaddr(a+m, 1, 0);
- return vmemchr((void*)(a+m), c, n-m);
+ s = (void*)(a+m);
+ n -= m;
+ goto loop;
}
/*
* All in one page