~kris/9p

9hist

504ce4c2f63f58e5a322580e85739bf34e810058 — David du Colombier 31 years ago 5a6a0aa
Plan 9 from Bell Labs 1994-11-09
1 files changed, 16 insertions(+), 11 deletions(-)

M pc/devastar.c
M pc/devastar.c => pc/devastar.c +16 -11
@@ 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;
}