diff options
| author | Andriy Gapon <avg@FreeBSD.org> | 2015-06-19 06:41:53 +0000 |
|---|---|---|
| committer | Andriy Gapon <avg@FreeBSD.org> | 2015-06-19 06:41:53 +0000 |
| commit | ab50c99d40525cf5422f46525a31bf18380c0104 (patch) | |
| tree | 78c5fe18a0c02f0b96779e1e18ccb78b058f9b33 /sys | |
| parent | bda8af6860978f3d8c8c08fb66fd5f1564a26793 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h b/sys/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h index 300351482c10..aa84f361d68d 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h +++ b/sys/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h @@ -32,6 +32,9 @@ #include <sys/param.h> #include <sys/isa_defs.h> +#if defined(__FreeBSD__) && defined(_KERNEL) +#include <sys/libkern.h> +#endif #ifdef __cplusplus extern "C" { @@ -382,6 +385,9 @@ extern unsigned char bcd_to_byte[256]; static __inline int highbit(ulong_t i) { +#if defined(__FreeBSD__) && defined(_KERNEL) && defined(HAVE_INLINE_FLSL) + return (flsl(i)); +#else register int h = 1; if (i == 0) @@ -407,6 +413,7 @@ highbit(ulong_t i) h += 1; } return (h); +#endif } /* @@ -416,6 +423,9 @@ highbit(ulong_t i) static __inline int highbit64(uint64_t i) { +#if defined(__FreeBSD__) && defined(_KERNEL) && defined(HAVE_INLINE_FLSLL) + return (flsll(i)); +#else int h = 1; if (i == 0) @@ -439,6 +449,7 @@ highbit64(uint64_t i) h += 1; } return (h); +#endif } #ifdef __cplusplus |
