=================================================================== RCS file: /cvs/funnyos/sys/kern_sched.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- funnyos/sys/kern_sched.h 2007/11/20 16:07:23 1.3 +++ funnyos/sys/kern_sched.h 2007/11/23 13:37:43 1.4 @@ -1,12 +1,13 @@ /* - * $Id: kern_sched.h,v 1.3 2007/11/20 16:07:23 nbrk Exp $ + * $Id: kern_sched.h,v 1.4 2007/11/23 13:37:43 nbrk Exp $ */ #ifndef _SYS_KERN_SCHED_H #define _SYS_KERN_SCHED_H #include +#include /* - * Task header is used by user to describe task in config.c. + * u_task is used by user to describe task in config.c. * "user task". */ struct u_task { @@ -16,20 +17,7 @@ }; -#if 0 /* - * Task PCB (process control block). - * this is task's hardware context. - */ -struct pcb __attribute__((packed)) { - - /* ARM general purpose registers */ - uint32_t p_r0; - -} -#endif /* 0 */ - -/* * Kernel sees each system task as struct k_task; * it is used for scheduling and context switches. * "kernel task". @@ -40,7 +28,7 @@ uint8_t kt_state; /* task state (running, blocked, etc.) */ // uint32_t kt_timeo; /* timeout (in HZ) if task is blocked */ - uint32_t kt_pcb[15]; /* hardware context (15 ARM registers) */ + struct pcb kt_pcb; /* hardware context (15 ARM registers) */ struct k_task *kt_next; @@ -59,7 +47,7 @@ * Functions. */ void sched_init(void); - +void sched_tick(void); #endif /* not _SYS_KERN_SCHED_H */