| plan 9 kernel history: overview | file list | diff list |
1991/1003/gnot/devduart.c (diff list | history)
| 1991/0614/sys/src/9/gnot/devduart.c:98,106 – 1991/1003/sys/src/9/gnot/devduart.c:98,104 (short | long | prev | next) | ||
| 1991/0605 | Queue *wq; /* write queue */ Rendez r; /* kproc waiting for input */ Alarm *a; /* alarm for waking the kernel process */ | |
| 1991/0606 |
| |
| 1991/0605 | }; Duartport duartport[1]; | |
| 1991/0614/sys/src/9/gnot/devduart.c:424,434 – 1991/1003/sys/src/9/gnot/devduart.c:422,440 | ||
| 1991/0605 | (*cq->putc)(cq, ch); else { putc(cq, ch); | |
| 1991/0606 |
| |
| 1991/0605 |
| |
| 1991/1003 | void duartclock(void) { Duartport *dp = duartport; IOQ *cq; | |
| 1991/0605 | ||
| 1991/1003 | cq = dp->iq; if(cangetc(cq)) wakeup(&cq->r); } | |
| 1991/0605 | /* * a serial line output interrupt */ | |
| 1991/0614/sys/src/9/gnot/devduart.c:606,612 – 1991/1003/sys/src/9/gnot/devduart.c:612,617 | ||
| 1991/0605 | duartbaud(baud); } | |
| 1991/0614/sys/src/9/gnot/devduart.c:621,659 – 1991/1003/sys/src/9/gnot/devduart.c:626,632 | ||
| 1991/0605 | "duart" }; | |
| 1991/0614/sys/src/9/gnot/devduart.c:667,679 – 1991/1003/sys/src/9/gnot/devduart.c:640,647 | ||
| 1991/0605 | dp->wq = WR(q); WR(q)->ptr = dp; RD(q)->ptr = dp; | |
| 1991/0614/sys/src/9/gnot/devduart.c:733,740 – 1991/1003/sys/src/9/gnot/devduart.c:701,707 | ||
| 1991/0605 | break; case 'W': case 'w': | |
| 1991/1003 | /* obsolete */ | |
| 1991/0605 | break; } }else while((m = BLEN(bp)) > 0){ | |