summaryrefslogtreecommitdiff
path: root/trap.c
diff options
context:
space:
mode:
authorRobert Morris <[email protected]>2019-06-05 14:05:46 -0400
committerRobert Morris <[email protected]>2019-06-05 14:05:46 -0400
commit31136437684b5987ef46f4c6947940cf96de75b3 (patch)
tree3c89b1f0e12bbddbf307259326ecb5f763ba6e09 /trap.c
parentf1a727b971a59bab6025b4c4111342c27356ca40 (diff)
downloadxv6-labs-31136437684b5987ef46f4c6947940cf96de75b3.tar.gz
xv6-labs-31136437684b5987ef46f4c6947940cf96de75b3.tar.bz2
xv6-labs-31136437684b5987ef46f4c6947940cf96de75b3.zip
spinlocks using gcc intrinsics
push_off() / pop_off() set up per-hart plic stuff so all harts get device interrupts
Diffstat (limited to 'trap.c')
-rw-r--r--trap.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/trap.c b/trap.c
index 693c596..929f761 100644
--- a/trap.c
+++ b/trap.c
@@ -19,12 +19,14 @@ extern int devintr();
void
trapinit(void)
{
- int i;
+ initlock(&tickslock, "time");
+}
- // set up to take exceptions and traps while in the kernel.
+// set up to take exceptions and traps while in the kernel.
+void
+trapinithart(void)
+{
w_stvec((uint64)kernelvec);
-
- initlock(&tickslock, "time");
}
//