Desktop/xinu_mips-1.0.2.tar/xinu_mips-1.0.2/system/clockintr.c File Reference

#include <kernel.h>
#include <clock.h>

Include dependency graph for clockintr.c:

Go to the source code of this file.


void wakeup (void)
syscall resched (void)
void restore_intr (void *)
interrupt clockintr (void)

Function Documentation

interrupt clockintr ( void   ) 

XINU Clock handler. Ticks. Tocks. Wakes up sleeping procs.

Definition at line 20 of file clockintr.c.

References clock_update(), clocktime, ctr_mS, firstkey, nonempty, preempt, resched(), restore_intr(), sleepq, time_intr_freq, and wakeup().

syscall resched ( void   ) 

Reschedule processor to highest priority ready process. Upon entry, currpid gives current process id. Proctab[currpid].pstate gives correct NEXT state for current process if other than PRREADY.

OK when the process is context switched back

Definition at line 21 of file resched.c.

References ctxsw(), currpid, dequeue(), disable(), insert(), pentry::irqstate, OK, PRCURR, preempt, pentry::prio, proctab, PRREADY, QUANTUM, readylist, restore(), pentry::state, and pentry::stkptr.

void restore_intr ( void *   ) 

Referenced by clockintr().

void wakeup ( void   ) 

Called by clock interrupt dispatcher to awaken processes.

Definition at line 16 of file wakeup.c.

References dequeue(), firstkey, nonempty, ready(), resched(), RESCHED_NO, and sleepq.

Referenced by clockintr().

Generated on Thu Oct 9 22:34:58 2008 for xinu by  doxygen 1.5.5