| 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,360 – 1994/1117/sys/src/9/pc/devastar.c:344,360 (short | long | prev | next) | ||
| 1994/1111 | t = i%3; switch(t){ case 0: | |
| 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: | |
| 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: | |
| 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,926 – 1994/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,1171 – 1994/1117/sys/src/9/pc/devastar.c:1171,1177 | ||
| 1994/1114 | * get output going */ static void | |
| 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,1214 – 1994/1117/sys/src/9/pc/devastar.c:1214,1220 | ||
| 1994/1114 | astarkick(Astarchan *ac) { ilock(&ac->a->pagelock); | |
| 1994/1115 |
| |
| 1994/1117 | astaroutput(ac); | |
| 1994/1114 | iunlock(&ac->a->pagelock); } | |
| 1994/1116/sys/src/9/pc/devastar.c:1247,1253 – 1994/1117/sys/src/9/pc/devastar.c:1253,1259 | ||
| 1994/1115 | if(rp > ep) rp = bp; } | |
| 1994/1116 |
| |
| 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,1267 – 1994/1117/sys/src/9/pc/devastar.c:1267,1273 | ||
| 1994/1116 | * get flow controlled input going again */ static void | |
| 1994/1117 | astarkickin(Astarchan *ac) | |
| 1994/1116 | { ilock(&ac->a->pagelock); astarinput(ac); | |
| 1994/1116/sys/src/9/pc/devastar.c:1306,1312 – 1994/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) | |
| 1994/1117 | astaroutput(ac); | |
| 1994/1114 | ac++; } ac = a->c; | |