Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Avoid strict-aliasing related issues when compiling with optimization
[palacios.git] / linux_module / lockcheck.h
index 2fd2e92..d80060b 100644 (file)
 #define LOCKCHECK_INIT() palacios_lockcheck_init()
 #define LOCKCHECK_ALLOC(lock) palacios_lockcheck_alloc(lock)
 #define LOCKCHECK_FREE(lock)  palacios_lockcheck_free(lock)
-#define LOCKCHECK_LOCK(lock)  palacios_lockcheck_lock(lock)
-#define LOCKCHECK_UNLOCK(lock) palacios_lockcheck_unlock(lock)
-#define LOCKCHECK_LOCK_IRQSAVE(lock, flags)  palacios_lockcheck_lock_irqsave(lock,flags)
-#define LOCKCHECK_UNLOCK_IRQRESTORE(lock, flags) palacios_lockcheck_unlock_irqrestore(lock,flags)
+#define LOCKCHECK_LOCK_PRE(lock)
+#define LOCKCHECK_LOCK_POST(lock)  palacios_lockcheck_lock(lock)
+#define LOCKCHECK_UNLOCK_PRE(lock) palacios_lockcheck_unlock(lock)
+#define LOCKCHECK_UNLOCK_POST(lock) 
+#define LOCKCHECK_LOCK_IRQSAVE_PRE(lock, flags) 
+#define LOCKCHECK_LOCK_IRQSAVE_POST(lock, flags)  palacios_lockcheck_lock_irqsave(lock,flags)
+#define LOCKCHECK_UNLOCK_IRQRESTORE_PRE(lock, flags) palacios_lockcheck_unlock_irqrestore_pre(lock,flags)
+#define LOCKCHECK_UNLOCK_IRQRESTORE_POST(lock, flags) palacios_lockcheck_unlock_irqrestore_post(lock,flags)
 #define LOCKCHECK_DEINIT() palacios_lockcheck_deinit()
 
 void palacios_lockcheck_init(void);
@@ -31,7 +35,8 @@ void palacios_lockcheck_free(void *lock);
 void palacios_lockcheck_lock(void *lock);
 void palacios_lockcheck_unlock(void *lock);
 void palacios_lockcheck_lock_irqsave(void *lock,unsigned long flags);
-void palacios_lockcheck_unlock_irqrestore(void *lock,unsigned long flags);
+void palacios_lockcheck_unlock_irqrestore_pre(void *lock,unsigned long flags);
+void palacios_lockcheck_unlock_irqrestore_post(void *lock,unsigned long flags);
 void palacios_lockcheck_deinit(void);
 
 #else
@@ -42,10 +47,14 @@ void palacios_lockcheck_deinit(void);
 #define LOCKCHECK_INIT()
 #define LOCKCHECK_ALLOC(lock) 
 #define LOCKCHECK_FREE(lock)  
-#define LOCKCHECK_LOCK(lock)  
-#define LOCKCHECK_UNLOCK(lock) 
-#define LOCKCHECK_LOCK_IRQSAVE(lock, flags)  
-#define LOCKCHECK_UNLOCK_IRQRESTORE(lock, flags) 
+#define LOCKCHECK_LOCK_PRE(lock)
+#define LOCKCHECK_LOCK_POST(lock)  
+#define LOCKCHECK_UNLOCK_PRE(lock) 
+#define LOCKCHECK_UNLOCK_POST(lock)
+#define LOCKCHECK_LOCK_IRQSAVE_PRE(lock, flags)  
+#define LOCKCHECK_LOCK_IRQSAVE_POST(lock, flags)  
+#define LOCKCHECK_UNLOCK_IRQRESTORE_PRE(lock, flags) 
+#define LOCKCHECK_UNLOCK_IRQRESTORE_POST(lock, flags) 
 #define LOCKCHECK_DEINIT()
 
 #endif