summaryrefslogtreecommitdiff
path: root/kernel/spinlock.c
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-11-26 17:42:33 +0100
committerMichal Idziorek <m.i@gmx.at>2014-11-26 17:42:33 +0100
commit9c8cfc2e52b0446f7cab14325028075760869b45 (patch)
treeb85a0f9403bd38ac7947cdf709de787241509533 /kernel/spinlock.c
parent786bd02b01d80e335d4445698d721213a1884ff5 (diff)
further cleanup
Diffstat (limited to 'kernel/spinlock.c')
-rw-r--r--kernel/spinlock.c20
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);