From: Sascha Hauer <s.hauer@pengutronix.de>
To: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: barebox@lists.infradead.org
Subject: Re: Compressed barebox image support
Date: Thu, 19 Jul 2012 18:05:52 +0200 [thread overview]
Message-ID: <20120719160552.GA30009@pengutronix.de> (raw)
In-Reply-To: <20120719150832.GG22657@game.jcrosoft.org>
On Thu, Jul 19, 2012 at 05:08:32PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 10:12 Thu 19 Jul , Sascha Hauer wrote:
> > The following series allows to create a self extracting barebox image.
> > This is done by linking barebox twice, once for the actual binary, but
> > without lowlevel initstuff and once for the lowlevel init stuff, the
> > decompressor and the compressed image.
> >
> > Using lzo compression the pcm038 image shrinks from 252k to 155k. The
> > series has been tested on the pcm038 second stage, first stage NAND and
> > first stage NOR and also on an i.MX53 LOCO board (also in thumb2 mode)
> >
> > Using compressed images currently adds to the boot time, at least on
> > my slower arm9 systems. Using the MMU during decompression would help,
> > but this currently isn't implemented.
> >
> > I think the preparation patches should be ready for merging. The last
> > patch in this series adding compression support I am not that confident
> > with. Currently I am not very happy with the Makefile changes which
> > somehow look like bypassing the kbuild mechanism and handcrufting
> > something that looks like kbuild. If someone has ideas how to improve
> > this, let me know. Nevertheless I would be happy about Tested-by
> > (and does-not-work-for) tags.
> >
> > Sascha
> >
> > ----------------------------------------------------------------
> > Sascha Hauer (9):
> > lzo: Allow for static inlining
> > ARM lds: remove unused got
> > ARM: remove board linker script option
> > ARM: remove exception vectors from boards
> > ARM startup: calculate offset instead of runtime address
> > ARM ep93xx: Get rid of special handling in linker file
> > ARM boards: Use _text rather than TEXT_BASE
> > ARM: Separate assembler functions into their own section
> > Add compressed image support
>
> can you push it on a git?
Here you are. I partly integrated your comments already.
Sascha
The following changes since commit 2f6b1f7690640f571f8e72fc2f2564acb2e13778:
ARM/MXS: the GPIO bitkeeper enable logic is inverse to the pullup enable logic (2012-07-16 23:30:14 +0200)
are available in the git repository at:
git://git.pengutronix.de/git/barebox.git work/compressed-image
for you to fetch changes up to af1de0f86036ab8cb8f4a434708a31db21b33de2:
Add compressed image support (2012-07-19 18:02:02 +0200)
----------------------------------------------------------------
Sascha Hauer (9):
lzo: Allow for static inlining
ARM lds: remove unused got
ARM: remove board linker script option
ARM: remove exception vectors from boards
ARM startup: calculate offset instead of runtime address
ARM ep93xx: Get rid of special handling in linker file
ARM boards: Use _text rather than TEXT_BASE
ARM: Separate assembler functions into their own section
Add compressed image support
Makefile | 31 ++++++-
arch/arm/Kconfig | 13 +--
arch/arm/Makefile | 4 +-
arch/arm/boards/a9m2410/a9m2410.c | 3 +-
arch/arm/boards/a9m2440/a9m2440.c | 3 +-
arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c | 7 +-
arch/arm/boards/eukrea_cpuimx25/lowlevel.c | 4 +-
arch/arm/boards/eukrea_cpuimx27/eukrea_cpuimx27.c | 4 +-
arch/arm/boards/eukrea_cpuimx27/lowlevel_init.S | 11 +--
arch/arm/boards/eukrea_cpuimx35/flash_header.c | 2 -
arch/arm/boards/eukrea_cpuimx35/lowlevel.c | 4 +-
arch/arm/boards/freescale-mx25-3-stack/3stack.c | 8 +-
.../boards/freescale-mx25-3-stack/lowlevel_init.S | 11 +--
arch/arm/boards/freescale-mx35-3-stack/3stack.c | 4 +-
.../boards/freescale-mx35-3-stack/flash_header.c | 4 +-
.../boards/freescale-mx35-3-stack/lowlevel_init.S | 11 +--
arch/arm/boards/freescale-mx53-loco/flash_header.c | 2 +-
arch/arm/boards/freescale-mx53-smd/flash_header.c | 2 +-
arch/arm/boards/freescale-mx6-arm2/flash_header.c | 5 +-
arch/arm/boards/guf-cupid/lowlevel.c | 4 +-
arch/arm/boards/guf-neso/lowlevel.c | 4 +-
arch/arm/boards/imx21ads/imx21ads.c | 4 +-
arch/arm/boards/imx21ads/lowlevel_init.S | 10 +--
arch/arm/boards/karo-tx25/board.c | 3 +-
arch/arm/boards/karo-tx25/lowlevel.c | 4 +-
arch/arm/boards/karo-tx51/flash_header.c | 2 +-
arch/arm/boards/mini2440/mini2440.c | 3 +-
arch/arm/boards/pcm037/lowlevel_init.S | 7 +-
arch/arm/boards/pcm037/pcm037.c | 4 +-
arch/arm/boards/pcm038/lowlevel.c | 4 +-
arch/arm/boards/pcm043/lowlevel.c | 4 +-
arch/arm/boards/phycard-i.MX27/lowlevel_init.S | 8 +-
arch/arm/boards/phycard-i.MX27/pca100.c | 2 +-
arch/arm/boards/tqma53/flash_header.c | 5 +-
arch/arm/cpu/cache-armv4.S | 7 +-
arch/arm/cpu/cache-armv5.S | 7 +-
arch/arm/cpu/cache-armv6.S | 11 ++-
arch/arm/cpu/cache-armv7.S | 8 +-
arch/arm/cpu/start.c | 87 +++++++++++++++++---
arch/arm/lib/Makefile | 4 +-
arch/arm/lib/ashldi3.S | 1 +
arch/arm/lib/ashrdi3.S | 1 +
arch/arm/lib/barebox-compressed.lds.S | 70 ++++++++++++++++
arch/arm/lib/barebox.lds.S | 11 +--
arch/arm/lib/findbit.S | 9 ++
arch/arm/lib/io-writesw-armv4.S | 2 +
arch/arm/lib/lib1funcs.S | 7 ++
arch/arm/lib/lshrdi3.S | 1 +
arch/arm/mach-ep93xx/Makefile | 2 +-
arch/arm/mach-ep93xx/header.c | 8 ++
arch/arm/mach-ep93xx/include/mach/barebox.lds.h | 9 ++
common/Kconfig | 12 +++
include/asm-generic/barebox.lds.h | 3 +-
include/asm-generic/memory_layout.h | 2 +
include/lzo.h | 8 +-
lib/decompress_unlzo.c | 9 +-
lib/lzo/lzo1x_decompress.c | 2 +-
lib/vsprintf.c | 2 +-
piggy.lzo.S | 6 ++
59 files changed, 358 insertions(+), 132 deletions(-)
create mode 100644 arch/arm/lib/barebox-compressed.lds.S
create mode 100644 arch/arm/mach-ep93xx/header.c
create mode 100644 arch/arm/mach-ep93xx/include/mach/barebox.lds.h
create mode 100644 piggy.lzo.S
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2012-07-19 16:06 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-19 8:12 Sascha Hauer
2012-07-19 8:12 ` [PATCH 1/9] lzo: Allow for static inlining Sascha Hauer
2012-07-19 8:12 ` [PATCH 2/9] ARM lds: remove unused got Sascha Hauer
2012-07-19 8:12 ` [PATCH 3/9] ARM: remove board linker script option Sascha Hauer
2012-07-19 8:12 ` [PATCH 4/9] ARM: remove exception vectors from boards Sascha Hauer
2012-07-19 8:12 ` [PATCH 5/9] ARM startup: calculate offset instead of runtime address Sascha Hauer
2012-07-19 8:12 ` [PATCH 6/9] ARM ep93xx: Get rid of special handling in linker file Sascha Hauer
2012-07-19 8:13 ` [PATCH 7/9] ARM boards: Use _text rather than TEXT_BASE Sascha Hauer
2012-07-19 8:13 ` [PATCH 8/9] ARM: Separate assembler functions into their own section Sascha Hauer
2012-07-19 10:38 ` Marc Kleine-Budde
2012-07-19 14:04 ` Jean-Christophe PLAGNIOL-VILLARD
2012-07-19 14:08 ` Sascha Hauer
2012-07-19 20:45 ` Sascha Hauer
2012-07-20 16:20 ` Johannes Stezenbach
2012-07-23 20:00 ` Sascha Hauer
2012-07-23 19:59 ` Sascha Hauer
2012-07-19 8:13 ` [PATCH 9/9] Add compressed image support Sascha Hauer
2012-07-19 14:10 ` Jean-Christophe PLAGNIOL-VILLARD
2012-07-19 17:08 ` Johannes Stezenbach
2012-07-19 17:41 ` Sascha Hauer
2012-07-19 18:32 ` Johannes Stezenbach
2012-07-19 20:42 ` Sascha Hauer
2012-07-20 15:01 ` Johannes Stezenbach
2012-07-20 15:24 ` Jean-Christophe PLAGNIOL-VILLARD
2012-07-19 15:08 ` Compressed barebox " Jean-Christophe PLAGNIOL-VILLARD
2012-07-19 16:05 ` Sascha Hauer [this message]
2012-07-19 20:11 ` Robert Jarzmik
2012-07-20 7:59 ` Sascha Hauer
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=20120719160552.GA30009@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=plagnioj@jcrosoft.com \
/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