diff options
| author | Michal Idziorek <m.i@gmx.at> | 2014-11-26 17:42:33 +0100 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2014-11-26 17:42:33 +0100 |
| commit | 9c8cfc2e52b0446f7cab14325028075760869b45 (patch) | |
| tree | b85a0f9403bd38ac7947cdf709de787241509533 /kernel/spinlock.c | |
| parent | 786bd02b01d80e335d4445698d721213a1884ff5 (diff) | |
further cleanup
Diffstat (limited to 'kernel/spinlock.c')
| -rw-r--r-- | kernel/spinlock.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/kernel/spinlock.c b/kernel/spinlock.c index 33ed178..2c6d161 100644 --- a/kernel/spinlock.c +++ b/kernel/spinlock.c @@ -1,23 +1,23 @@ #define FOOLOS_MODULE_NAME "spinlock" #include "lib/logger/log.h" -#include "lib/int/stdint.h" -#include "x86.h" +#include "spinlock.h" // https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html +#define NUMBER_SPINLOCKS 16 -typedef uint8_t spinlock; -volatile spinlock spinlocks[16]; +spinlock spinlocks[NUMBER_SPINLOCKS]; - -void init_spinlocks() +void check_spinlocks() { - log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Initializing spinlocks at 0x%08X ",spinlocks); - for(int i=0;i<16;i++)spinlocks[i]=0; + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Spinlocks at 0x%08X ",spinlocks); + for(int i=0;i<NUMBER_SPINLOCKS;i++) + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"%d",spinlocks[i]); } -volatile void lock_spin(int i) + +void lock_spin(spinlock i) { spinlock *addr=spinlocks+i; @@ -26,7 +26,7 @@ volatile void lock_spin(int i) while(x86_xchg(addr,1)); } -void lock_release(int i) +void lock_release(spinlock i) { // log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"unlocking %d",i); |
