plan 9 kernel history: overview | file list | diff list

1994/1117/pc/devastar.c (diff list | history)

1994/1116/sys/src/9/pc/devastar.c:344,3601994/1117/sys/src/9/pc/devastar.c:344,360 (short | long | prev | next)
1994/1111    
			t = i%3; 
			switch(t){ 
			case 0: 
				sprint(db->name, "eia%d%2.2d", dev, ch); 
1994/1117    
				sprint(db->name, "eia%d%2.2d", dev, ch+1); 
1994/1111    
				db->mode = astar[dev]->c[ch].perm; 
1994/1115    
				db->qid.path = QID(dev, ch, Qdata); 
1994/1111    
				break; 
			case 1: 
				sprint(db->name, "eia%d%2.2dctl", dev, ch); 
1994/1117    
				sprint(db->name, "eia%d%2.2dctl", dev, ch+1); 
1994/1111    
				db->mode = astar[dev]->c[ch].perm; 
1994/1115    
				db->qid.path = QID(dev, ch, Qctl); 
1994/1111    
				break; 
			case 2: 
				sprint(db->name, "eia%d%2.2dstat", dev, ch); 
1994/1117    
				sprint(db->name, "eia%d%2.2dstat", dev, ch+1); 
1994/1111    
				db->mode = 0444; 
1994/1115    
				db->qid.path = QID(dev, ch, Qstat); 
1994/1111    
				break; 
1994/1116/sys/src/9/pc/devastar.c:918,9261994/1117/sys/src/9/pc/devastar.c:918,932
1994/1114    
static void 
disable(Astarchan *ac) 
{ 
1994/1117    
	int n; 
 
1994/1114    
	astarctl(ac, "d0"); 
	astarctl(ac, "r0"); 
 
1994/1117    
	LOCKPAGE(ac->a, 0); 
	n = LEUS(ac->ccb->proto) | Cmctl; 
	ac->ccb->proto = LEUS(n); 
	UNLOCKPAGE(ac->a); 
1994/1114    
	chancmd(ac, Crcvdis|Cxmtdis|Cflushin|Cflushout|Cconfall); 
} 
 
1994/1116/sys/src/9/pc/devastar.c:1165,11711994/1117/sys/src/9/pc/devastar.c:1171,1177
1994/1114    
 *  get output going 
 */ 
static void 
astarkick1(Astarchan *ac) 
1994/1117    
astaroutput(Astarchan *ac) 
1994/1114    
{ 
	Astar *a = ac->a; 
1994/1115    
	CCB *ccb = ac->ccb; 
1994/1116/sys/src/9/pc/devastar.c:1208,12141994/1117/sys/src/9/pc/devastar.c:1214,1220
1994/1114    
astarkick(Astarchan *ac) 
{ 
	ilock(&ac->a->pagelock); 
1994/1115    
	astarkick1(ac); 
1994/1117    
	astaroutput(ac); 
1994/1114    
	iunlock(&ac->a->pagelock); 
} 
 
1994/1116/sys/src/9/pc/devastar.c:1247,12531994/1117/sys/src/9/pc/devastar.c:1253,1259
1994/1115    
			if(rp > ep) 
				rp = bp; 
		} 
1994/1116    
		if(qroduce(ac->iq, buf, n) < 0) 
1994/1117    
		if(qproduce(ac->iq, buf, n) < 0) 
1994/1116    
			break;	/* flow controlled */ 
		if(a->needpage) 
			setpage(a, 0); 
1994/1116/sys/src/9/pc/devastar.c:1261,12671994/1117/sys/src/9/pc/devastar.c:1267,1273
1994/1116    
 *  get flow controlled input going again 
 */ 
static void 
astarkick(Astarchan *ac) 
1994/1117    
astarkickin(Astarchan *ac) 
1994/1116    
{ 
	ilock(&ac->a->pagelock); 
	astarinput(ac); 
1994/1116/sys/src/9/pc/devastar.c:1306,13121994/1117/sys/src/9/pc/devastar.c:1312,1318
1994/1114    
	ac = a->c; 
1994/1115    
	for(vec = outvec; vec; vec >>= 1){ 
1994/1114    
		if(vec&1) 
			astarkick1(ac); 
1994/1117    
			astaroutput(ac); 
1994/1114    
		ac++; 
	} 
	ac = a->c; 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)