summaryrefslogtreecommitdiff
path: root/spinlock.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-06-22 20:47:23 +0000
committerrtm <rtm>2006-06-22 20:47:23 +0000
commitdf5cc91659b0a2190072e6fc305060c8de95ed82 (patch)
tree0965b8a673f0e2ddab08b2135ab1499f6455c648 /spinlock.c
parentbf49aedbed02cdbf40430178847d34c48c36c693 (diff)
downloadxv6-labs-df5cc91659b0a2190072e6fc305060c8de95ed82.tar.gz
xv6-labs-df5cc91659b0a2190072e6fc305060c8de95ed82.tar.bz2
xv6-labs-df5cc91659b0a2190072e6fc305060c8de95ed82.zip
compile "user programs"
curproc array
Diffstat (limited to 'spinlock.c')
-rw-r--r--spinlock.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/spinlock.c b/spinlock.c
index fa04a27..2666842 100644
--- a/spinlock.c
+++ b/spinlock.c
@@ -10,18 +10,18 @@ uint32_t kernel_lock = LOCK_FREE;
void
acquire_spinlock(uint32_t* lock)
{
- int cpu_id = lapic_cpu_number();
- cprintf ("acquire: %d\n", cpu_id);
+ int cpu_id = cpu();
if (*lock == cpu_id)
return;
while ( cmpxchg(LOCK_FREE, cpu_id, lock) != cpu_id ) { ; }
+ cprintf ("acquired: %d\n", cpu_id);
}
void
release_spinlock(uint32_t* lock)
{
- int cpu_id = lapic_cpu_number();
+ int cpu_id = cpu();
cprintf ("release: %d\n", cpu_id);
if (*lock != cpu_id)
panic("release_spinlock: releasing a lock that i don't own\n");
@@ -31,7 +31,7 @@ release_spinlock(uint32_t* lock)
void
release_grant_spinlock(uint32_t* lock, int c)
{
- int cpu_id = lapic_cpu_number();
+ int cpu_id = cpu();
cprintf ("release_grant: %d -> %d\n", cpu_id, c);
if (*lock != cpu_id)
panic("release_spinlock: releasing a lock that i don't own\n");