diff options
| author | Russ Cox <rsc@swtch.com> | 2009-07-11 18:17:32 -0700 | 
|---|---|---|
| committer | Russ Cox <rsc@swtch.com> | 2009-07-11 18:17:32 -0700 | 
| commit | 8b75366ce4ae7ad5f77225b247d097955574ba0b (patch) | |
| tree | d9f462b7d0d76ea6b3f8afea35887f912bfda94b | |
| parent | 27ff8f0e6f56e5f84688bcd41a7b4018b4e61173 (diff) | |
| download | xv6-labs-8b75366ce4ae7ad5f77225b247d097955574ba0b.tar.gz xv6-labs-8b75366ce4ae7ad5f77225b247d097955574ba0b.tar.bz2 xv6-labs-8b75366ce4ae7ad5f77225b247d097955574ba0b.zip | |
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.
| -rw-r--r-- | trap.c | 14 | ||||
| -rw-r--r-- | traps.h | 5 | 
2 files changed, 10 insertions, 9 deletions
| @@ -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 + | 
