From 504ce4c2f63f58e5a322580e85739bf34e810058 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Wed, 9 Nov 1994 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1994-11-09 --- pc/devastar.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/pc/devastar.c b/pc/devastar.c index a3c024b948a45604d5c55f74a64168d0fccad5c8..561935e9287b9ca282454b399d6bcd202b0da4f2 100644 --- a/pc/devastar.c +++ b/pc/devastar.c @@ -225,6 +225,7 @@ struct Astarchan { QLock; + Astar *a; /* controller */ CCB *ccb; /* control block */ /* buffers */ @@ -242,9 +243,10 @@ struct Astarchan uchar *oe; }; -Astar *a[Maxcard]; +Astar *astar[Maxcard]; +int nastar; -int astarsetup(Astar*); +static int astarsetup(Astar*); void astarreset(void) @@ -254,10 +256,10 @@ astarreset(void) Dirtab *dp; for(i = 0; i < Maxcard; i++){ - a = astar[i] = xalloc(sizeof(Astar)); + a = astar[nastar] = xalloc(sizeof(Astar)); if(isaconfig("serial", i, &a) == 0){ xfree(a); - astar[i] = 0; + astar[nastar] = 0; break; } @@ -276,9 +278,10 @@ astarreset(void) if(astarsetup(a) < 0){ xfree(a); - astar[i] = 0; + astar[nastar] = 0; continue; } + nastar++; } ndir = 3*nuart; @@ -306,11 +309,11 @@ astarinit(void) { } -int isaport[] = - { 0x200, 0x208, 0x300, 0x308, 0x600, 0x608, 0x700, 0x708, 0 }; +/* isa ports an ax00i can appear at */ +int isaport[] = { 0x200, 0x208, 0x300, 0x308, 0x600, 0x608, 0x700, 0x708, 0 }; -int -isax00i(int port) +static int +astarprobe(int port) { uchar c, c1; @@ -323,7 +326,7 @@ isax00i(int port) || (c == ISAid1 && c1 == ISAid0)); } -int +static int astarsetup(Astar *a) { int i, j, found; @@ -333,7 +336,7 @@ astarsetup(Astar *a) if(a->port == 0) for(i = 0; isaport[i]; i++){ a->port = isaport[i]; - found = isax00i(isaport[i]); + found = astarprobe(isaport[i]); if(found){ isaport[i] = -1; break; @@ -357,4 +360,6 @@ astarsetup(Astar *a) } c = inb(a->port + ISActl1) & ~ISAirq; outb(a->port + ISActl1, c | isairqcode(a->irq)); + + return 0; }