M pc/ether509.c => pc/ether509.c +2 -1
@@ 481,8 481,9 @@ tcm509(Ether *ether)
continue;
}
outb(IDport, 0xC0);
+ delay(2);
if(activate(1) != port)
- print("activate %d\n");
+ print("tcm509: activate\n");
if(ether->port == 0 || ether->port == port)
return port;
M power/lock.c => power/lock.c +4 -1
@@ 53,6 53,7 @@ lkpage(Segment *s, ulong va)
int i;
Page *pg;
uchar *p, *top;
+ ulong pa;
USED(s);
lock(&semalloc.lock);
@@ 70,7 71,9 @@ lkpage(Segment *s, ulong va)
*p = 1;
i = p-semalloc.bmap;
pg = &lkpgheader[i];
- pg->pa = (ulong)((i*WD2PG) + SBSEM) & ~UNCACHED;
+ pa = (ulong)(SBSEM+(i*WD2PG));
+ memset((void*)pa, 0, BY2PG);
+ pg->pa = pa & ~UNCACHED;
pg->va = va;
pg->ref = 1;