diff options
Diffstat (limited to 'kernel/src/scheduler/atomic.c')
| -rw-r--r-- | kernel/src/scheduler/atomic.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/kernel/src/scheduler/atomic.c b/kernel/src/scheduler/atomic.c index c466f0b..d5ae02f 100644 --- a/kernel/src/scheduler/atomic.c +++ b/kernel/src/scheduler/atomic.c @@ -3,22 +3,25 @@ #include <libk/stdio.h> #include <heap.h> -void init_mutex(mutex_t* mutex) +void init_mutex(mutex_t *mutex) { - mutex->addr = (uint64_t*)kalloc(sizeof(uint64_t)); + mutex->addr = (uint64_t *)kalloc(sizeof(uint64_t)); *(mutex->addr) = 0; } bool test_and_set(mutex_t mutex, bool value) { bool rax; - __asm__ __volatile__ ("lock xchg %%rax, (%%rbx);" : "=a"(rax) : "b"(mutex.addr), "a"(value)); + __asm__ __volatile__("lock xchg %%rax, (%%rbx);" + : "=a"(rax) + : "b"(mutex.addr), "a"(value)); return rax; } void lock(mutex_t mutex) { - while (test_and_set(mutex, 1)) ; + while (test_and_set(mutex, 1)) + ; } void unlock(mutex_t mutex) |
