Up to [local] / funnyos / kern
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.4 / (download) - annotate - [select for diffs], Sun Dec 16 23:25:38 2007 UTC (16 years, 9 months ago) by nbrk
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (unified)
print seconds as well!
Revision 1.3 / (download) - annotate - [select for diffs], Sat Nov 24 20:55:53 2007 UTC (16 years, 10 months ago) by nbrk
Branch: MAIN
Changes since 1.2: +7 -2 lines
Diff to previous 1.2 (unified)
do not update systimedata and do not kick scheduler if we are SAM7S64;
Revision 1.2 / (download) - annotate - [select for diffs], Fri Nov 23 13:37:43 2007 UTC (16 years, 10 months ago) by nbrk
Branch: MAIN
Changes since 1.1: +4 -3 lines
Diff to previous 1.1 (unified)
basic roundrobin multitasking support in FunnyOS! _vector_irq saves Sys_mode context (which is treated as struct pcb) in stack and passes sp to irq_trampoline() which then sets global iframep pointer to point to pcb of interrupted task. "task" given by u_task (set by user at compile-time) and k_task which is dynamically allocated by the kernel. scheduler uses list of k_task (circularly linked list) with one constant task "idle". idle discarded in sched_init() with status TASK_NOSCHED and will not be scheduled after first sched_tick(). tasks created in task/ directory and should implement void ttt_enter(void) to start execution from. tasks added by inserting new elements in config_tasklist[]. please note that current *ugly* design causes strange behavior if tasks printf something w/out delays.. also, we do not save task's CPSR yet..
Revision 1.1 / (download) - annotate - [select for diffs], Tue Nov 6 22:52:39 2007 UTC (16 years, 10 months ago) by init
Branch: MAIN
System time functions/interface. rtc driver fills struct sysrtcops with its own callbacks, allowing to machine-independent time-related manipulations. sysclock_init() programms RTC hardware with HZ; sysclock() will be called by RTC intr handler (in IRQ mode) and update timedata with seconds past Epoch. Still more work to do; now it just prints system time from sysclock().