summaryrefslogtreecommitdiff
path: root/src/kernel/task/idt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/task/idt.c')
-rw-r--r--src/kernel/task/idt.c6
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](&regs);
}
- 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];