CVS log for funnyos/arch/testarm/boot/loader.S

[BACK] Up to [local] / funnyos / arch / testarm / boot

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.5 / (download) - annotate - [select for diffs], Fri Nov 23 13:37:42 2007 UTC (16 years, 5 months ago) by nbrk
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +9 -1 lines
Diff to previous 1.4 (colored)

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.4 / (download) - annotate - [select for diffs], Mon Nov 5 18:54:35 2007 UTC (16 years, 6 months ago) by init
Branch: MAIN
Changes since 1.3: +9 -5 lines
Diff to previous 1.3 (colored)

in _vector_irq store r0-r12 and r14 (lr) registers into an irq stack;
this prevents System Mode (and whatever-mode) registers from crush while we are in IRQ_mode
- use ldmia sp!, {r0-r12, pc}^ to restore all registers and to copy spsr into cpsr ATOMICALLY,
This fixes interesting bug when we end up in IRQ_mode after we've changed CPU mode back to Sys..

With this diff i can finally see messages from rtc driver every time it interrupts IRQC.

Revision 1.3 / (download) - annotate - [select for diffs], Sun Nov 4 22:39:27 2007 UTC (16 years, 6 months ago) by init
Branch: MAIN
Changes since 1.2: +32 -8 lines
Diff to previous 1.2 (colored)

set stack for an IRQ_mode on reset

Revision 1.2 / (download) - annotate - [select for diffs], Mon Oct 29 20:34:23 2007 UTC (16 years, 6 months ago) by init
Branch: MAIN
Changes since 1.1: +2 -3 lines
Diff to previous 1.1 (colored)

jump to irq_trampoline on ARM IRQ (0x00000018);
when an irq device is attached to system, it registers its xxx_irq to jump into from irq_trampoline().

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Tue Oct 16 08:41:04 2007 UTC (16 years, 6 months ago) by init
Branch: nbrk
CVS Tags: init
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

Initial import of funnyos; still much more work to do

Revision 1.1 / (download) - annotate - [select for diffs], Tue Oct 16 08:41:04 2007 UTC (16 years, 6 months ago) by init
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb