From: "Cédric Le Goater" <clg@fr.ibm.com>
To: benh@kernel.crashing.org
Cc: "Cédric Le Goater" <clg@fr.ibm.com>, linuxppc-dev@lists.ozlabs.org
Subject: [PATCH v2 00/15] powerpc/boot: 64bit little endian wrapper (rebased on v3.15-rc2)
Date: Thu, 24 Apr 2014 09:23:24 +0200 [thread overview]
Message-ID: <1398324219-8919-1-git-send-email-clg@fr.ibm.com> (raw)
In-Reply-To: <1395651884.30488.10.camel@pasglop>
Hi,
The following patchset adds support for 64bit little endian boot
wrapper. It is based on original code from Andrew Tauferner.
The first patches provide fixes for 64bit support. I also changed
the prom code to make it converge with the prom_init kernel code.
They have a lot in common and they could probably be merged.
powerpc/boot: fix do_div for 64bit wrapper
powerpc/boot: use a common prom_args struct in oflib
powerpc/boot: use prom_arg_t in oflib
powerpc/boot: add byteswapping routines in oflib
powerpc/boot: add PROM_ERROR define in oflib
powerpc/boot: rework of_claim() to make it 64bit friendly
powerpc/boot: define typedef ihandle as u32
powerpc/boot: fix compile warning in 64bit
These are for little endian only:
powerpc/boot: define byteswapping routines for little endian
powerpc/boot: add 64bit and little endian support to addnote
powerpc/boot: add little endian support to elf utils
and finally, these add support for the 64bit little endian boot
wrapper :
powerpc/boot: define a routine to enter prom
powerpc/boot: modify entry point for 64bit
powerpc/boot: add a global entry point for pseries
powerpc/boot: add support for 64bit little endian wrapper
Here are some topics to discuss :
- to compile in 64bit, -m64 is added to the cross32 compiler.
- There are still some compile warnings due to 64bit, in addnote
and in the device tree library.
- the wrapper is compiled as a position independent executable.
This patchset is based on a 3.15-rc2 and was tested on qemu with
the -kernel option, yaboot and grub for little and big endian
guests. Tests were also done to check that the PowerVM stack was
not broken by these changes.
It is also available from :
https://github.com/legoater/linux v3.15-rc2-zimagev2
Cheers,
C.
Changes since v1 :
- Fixed Makefile for platforms generating a zImage.pseries
- used PROM_ERROR (-1u) to test return addr when claiming memory
- removed patch modifying the call to the kernel entry point
- merged last 3 patches to preserve bisectability
Cédric Le Goater (15):
powerpc/boot: fix do_div for 64bit wrapper
powerpc/boot: use a common prom_args struct in oflib
powerpc/boot: use prom_arg_t in oflib
powerpc/boot: add byteswapping routines in oflib
powerpc/boot: add PROM_ERROR define in oflib
powerpc/boot: rework of_claim() to make it 64bit friendly
powerpc/boot: define typedef ihandle as u32
powerpc/boot: fix compile warning in 64bit
powerpc/boot: define byteswapping routines for little endian
powerpc/boot: add 64bit and little endian support to addnote
powerpc/boot: add little endian support to elf utils
powerpc/boot: define a routine to enter prom
powerpc/boot: modify entry point for 64bit
powerpc/boot: add a global entry point for pseries
powerpc/boot: add support for 64bit little endian wrapper
arch/powerpc/boot/Makefile | 21 +++-
arch/powerpc/boot/addnote.c | 128 +++++++++++++++--------
arch/powerpc/boot/crt0.S | 180 +++++++++++++++++++++++++++++++-
arch/powerpc/boot/elf_util.c | 4 +
arch/powerpc/boot/of.c | 4 +-
arch/powerpc/boot/of.h | 19 +++-
arch/powerpc/boot/ofconsole.c | 6 +-
arch/powerpc/boot/oflib.c | 92 ++++++++--------
arch/powerpc/boot/ppc_asm.h | 12 +++
arch/powerpc/boot/pseries-head.S | 8 ++
arch/powerpc/boot/stdio.c | 14 +++
arch/powerpc/boot/swab.h | 29 +++++
arch/powerpc/boot/wrapper | 17 ++-
arch/powerpc/boot/zImage.lds.S | 25 ++++-
arch/powerpc/platforms/Kconfig.cputype | 5 +
15 files changed, 464 insertions(+), 100 deletions(-)
create mode 100644 arch/powerpc/boot/pseries-head.S
create mode 100644 arch/powerpc/boot/swab.h
--
1.7.10.4
next prev parent reply other threads:[~2014-04-24 7:23 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-07 15:59 [RFC PATCH 00/18] powerpc/boot: 64bit little endian wrapper for pseries Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 01/18] powerpc/boot: fix do_div for 64bit wrapper Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 02/18] powerpc/boot: use a common prom_args struct in oflib Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 03/18] powerpc/boot: use prom_arg_t " Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 04/18] powerpc/boot: add byteswapping routines " Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 05/18] powerpc/boot: add PROM_ERROR define " Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 06/18] powerpc/boot: rework of_claim() to make it 64bit friendly Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 07/18] powerpc/boot: define typedef ihandle as u32 Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 08/18] powerpc/boot: fix compile warning in 64bit Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 09/18] powerpc/boot: define byteswapping routines for little endian Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 10/18] powerpc/boot: add 64bit and little endian support to addnote Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 11/18] powerpc/boot: add little endian support to elf utils Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 12/18] powerpc/boot: define a routine to enter prom Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 13/18] powerpc/boot: modify entry point for 64bit Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 14/18] powerpc/boot: modify how we enter kernel on 64bit Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 15/18] powerpc/boot: add a global entry point for pseries Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 16/18] powerpc/boot: add support for 64bit big endian wrapper Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 17/18] powerpc/boot: add support for 64bit little " Cédric Le Goater
2014-02-07 15:59 ` [RFC PATCH 18/18] powerpc/boot: add PPC64_BOOT_WRAPPER config option Cédric Le Goater
2014-03-20 15:09 ` [PATCH 00/18] powerpc/boot: 64bit little endian wrapper Cédric Le Goater
2014-03-20 17:03 ` Geoff Levand
2014-03-21 8:37 ` Cedric Le Goater
2014-03-21 9:37 ` Cedric Le Goater
2014-03-21 17:28 ` Geoff Levand
2014-03-21 17:40 ` Cedric Le Goater
2014-03-20 15:09 ` [PATCH 01/18] powerpc/boot: fix do_div for 64bit wrapper Cédric Le Goater
2014-03-20 15:09 ` [PATCH 02/18] powerpc/boot: use a common prom_args struct in oflib Cédric Le Goater
2014-03-20 15:09 ` [PATCH 03/18] powerpc/boot: use prom_arg_t " Cédric Le Goater
2014-03-20 15:09 ` [PATCH 04/18] powerpc/boot: add byteswapping routines " Cédric Le Goater
2014-03-20 15:10 ` [PATCH 05/18] powerpc/boot: add PROM_ERROR define " Cédric Le Goater
2014-03-20 15:10 ` [PATCH 06/18] powerpc/boot: rework of_claim() to make it 64bit friendly Cédric Le Goater
2014-03-20 15:10 ` [PATCH 07/18] powerpc/boot: define typedef ihandle as u32 Cédric Le Goater
2014-03-20 15:10 ` [PATCH 08/18] powerpc/boot: fix compile warning in 64bit Cédric Le Goater
2014-03-20 15:10 ` [PATCH 09/18] powerpc/boot: define byteswapping routines for little endian Cédric Le Goater
2014-03-20 15:10 ` [PATCH 10/18] powerpc/boot: add 64bit and little endian support to addnote Cédric Le Goater
2014-03-20 15:10 ` [PATCH 11/18] powerpc/boot: add little endian support to elf utils Cédric Le Goater
2014-03-20 15:10 ` [PATCH 12/18] powerpc/boot: define a routine to enter prom Cédric Le Goater
2014-03-20 15:10 ` [PATCH 13/18] powerpc/boot: modify entry point for 64bit Cédric Le Goater
2014-03-20 15:10 ` [PATCH 14/18] powerpc/boot: modify how we enter kernel on 64bit Cédric Le Goater
2014-03-20 15:10 ` [PATCH 15/18] powerpc/boot: add a global entry point for pseries Cédric Le Goater
2014-03-20 15:10 ` [PATCH 16/18] powerpc/boot: add support for 64bit big endian wrapper Cédric Le Goater
2014-03-20 15:10 ` [PATCH 17/18] powerpc/boot: add support for 64bit little " Cédric Le Goater
2014-03-20 15:10 ` [PATCH 18/18] powerpc/boot: add PPC64_BOOT_WRAPPER config option Cédric Le Goater
2014-03-24 3:42 ` Benjamin Herrenschmidt
2014-03-24 8:38 ` Cedric Le Goater
2014-03-24 9:04 ` Benjamin Herrenschmidt
2014-03-24 10:22 ` [PATCH] powerpc/boot: fix global entry point for pseries Cédric Le Goater
2014-04-14 7:46 ` [PATCH v2 00/15] powerpc/boot: 64bit little endian wrapper Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 01/15] powerpc/boot: fix do_div for 64bit wrapper Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 02/15] powerpc/boot: use a common prom_args struct in oflib Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 03/15] powerpc/boot: use prom_arg_t " Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 04/15] powerpc/boot: add byteswapping routines " Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 05/15] powerpc/boot: add PROM_ERROR define " Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 06/15] powerpc/boot: rework of_claim() to make it 64bit friendly Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 07/15] powerpc/boot: define typedef ihandle as u32 Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 08/15] powerpc/boot: fix compile warning in 64bit Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 09/15] powerpc/boot: define byteswapping routines for little endian Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 10/15] powerpc/boot: add 64bit and little endian support to addnote Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 11/15] powerpc/boot: add little endian support to elf utils Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 12/15] powerpc/boot: define a routine to enter prom Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 13/15] powerpc/boot: modify entry point for 64bit Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 14/15] powerpc/boot: add a global entry point for pseries Cédric Le Goater
2014-04-14 7:47 ` [PATCH v2 15/15] powerpc/boot: add support for 64bit little endian wrapper Cédric Le Goater
2014-04-24 7:23 ` Cédric Le Goater [this message]
2014-04-24 7:23 ` [PATCH v2 01/15] powerpc/boot: fix do_div for 64bit wrapper Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 02/15] powerpc/boot: use a common prom_args struct in oflib Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 03/15] powerpc/boot: use prom_arg_t " Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 04/15] powerpc/boot: add byteswapping routines " Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 05/15] powerpc/boot: add PROM_ERROR define " Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 06/15] powerpc/boot: rework of_claim() to make it 64bit friendly Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 07/15] powerpc/boot: define typedef ihandle as u32 Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 08/15] powerpc/boot: fix compile warning in 64bit Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 09/15] powerpc/boot: define byteswapping routines for little endian Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 10/15] powerpc/boot: add 64bit and little endian support to addnote Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 11/15] powerpc/boot: add little endian support to elf utils Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 12/15] powerpc/boot: define a routine to enter prom Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 13/15] powerpc/boot: modify entry point for 64bit Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 14/15] powerpc/boot: add a global entry point for pseries Cédric Le Goater
2014-04-24 7:23 ` [PATCH v2 15/15] powerpc/boot: add support for 64bit little endian wrapper Cédric Le Goater
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=1398324219-8919-1-git-send-email-clg@fr.ibm.com \
--to=clg@fr.ibm.com \
--cc=benh@kernel.crashing.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).