]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - tools/lib/bitmap.c
Merge tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyper...
[linux.git] / tools / lib / bitmap.c
index 38494782be06e386d3df83d4ed262faf0c9c958f..5043747ef6c5f9f2d662f26add8736ddc275b461 100644 (file)
@@ -71,3 +71,18 @@ int __bitmap_and(unsigned long *dst, const unsigned long *bitmap1,
                           BITMAP_LAST_WORD_MASK(bits));
        return result != 0;
 }
+
+int __bitmap_equal(const unsigned long *bitmap1,
+               const unsigned long *bitmap2, unsigned int bits)
+{
+       unsigned int k, lim = bits/BITS_PER_LONG;
+       for (k = 0; k < lim; ++k)
+               if (bitmap1[k] != bitmap2[k])
+                       return 0;
+
+       if (bits % BITS_PER_LONG)
+               if ((bitmap1[k] ^ bitmap2[k]) & BITMAP_LAST_WORD_MASK(bits))
+                       return 0;
+
+       return 1;
+}