From 8b75366ce4ae7ad5f77225b247d097955574ba0b Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Sat, 11 Jul 2009 18:17:32 -0700 Subject: [PATCH] s/IRQ_OFFSET/T_IRQ0/: it's a trap number, not an irq number. move the SYSCALL number up, so does not overlap the IRQ traps. --- trap.c | 14 +++++++------- traps.h | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/trap.c b/trap.c index f95e563..5f1cafb 100644 --- a/trap.c +++ b/trap.c @@ -45,7 +45,7 @@ trap(struct trapframe *tf) } switch(tf->trapno){ - case IRQ_OFFSET + IRQ_TIMER: + case T_IRQ0 + IRQ_TIMER: if(cpu() == 0){ acquire(&tickslock); ticks++; @@ -54,20 +54,20 @@ trap(struct trapframe *tf) } lapiceoi(); break; - case IRQ_OFFSET + IRQ_IDE: + case T_IRQ0 + IRQ_IDE: ideintr(); lapiceoi(); break; - case IRQ_OFFSET + IRQ_KBD: + case T_IRQ0 + IRQ_KBD: kbdintr(); lapiceoi(); break; - case IRQ_OFFSET + IRQ_COM1: + case T_IRQ0 + IRQ_COM1: uartintr(); lapiceoi(); break; - case IRQ_OFFSET + 7: - case IRQ_OFFSET + IRQ_SPURIOUS: + case T_IRQ0 + 7: + case T_IRQ0 + IRQ_SPURIOUS: cprintf("cpu%d: spurious interrupt at %x:%x\n", cpu(), tf->cs, tf->eip); lapiceoi(); @@ -94,7 +94,7 @@ trap(struct trapframe *tf) // Force process to give up CPU on clock tick. // If interrupts were on while locks held, would need to check nlock. - if(cp && cp->state == RUNNING && tf->trapno == IRQ_OFFSET+IRQ_TIMER) + if(cp && cp->state == RUNNING && tf->trapno == T_IRQ0+IRQ_TIMER) yield(); // Check if the process has been killed since we yielded diff --git a/traps.h b/traps.h index 6476bbe..f450c2d 100644 --- a/traps.h +++ b/traps.h @@ -24,10 +24,10 @@ // These are arbitrarily chosen, but with care not to overlap // processor defined exceptions or interrupt vectors. -#define T_SYSCALL 48 // system call +#define T_SYSCALL 64 // system call #define T_DEFAULT 500 // catchall -#define IRQ_OFFSET 32 // IRQ 0 corresponds to int IRQ_OFFSET +#define T_IRQ0 32 // IRQ 0 corresponds to int T_IRQ #define IRQ_TIMER 0 #define IRQ_KBD 1 @@ -35,3 +35,4 @@ #define IRQ_IDE 14 #define IRQ_ERROR 19 #define IRQ_SPURIOUS 31 +