selftests/powerpc: Fix build failure of load_unaligned_zeropad test

Commit 7a5692e6e5 ("arch/powerpc: provide zero_bytemask() for
big-endian") added a call to __fls() in our word-at-a-time.h. That was
fine for the kernel build but missed the fact that we also use
word-at-a-time.h in a userspace test.

Pulling in the kernel version of __fls() gets messy, so just define our
own, it's unlikely to change often.

Fixes: 7a5692e6e5 ("arch/powerpc: provide zero_bytemask() for big-endian")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Michael Ellerman 2015-10-12 15:28:57 +11:00
parent f2dd80ecca
commit abb39bc792
1 changed files with 9 additions and 0 deletions

View File

@ -25,10 +25,19 @@
#define FIXUP_SECTION ".ex_fixup" #define FIXUP_SECTION ".ex_fixup"
static inline unsigned long __fls(unsigned long x);
#include "word-at-a-time.h" #include "word-at-a-time.h"
#include "utils.h" #include "utils.h"
static inline unsigned long __fls(unsigned long x)
{
int lz;
asm (PPC_CNTLZL "%0,%1" : "=r" (lz) : "r" (x));
return sizeof(unsigned long) - 1 - lz;
}
static int page_size; static int page_size;
static char *mem_region; static char *mem_region;