summaryrefslogtreecommitdiff
path: root/kernel/trap.c
diff options
context:
space:
mode:
authorRobert Morris <[email protected]>2019-10-27 08:03:19 -0400
committerRobert Morris <[email protected]>2019-10-27 08:03:19 -0400
commitd9160fb4b98e3ce04d3928c1fbd2ec26b3cc746a (patch)
treefd89ac93ce4ee9a628307d2983c017c1a5510736 /kernel/trap.c
parentf2ab0eb644a60f946f35fcb5578fba53720edfa7 (diff)
downloadxv6-labs-d9160fb4b98e3ce04d3928c1fbd2ec26b3cc746a.tar.gz
xv6-labs-d9160fb4b98e3ce04d3928c1fbd2ec26b3cc746a.tar.bz2
xv6-labs-d9160fb4b98e3ce04d3928c1fbd2ec26b3cc746a.zip
nits
Diffstat (limited to 'kernel/trap.c')
-rw-r--r--kernel/trap.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/trap.c b/kernel/trap.c
index ca732f2..5e11e4b 100644
--- a/kernel/trap.c
+++ b/kernel/trap.c
@@ -129,7 +129,6 @@ usertrapret(void)
// interrupts and exceptions from kernel code go here via kernelvec,
// on whatever the current kernel stack is.
-// must be 4-byte aligned to fit in stvec.
void
kerneltrap()
{
@@ -189,9 +188,13 @@ devintr()
uartintr();
} else if(irq == VIRTIO0_IRQ){
virtio_disk_intr();
+ } else if(irq){
+ printf("unexpected interrupt irq=%d\n", irq);
}
- plic_complete(irq);
+ if(irq)
+ plic_complete(irq);
+
return 1;
} else if(scause == 0x8000000000000001L){
// software interrupt from a machine-mode timer interrupt,