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.

Functions

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.

Returns:
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