diff options
author | Sanjit Bhat <[email protected]> | 2023-10-25 19:42:59 -0400 |
---|---|---|
committer | Sanjit Bhat <[email protected]> | 2023-10-25 19:42:59 -0400 |
commit | 1ed40716eb54e371df9d1814b9129666b3fe4f09 (patch) | |
tree | 84666aacb6d6a9554b09500c0b0420870af2e19e /kernel/trap.c | |
parent | 74c1eba516fdb0ec1a17b16be7e76613ccba92bf (diff) | |
download | xv6-labs-1ed40716eb54e371df9d1814b9129666b3fe4f09.tar.gz xv6-labs-1ed40716eb54e371df9d1814b9129666b3fe4f09.tar.bz2 xv6-labs-1ed40716eb54e371df9d1814b9129666b3fe4f09.zip |
release lab net
Diffstat (limited to 'kernel/trap.c')
-rw-r--r-- | kernel/trap.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/trap.c b/kernel/trap.c index 512c850..5332dda 100644 --- a/kernel/trap.c +++ b/kernel/trap.c @@ -68,6 +68,8 @@ usertrap(void) } else if((which_dev = devintr()) != 0){ // ok } else { + + printf("usertrap(): unexpected scause %p pid=%d\n", r_scause(), p->pid); printf(" sepc=%p stval=%p\n", r_sepc(), r_stval()); setkilled(p); @@ -75,6 +77,7 @@ usertrap(void) if(killed(p)) exit(-1); + // give up the CPU if this is a timer interrupt. if(which_dev == 2) @@ -190,7 +193,13 @@ devintr() uartintr(); } else if(irq == VIRTIO0_IRQ){ virtio_disk_intr(); - } else if(irq){ + } +#ifdef LAB_NET + else if(irq == E1000_IRQ){ + e1000_intr(); + } +#endif + else if(irq){ printf("unexpected interrupt irq=%d\n", irq); } |