]> xenbits.xensource.com Git - xen.git/commitdiff
xen/lib: Switch to xen/byteorder.h
authorLin Liu <lin.liu@citrix.com>
Wed, 20 Oct 2021 04:29:46 +0000 (04:29 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 18 Apr 2025 14:16:12 +0000 (15:16 +0100)
In divmod.c, additionally swap xen/lib.h for xen/macros.h as only ABS() is
needed.

In find-next-bit.c, ext2 has nothing to do with this logic.  It was a local
modification when the logic was imported from Linux, because Xen didn't have a
suitable helper at the time.

The new infrastructure does have a suitable primitive, so use it.

No functional change.

Signed-off-by: Lin Liu <lin.liu@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/lib/divmod.c
xen/lib/find-next-bit.c

index 0377d62130ae01e5536afa6d1af759d6f7277529..063e867a81edbf11569e083654d8e405ba7ea209 100644 (file)
@@ -1,6 +1,6 @@
-#include <xen/lib.h>
+#include <xen/byteorder.h>
+#include <xen/macros.h>
 #include <xen/types.h>
-#include <asm/byteorder.h>
 
 /*
  * A couple of 64 bit operations ported from FreeBSD.
index 761b02739841bb90b114feb41cbbb089695ae76a..9b8d7814f20c21264eef8cff2cfa874affe5be9f 100644 (file)
@@ -9,8 +9,7 @@
  * 2 of the License, or (at your option) any later version.
  */
 #include <xen/bitops.h>
-
-#include <asm/byteorder.h>
+#include <xen/byteorder.h>
 
 #define __ffs(x) (ffsl(x) - 1)
 #define ffz(x) __ffs(~(x))
@@ -164,30 +163,6 @@ EXPORT_SYMBOL(find_first_zero_bit);
 
 #ifdef __BIG_ENDIAN
 
-/* include/linux/byteorder does not support "unsigned long" type */
-static inline unsigned long ext2_swabp(const unsigned long * x)
-{
-#if BITS_PER_LONG == 64
-       return (unsigned long) __swab64p((u64 *) x);
-#elif BITS_PER_LONG == 32
-       return (unsigned long) __swab32p((u32 *) x);
-#else
-#error BITS_PER_LONG not defined
-#endif
-}
-
-/* include/linux/byteorder doesn't support "unsigned long" type */
-static inline unsigned long ext2_swab(const unsigned long y)
-{
-#if BITS_PER_LONG == 64
-       return (unsigned long) __swab64((u64) y);
-#elif BITS_PER_LONG == 32
-       return (unsigned long) __swab32((u32) y);
-#else
-#error BITS_PER_LONG not defined
-#endif
-}
-
 #ifndef find_next_zero_bit_le
 unsigned long find_next_zero_bit_le(const void *addr, unsigned
                long size, unsigned long offset)
@@ -202,7 +177,7 @@ unsigned long find_next_zero_bit_le(const void *addr, unsigned
        size -= result;
        offset &= (BITS_PER_LONG - 1UL);
        if (offset) {
-               tmp = ext2_swabp(p++);
+               tmp = bswapl(*p++);
                tmp |= (~0UL >> (BITS_PER_LONG - offset));
                if (size < BITS_PER_LONG)
                        goto found_first;
@@ -220,7 +195,7 @@ unsigned long find_next_zero_bit_le(const void *addr, unsigned
        }
        if (!size)
                return result;
-       tmp = ext2_swabp(p);
+       tmp = bswapl(*p);
 found_first:
        tmp |= ~0UL << size;
        if (tmp == ~0UL)        /* Are any bits zero? */
@@ -229,7 +204,7 @@ found_middle:
        return result + ffz(tmp);
 
 found_middle_swap:
-       return result + ffz(ext2_swab(tmp));
+       return result + ffz(bswapl(tmp));
 }
 EXPORT_SYMBOL(find_next_zero_bit_le);
 #endif
@@ -248,7 +223,7 @@ unsigned long find_next_bit_le(const void *addr, unsigned
        size -= result;
        offset &= (BITS_PER_LONG - 1UL);
        if (offset) {
-               tmp = ext2_swabp(p++);
+               tmp = bswapl(*p++);
                tmp &= (~0UL << offset);
                if (size < BITS_PER_LONG)
                        goto found_first;
@@ -267,7 +242,7 @@ unsigned long find_next_bit_le(const void *addr, unsigned
        }
        if (!size)
                return result;
-       tmp = ext2_swabp(p);
+       tmp = bswapl(*p);
 found_first:
        tmp &= (~0UL >> (BITS_PER_LONG - size));
        if (tmp == 0UL)         /* Are any bits set? */
@@ -276,7 +251,7 @@ found_middle:
        return result + __ffs(tmp);
 
 found_middle_swap:
-       return result + __ffs(ext2_swab(tmp));
+       return result + __ffs(bswapl(tmp));
 }
 EXPORT_SYMBOL(find_next_bit_le);
 #endif