From ab6689056d310b62b716dddb80ec251e337a54c4 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sat, 7 Aug 1993 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1993-08-07 --- port/devcons.c | 5 +---- port/devlance.c | 16 ++++++++-------- power/devduart.c | 7 +++---- power/main.c | 5 +++-- 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/port/devcons.c b/port/devcons.c index 8cbf1cd68f43aadbde844ae7c5b6896511e6793b..5ac930f241e67cebe4c7fc5850b919aa45eebdb9 100644 --- a/port/devcons.c +++ b/port/devcons.c @@ -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 diff --git a/port/devlance.c b/port/devlance.c index 94350147f01ea31faa978d686fa1002d98cf738e..916187942f69113696da1d0cf57296af6cde9566 100644 --- a/port/devlance.c +++ b/port/devlance.c @@ -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; diff --git a/power/devduart.c b/power/devduart.c index 1ed4c1183d228f55d4436f60fd716eca322fcda5..5292028e1b5c08401658314fa07ae73e247ae690 100644 --- a/power/devduart.c +++ b/power/devduart.c @@ -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++; diff --git a/power/main.c b/power/main.c index b6489d97067d8c7686dd56a4bf5b96960f964cd5..99a973c17525cc77e62d359d7205ea1676fb611a 100644 --- a/power/main.c +++ b/power/main.c @@ -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()){