kconfig: use pkg-config for ncurses detection
[akaros.git] / kern / arch / x86 / bitmask.h
index f8a5cdd..f3c8798 100644 (file)
@@ -14,7 +14,7 @@
 #define BYTES_FOR_BITMASK_WITH_CHECK(size) \
        ((size) ? ((size) - (1)) / (8) + (1) : (0))
 
-static bool GET_BITMASK_BIT(uint8_t* name, size_t bit) 
+static bool GET_BITMASK_BIT(uint8_t* name, size_t bit)
 {
        return (((name)[(bit)/8] & (1 << ((bit) % 8))) ? 1 : 0);
 }
@@ -31,13 +31,13 @@ static void SET_BITMASK_BIT(uint8_t* name, size_t bit)
 #define CLR_BITMASK_BIT(name, bit) \
        ((name)[(bit)/8] &= ~(1 << ((bit) % 8)));
 /*
-static void CLR_BITMASK_BIT(uint8_t* name, size_t bit) 
+static void CLR_BITMASK_BIT(uint8_t* name, size_t bit)
 {
        ((name)[(bit)/8] &= ~(1 << ((bit) % 8)));
 }
 */
 
-static void SET_BITMASK_BIT_ATOMIC(uint8_t* name, size_t bit) 
+static void SET_BITMASK_BIT_ATOMIC(uint8_t* name, size_t bit)
 {
        (atomic_orb(&(name)[(bit)/8], (1 << ((bit) % 8))));
 }
@@ -54,7 +54,7 @@ static void SET_BITMASK_BIT_ATOMIC(uint8_t* name, size_t bit)
 ({ \
        memset((void*)((uintptr_t)(name)), 255, BYTES_FOR_BITMASK((size))); \
        (name)[BYTES_FOR_BITMASK((size))-1] >>= (((size) % 8) ? (8 - ((size) % 8)) : 0 ); \
-}) 
+})
 
 #define COPY_BITMASK(newmask, oldmask, size) \
 ({ \
@@ -79,10 +79,11 @@ static inline bool BITMASK_IS_FULL(volatile uint8_t *map, size_t size)
 {
        int _size = size;
        for (int i = 0; i < BYTES_FOR_BITMASK(size); i++) {
-               for (int j = 0; j < MIN(8,_size); j++)
+               for (int j = 0; j < MIN(8, _size); j++) {
                        if(!((map[i] >> j) &1))
                                return FALSE;
                        _size--;
+               }
        }
        return TRUE;
 }
@@ -90,11 +91,14 @@ static inline bool BITMASK_IS_FULL(volatile uint8_t *map, size_t size)
 #define PRINT_BITMASK(name, size) { \
        int i;  \
        int _size = size; \
+       print_lock(); \
        for (i = 0; i < BYTES_FOR_BITMASK(size); i++) { \
                int j;  \
-               for (j = 0; j < MIN(8,_size); j++) \
+               for (j = 0; j < MIN(8, _size); j++) { \
                        printk("%x", ((name)[i] >> j) & 1);     \
                        _size--; \
+               } \
        } \
        printk("\n"); \
+       print_unlock(); \
 }