summaryrefslogtreecommitdiff
path: root/kernel/task.c
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-08-30 20:19:35 +0200
committerMichal Idziorek <m.i@gmx.at>2014-08-30 20:19:35 +0200
commit07f3883a25dc4a7bdbd52c7bd97741ccc7df13f7 (patch)
treee75e4f45d731d2fe992b692e6ca95b1881b1e6ae /kernel/task.c
parent4c6017d0d21cb085bf3757c2949e435481840fe6 (diff)
fixed bug in multitasking code
Diffstat (limited to 'kernel/task.c')
-rw-r--r--kernel/task.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/task.c b/kernel/task.c
index 8884079..df9367d 100644
--- a/kernel/task.c
+++ b/kernel/task.c
@@ -9,14 +9,14 @@ int started;
void task_test1()
{
- uint8_t c1;
+ uint16_t c1;
while(1)
{
c1++;
asm("cli");
- PutString("task1: %03d", 0,560,0xffffff, c1);
+ PutString("task1: %03d", 0,560,0xffffff, c1/100);
asm("sti");
}
@@ -25,13 +25,13 @@ void task_test1()
void task_test2()
{
- uint8_t c2;
+ uint16_t c2;
while(1)
{
c2++;
asm("cli");
- PutString("task2: %03d", 0,580,0xffffff, c2);
+ PutString("task2: %03d", 0,580,0xffffff, c2/100);
asm("sti");
}
@@ -105,7 +105,7 @@ uint32_t task_switch_next(uint32_t oldesp)
}
uint32_t esp=0;
- log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"oldesp: 0x%08X saved / next task: %d (esp: 0x%08X) ",oldesp, CurrentTask,Threads[CurrentTask].esp0);
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_FINE,"oldesp: 0x%08X saved / next task: %d (esp: 0x%08X) ",oldesp, CurrentTask,Threads[CurrentTask].esp0);
return Threads[CurrentTask].esp0; //Return new stack pointer to ASM
}
@@ -123,10 +123,10 @@ void stack_trace(uint32_t *stack,int size)
void task_init()
{
- started=0xabcde;
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"init multitasking.");
task_create(0,task_test1);
task_create(1,task_test2);
+ started=0xabcde;
}