Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit abb39bc7 authored by Michael Ellerman's avatar Michael Ellerman
Browse files

selftests/powerpc: Fix build failure of load_unaligned_zeropad test



Commit 7a5692e6 ("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: 7a5692e6 ("arch/powerpc: provide zero_bytemask() for big-endian")
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent f2dd80ec
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -25,10 +25,19 @@

#define FIXUP_SECTION ".ex_fixup"

static inline unsigned long __fls(unsigned long x);

#include "word-at-a-time.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 char *mem_region;