diff options
| author | Miguel <m.i@gmx.at> | 2018-10-15 16:29:50 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2018-10-15 16:29:50 +0200 |
| commit | e3a8099343aac9d94f411638ad84632d4b620132 (patch) | |
| tree | f0a1f73ab106c17b25fd8a5264a66b6b48e55e48 /kernel/scheduler.c | |
| parent | f35d2124c36f8d39a953b76620e081b79c2faffd (diff) | |
cleanup sys/ etc
Diffstat (limited to 'kernel/scheduler.c')
| -rw-r--r-- | kernel/scheduler.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/scheduler.c b/kernel/scheduler.c index 2112659..59d26d1 100644 --- a/kernel/scheduler.c +++ b/kernel/scheduler.c @@ -363,11 +363,13 @@ void task_syscall_worker() task_list[cpu][0].vmem=task_list[cpu][i].vmem; // switch syscall worker to pagedir of calling userprog x86_set_page_directory(task_list[cpu][0].vmem); + x86_cli(); // we do not want to be scheduled to other page ... sorry TODO: suuuuckS! uint32_t ok = syscall_generic_test(task_list[cpu][i].eax, task_list[cpu][i].edx, task_list[cpu][i].ecx, task_list[cpu][i].ebx, task_list[cpu][i].pid); + x86_sti(); if(!ok) { @@ -375,11 +377,13 @@ void task_syscall_worker() continue; } + x86_cli(); // we do not want to be scheduled to other page ... sorry TODO: suuuuckS! uint32_t ret = syscall_generic(task_list[cpu][i].eax, task_list[cpu][i].edx, task_list[cpu][i].ecx, task_list[cpu][i].ebx, task_list[cpu][i].pid); + x86_sti(); // klog("... returned : %d",ret); |
