From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Jeremy Kerr <jk@ozlabs.org>
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 1/4] powerpc/boot/fdt: Add little-endian support to libfdt wrappers
Date: Wed, 11 Feb 2015 13:11:28 +1100 [thread overview]
Message-ID: <1423620688.5891.30.camel@kernel.crashing.org> (raw)
In-Reply-To: <1423570510.218330.214724142596.1.gpush@pablo>
On Tue, 2015-02-10 at 20:15 +0800, Jeremy Kerr wrote:
> For epapr-style boot, we may be little-endian. This change implements
> the proper conversion for fdt*_to_cpu and cpu_to_fdt*. We also need the
> full cpu_to_* and *_to_cpu macros for this.
>
> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> ---
> arch/powerpc/boot/libfdt_env.h | 14 ++++++++------
> arch/powerpc/boot/of.h | 8 ++++++++
> 2 files changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/boot/libfdt_env.h b/arch/powerpc/boot/libfdt_env.h
> index c89fdb1..8dcd744 100644
> --- a/arch/powerpc/boot/libfdt_env.h
> +++ b/arch/powerpc/boot/libfdt_env.h
> @@ -4,15 +4,17 @@
> #include <types.h>
> #include <string.h>
>
> +#include "of.h"
> +
> typedef u32 uint32_t;
> typedef u64 uint64_t;
> typedef unsigned long uintptr_t;
>
> -#define fdt16_to_cpu(x) (x)
> -#define cpu_to_fdt16(x) (x)
> -#define fdt32_to_cpu(x) (x)
> -#define cpu_to_fdt32(x) (x)
> -#define fdt64_to_cpu(x) (x)
> -#define cpu_to_fdt64(x) (x)
> +#define fdt16_to_cpu(x) be16_to_cpu(x)
> +#define cpu_to_fdt16(x) cpu_to_be16(x)
> +#define fdt32_to_cpu(x) be32_to_cpu(x)
> +#define cpu_to_fdt32(x) cpu_to_be32(x)
> +#define fdt64_to_cpu(x) be64_to_cpu(x)
> +#define cpu_to_fdt64(x) cpu_to_be64(x)
>
> #endif /* _ARCH_POWERPC_BOOT_LIBFDT_ENV_H */
> diff --git a/arch/powerpc/boot/of.h b/arch/powerpc/boot/of.h
> index c8c1750..5603320 100644
> --- a/arch/powerpc/boot/of.h
> +++ b/arch/powerpc/boot/of.h
> @@ -24,11 +24,19 @@ void of_console_init(void);
> typedef u32 __be32;
>
> #ifdef __LITTLE_ENDIAN__
> +#define cpu_to_be16(x) swab16(x)
> +#define be16_to_cpu(x) swab16(x)
> #define cpu_to_be32(x) swab32(x)
> #define be32_to_cpu(x) swab32(x)
> +#define cpu_to_be64(x) swab64(x)
> +#define be64_to_cpu(x) swab64(x)
> #else
> +#define cpu_to_be16(x) (x)
> +#define be16_to_cpu(x) (x)
> #define cpu_to_be32(x) (x)
> #define be32_to_cpu(x) (x)
> +#define cpu_to_be64(x) (x)
> +#define be64_to_cpu(x) (x)
> #endif
>
> #define PROM_ERROR (-1u)
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
prev parent reply other threads:[~2015-02-11 2:11 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-10 12:15 [PATCH 1/4] powerpc/boot/fdt: Add little-endian support to libfdt wrappers Jeremy Kerr
2015-02-10 12:15 ` [PATCH 3/4] powerpc/boot: Fix stack corruption in epapr entry point Jeremy Kerr
2015-02-11 2:11 ` Benjamin Herrenschmidt
2015-02-10 12:15 ` [PATCH 4/4] powerpc/boot: don't clobber r6 and r7 in epapr boot Jeremy Kerr
2015-02-11 2:09 ` Benjamin Herrenschmidt
2015-02-11 4:27 ` Jeremy Kerr
2015-02-11 4:50 ` Benjamin Herrenschmidt
2015-02-10 12:15 ` [PATCH 2/4] powerpc/boot/wrapper: use the pseries wrapper for zImage.epapr Jeremy Kerr
2015-02-11 2:12 ` Benjamin Herrenschmidt
2015-02-11 2:16 ` Jeremy Kerr
2015-02-11 2:20 ` Benjamin Herrenschmidt
2015-02-11 2:11 ` Benjamin Herrenschmidt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1423620688.5891.30.camel@kernel.crashing.org \
--to=benh@kernel.crashing.org \
--cc=jk@ozlabs.org \
--cc=linuxppc-dev@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.