Message ID | 4EE05FC5.9000701@ozlabs.org (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | 2c9c6ce0199a4d252e20c531cfdc9d24e39235c0 |
Headers | show |
* Matt Evans <matt@ozlabs.org> wrote: > PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h > prevents 64-bit userland from seeing this definition, instead defaulting > to u64 == long in userspace. Some user programs (e.g. kvmtool) may actually > want LL64, so this patch adds a check for __SANE_USERSPACE_TYPES__ so that, > if defined, int-ll64.h is included instead. > > Signed-off-by: Matt Evans <matt@ozlabs.org> > --- > arch/powerpc/include/asm/types.h | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/arch/powerpc/include/asm/types.h b/arch/powerpc/include/asm/types.h > index 8947b98..d82e94e 100644 > --- a/arch/powerpc/include/asm/types.h > +++ b/arch/powerpc/include/asm/types.h > @@ -5,8 +5,11 @@ > * This is here because we used to use l64 for 64bit powerpc > * and we don't want to impact user mode with our change to ll64 > * in the kernel. > + * > + * However, some user programs are fine with this. They can > + * flag __SANE_USERSPACE_TYPES__ to get int-ll64.h here. > */ > -#if defined(__powerpc64__) && !defined(__KERNEL__) > +#if !defined(__SANE_USERSPACE_TYPES__) && defined(__powerpc64__) && !defined(__KERNEL__) Acked-by: Ingo Molnar <mingo@elte.hu> Any other name would work too i guess. Thanks, Ingo
diff --git a/arch/powerpc/include/asm/types.h b/arch/powerpc/include/asm/types.h index 8947b98..d82e94e 100644 --- a/arch/powerpc/include/asm/types.h +++ b/arch/powerpc/include/asm/types.h @@ -5,8 +5,11 @@ * This is here because we used to use l64 for 64bit powerpc * and we don't want to impact user mode with our change to ll64 * in the kernel. + * + * However, some user programs are fine with this. They can + * flag __SANE_USERSPACE_TYPES__ to get int-ll64.h here. */ -#if defined(__powerpc64__) && !defined(__KERNEL__) +#if !defined(__SANE_USERSPACE_TYPES__) && defined(__powerpc64__) && !defined(__KERNEL__) # include <asm-generic/int-l64.h> #else # include <asm-generic/int-ll64.h>
PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h prevents 64-bit userland from seeing this definition, instead defaulting to u64 == long in userspace. Some user programs (e.g. kvmtool) may actually want LL64, so this patch adds a check for __SANE_USERSPACE_TYPES__ so that, if defined, int-ll64.h is included instead. Signed-off-by: Matt Evans <matt@ozlabs.org> --- arch/powerpc/include/asm/types.h | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)