diff options
Diffstat (limited to 'src/kernel/task/idt.c')
-rw-r--r-- | src/kernel/task/idt.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/kernel/task/idt.c b/src/kernel/task/idt.c index ff129be..aed5ea8 100644 --- a/src/kernel/task/idt.c +++ b/src/kernel/task/idt.c @@ -6,7 +6,7 @@ #include "task.h" #include "syscall.h" -#include <stdlib.h> +#include <stdlib_common.h> extern void isr0(); extern void isr1(); @@ -102,7 +102,7 @@ void idt_irqHandler(struct registers regs) { if (irq_handlers[regs.err_code] != 0) { irq_handlers[regs.err_code](®s); } - if (doSwitch) tasking_switch(); + if (doSwitch) schedule(); } /* Called in idt_.asm on a system call (interrupt 64). @@ -208,7 +208,7 @@ void idt_handleIrq(int number, int_callback func) { /* Tells the IRQ handler to wake up the current thread when specified IRQ fires. */ void idt_waitIrq(int number) { - if (number < 16 && number >= 0 && proc_priv() <= PL_DRIVER) { + if (number < 16 && number >= 0 && proc_priv() <= PL_KERNEL) { struct irq_waiter *tmp = kmalloc(sizeof(struct irq_waiter)); tmp->thread = current_thread; tmp->next = irq_wakeup[number]; |