Skip to content
Snippets Groups Projects
Commit 8b75366c authored by Russ Cox's avatar Russ Cox
Browse files

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.
parent 27ff8f0e
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment