#include <sys/cdefs.h>
#include <sys/types.h>
#include <mach/vm_param.h>
-#if __arm__
-#include <arm/arch.h> /* for _ARM_ARCH_* */
-#endif
#ifdef __APPLE_API_OBSOLETE
/* BCD conversions. */
{
return (a < b ? a : b);
}
-static inline u_long
-ulmax(u_long a, u_long b)
+static inline u_int32_t
+ulmax(u_int32_t a, u_int32_t b)
{
return (a > b ? a : b);
}
-static inline u_long
-ulmin(u_long a, u_long b)
+static inline u_int32_t
+ulmin(u_int32_t a, u_int32_t b)
{
return (a < b ? a : b);
}
/* Prototypes for non-quad routines. */
extern int ffs(int);
extern int locc(int, char *, u_int);
-extern u_long random(void);
+extern u_int32_t random(void);
extern char *rindex(const char *, int);
extern int scanc(u_int, u_char *, const u_char *, int);
extern int skpc(int, int, char *);
int sscanf(const char *, char const *, ...) __scanflike(2,3);
int printf(const char *, ...) __printflike(1,2);
+#if KERNEL_PRIVATE
+int _consume_printf_args(int, ...);
+#endif
+
#if CONFIG_NO_PRINTF_STRINGS
+#if KERNEL_PRIVATE
+#define printf(x, ...) _consume_printf_args( 0, ## __VA_ARGS__ )
+#else
#define printf(x, ...) do {} while (0)
#endif
+#endif
uint32_t crc32(uint32_t crc, const void *bufp, size_t len);
/* vsprintf() is being deprecated. Please use vsnprintf() instead. */
extern int vsprintf(char *bufp, const char *, va_list) __deprecated;
+#ifdef KERNEL_PRIVATE
extern void invalidate_icache(vm_offset_t, unsigned, int);
extern void flush_dcache(vm_offset_t, unsigned, int);
+#else
+extern void invalidate_icache(vm_offset_t, unsigned, int);
+extern void flush_dcache(vm_offset_t, unsigned, int);
+#endif
extern void invalidate_icache64(addr64_t, unsigned, int);
extern void flush_dcache64(addr64_t, unsigned, int);
static __inline__ unsigned int
clz(unsigned int num)
{
-#if __ppc__
- unsigned int result;
- __asm__ volatile(
- "cntlzw %0, %1"
- : "=r" (result)
- : "r" (num)
- );
- return result;
-
-#elif __i386__
+#if __i386__
unsigned int result;
__asm__ volatile(
"bsrl %1, %0\n\t"
);
return 31 ^ result;
-#elif __arm__ && !__thumb__ && defined(_ARM_ARCH_5)
- unsigned int result;
- __asm__ volatile(
- "clz %0, %1"
- : "=r" (result)
- : "r" (num)
- );
-
- return result;
#else
return num?__builtin_clz(num):__builtin_clz(0);
#endif