M port/devcons.c => port/devcons.c +1 -4
@@ 61,8 61,7 @@ putstrn(char *str, int n)
/*
* if there's a serial line being used as a console,
- * put the message there. Tack a carriage return
- * before new lines.
+ * put the message there.
*/
if(printq == 0)
return;
@@ 228,8 227,6 @@ kbdcr2nl(Queue *q, int ch)
/*
* Put character, possibly a rune, into read queue at interrupt time.
- * Always called splhi from processor 0.
- *
* Called at interrupt time to process a character.
*/
int
M port/devlance.c => port/devlance.c +8 -8
@@ 120,7 120,6 @@ struct Softlance
{
Lance; /* host dependent lance params */
- uchar ea[6];
uchar bcast[6];
int wedged; /* the lance is wedged */
@@ 139,10 138,10 @@ static void promiscuous(void*, int);
void
lancereset(void)
{
- static int already;
+ static int inited;
- if(already == 0){
- already = 1;
+ if(inited == 0){
+ inited = 1;
lancesetup(&l);
/* general network interface structure */
@@ 150,6 149,7 @@ lancereset(void)
l.alen = 6;
memmove(l.addr, l.ea, 6);
memmove(l.bcast, etherbcast, 6);
+
l.promiscuous = promiscuous;
l.arg = &l;
}
@@ 170,8 170,8 @@ static void
lancestart(int mode)
{
int i;
- Lancemem *lm = LANCEMEM;
Msg *m;
+ Lancemem *lm = LANCEMEM;
/*
* wait till both receiver and transmitter are
@@ 328,6 328,7 @@ lanceintr(void)
p = &l.rp[l.rl];
x = MPus(m->cntflags) - 4;
t = (p->type[0]<<8) | p->type[1];
+
for(fp = l.f; fp < &l.f[Ntypes]; fp++){
f = *fp;
if(f == 0)
@@ 448,9 449,8 @@ lancewrite(Chan *c, void *buf, long n, ulong offset)
qlock(&l.tlock);
m = &(LANCEMEM->tmr[l.tc]);
tsleep(&l.tr, isoutbuf, m, 10000);
- if(!isoutbuf(m) || l.wedged){
+ if(!isoutbuf(m) || l.wedged)
print("lance transmitter jammed\n");
- }
else {
p = &l.tp[l.tc];
memmove(p->d, buf, n);
@@ 466,7 466,7 @@ lancewrite(Chan *c, void *buf, long n, ulong offset)
MPus(m->laddr) = LADDR(&l.ltp[l.tc]);
MPus(m->flags) = LANCEOWNER|STP|ENP|HADDR(&l.ltp[l.tc]);
l.tc = TSUCC(l.tc);
- *l.rdp = INEA|TDMD; /**/
+ *l.rdp = INEA|TDMD;
}
qunlock(&l.tlock);
return n;
M power/devduart.c => power/devduart.c +3 -4
@@ 306,7 306,6 @@ duartslave0(Uart *p)
case Dprint:
p->reg->cmnd = ENBTX;
p->reg->data = p->val;
-iprint("slave %c\n", p->val);
break;
case Dena:
duartenable(p);
@@ 380,7 379,7 @@ duartkick(Uart *p)
void
duartxintr(Uart *p)
{
- int ch;
+ char ch;
Duartreg *reg;
reg = p->reg;
@@ 462,9 461,9 @@ duartspecial(int port, int s, Queue **in, Queue **out, int (*putc)(Queue*, int))
duartbaud(p, s);
p->putc = putc;
- if(in)
+ if(in != 0)
*in = p->iq;
- if(out)
+ if(out != 0)
*out = p->oq;
p->opens++;
M power/main.c => power/main.c +3 -2
@@ 23,7 23,6 @@ main(void)
machinit();
active.exiting = 0;
active.machs = 1;
-iprint("Boot baby\n");
arginit();
confinit();
lockinit();
@@ 31,7 30,6 @@ iprint("Boot baby\n");
duartinit();
printinit();
duartspecial(0, 9600, &kbdq, &printq, kbdcr2nl);
-iprint("F:\n", printq);
print("\n\nBrazil\n");
pageinit();
tlbinit();
@@ 41,6 39,7 @@ iprint("F:\n", printq);
clockinit();
ioboardinit();
chandevreset();
+ rootfiles();
swapinit();
userinit();
launchinit();
@@ 80,6 79,7 @@ vecinit(void)
q = (ulong*)vector80;
for(size=0; size<4; size++)
*p++ = *q++;
+
p = (ulong*)UTLBMISS;
q = (ulong*)vector0;
for(size=0; size<0x80/sizeof(*q); size++)
@@ 190,6 190,7 @@ init0(void)
up->slash = namec("#/", Atodir, 0, 0);
up->dot = clone(up->slash, 0);
+ iallocinit();
chandevinit();
if(!waserror()){