summaryrefslogtreecommitdiff
path: root/spinlock.c
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2017-08-07 14:35:05 -0400
committerFrans Kaashoek <[email protected]>2017-08-07 14:35:05 -0400
commit61cb32aa9bc457a6b39c5055cbf7fdd718dab7c2 (patch)
tree74f1a818d7722264d8a0fe825760d01ea7a83a9a /spinlock.c
parent5cbccef811ce0347370723c0b931e108c306279e (diff)
parentc9fa90f7e514f27fa1ac071cd9795f3830ab6a1b (diff)
downloadxv6-labs-61cb32aa9bc457a6b39c5055cbf7fdd718dab7c2.tar.gz
xv6-labs-61cb32aa9bc457a6b39c5055cbf7fdd718dab7c2.tar.bz2
xv6-labs-61cb32aa9bc457a6b39c5055cbf7fdd718dab7c2.zip
Merge branch 'nogs'
Diffstat (limited to 'spinlock.c')
-rw-r--r--spinlock.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/spinlock.c b/spinlock.c
index 942d93d..9120bf2 100644
--- a/spinlock.c
+++ b/spinlock.c
@@ -38,7 +38,7 @@ acquire(struct spinlock *lk)
__sync_synchronize();
// Record info about lock acquisition for debugging.
- lk->cpu = cpu;
+ lk->cpu = mycpu();
getcallerpcs(&lk, lk->pcs);
}
@@ -89,7 +89,7 @@ getcallerpcs(void *v, uint pcs[])
int
holding(struct spinlock *lock)
{
- return lock->locked && lock->cpu == cpu;
+ return lock->locked && lock->cpu == mycpu();
}
@@ -104,9 +104,9 @@ pushcli(void)
eflags = readeflags();
cli();
- if(cpu->ncli == 0)
- cpu->intena = eflags & FL_IF;
- cpu->ncli += 1;
+ if(mycpu()->ncli == 0)
+ mycpu()->intena = eflags & FL_IF;
+ mycpu()->ncli += 1;
}
void
@@ -114,9 +114,9 @@ popcli(void)
{
if(readeflags()&FL_IF)
panic("popcli - interruptible");
- if(--cpu->ncli < 0)
+ if(--mycpu()->ncli < 0)
panic("popcli");
- if(cpu->ncli == 0 && cpu->intena)
+ if(mycpu()->ncli == 0 && mycpu()->intena)
sti();
}