| plan 9 kernel history: overview | file list | diff list |
1994/0512/pc/clock.c (diff list | history)
| 1994/0510/sys/src/9/pc/clock.c:22,27 – 1994/0512/sys/src/9/pc/clock.c:22,28 (short | long | prev | next) | ||
|
change from square wave to retriggered 1/HZ interrupts. (maybe hw problems? XXX).
avoid needless splhi/spllo back and forth.
rsc Fri Mar 4 12:44:25 2005 | ||
| 1992/0923 | /* modes */ Square= 0x36, /* perioic square wave */ | |
| 1994/0512 | Trigger= 0x30, /* interrupt on terminal count */ | |
| 1992/0923 | Freq= 1193182, /* Real clock frequency */ | |
| 1991/0705 | }; | |
| 1994/0510/sys/src/9/pc/clock.c:47,56 – 1994/0512/sys/src/9/pc/clock.c:48,65 | ||
| 1993/1124 | { Proc *p; int nrun = 0; | |
| 1994/0512 | int islow = 0; | |
| 1994/0510 | extern int hwcursor; | |
| 1993/1124 | USED(arg); | |
| 1994/0512 | /* * set clock for 1/HZ seconds */ outb(Tmode, Load0|Trigger); outb(T0cntr, (Freq/HZ)); /* low byte */ outb(T0cntr, (Freq/HZ)>>8); /* high byte */ | |
| 1993/1124 | m->ticks++; | |
| 1994/0510 | uartclock(); | |
| 1994/0510/sys/src/9/pc/clock.c:75,93 – 1994/0512/sys/src/9/pc/clock.c:84,111 | ||
| 1994/0507 | sched(); /* user profiling clock */ | |
| 1994/0512 | islow = 1; | |
| 1994/0507 | spllo(); /* in case we fault */ (*(ulong*)(USTKTOP-BY2WD)) += TK2MS(1); | |
| 1993/1124 | ||
| 1994/0512 | /* * anything from here down can be running spllo() */ | |
| 1994/0507 | /* last because it could spllo() */ | |
| 1994/0510 | if(hwcursor) mouseclock(); else { | |
| 1994/0512 | if(!islow){ islow = 1; spllo(); } | |
| 1994/0510 | mouseclock(); | |
| 1994/0512 | if(islow) splhi(); | |
| 1993/1124 | } | |
| 1994/0302 | /* | |
| 1994/0510/sys/src/9/pc/clock.c:131,139 – 1994/0512/sys/src/9/pc/clock.c:149,157 | ||
| 1993/1124 | setvec(Clockvec, clock, 0); | |
| 1991/0709 | /* | |
| 1994/0512 | * set clock for 1/HZ seconds | |
| 1991/0709 | */ | |
| 1992/0923 |
| |
| 1994/0512 | outb(Tmode, Load0|Trigger); | |
| 1991/0709 | outb(T0cntr, (Freq/HZ)); /* low byte */ outb(T0cntr, (Freq/HZ)>>8); /* high byte */ | |
| 1992/0922 | ||