Index: sys/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h =================================================================== --- sys/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h +++ sys/cddl/contrib/opensolaris/uts/common/sys/sysmacros.h @@ -32,6 +32,13 @@ #include #include +#ifdef __FreeBSD__ +#ifdef _KERNEL +#include +#else +#include +#endif +#endif #ifdef __cplusplus extern "C" { @@ -382,6 +389,9 @@ static __inline int highbit(ulong_t i) { +#ifdef __FreeBSD__ + return (flsl(i)); +#else register int h = 1; if (i == 0) @@ -407,6 +417,7 @@ h += 1; } return (h); +#endif } /* @@ -416,6 +427,9 @@ static __inline int highbit64(uint64_t i) { +#ifdef __FreeBSD__ + return (flsll(i)); +#else int h = 1; if (i == 0) @@ -439,6 +453,7 @@ h += 1; } return (h); +#endif } #ifdef __cplusplus