All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alban <albeu@free.fr>
To: Jonas Gorski <jonas.gorski@gmail.com>
Cc: Aban Bedel <albeu@free.fr>,
	MIPS Mailing List <linux-mips@linux-mips.org>,
	Ralf Baechle <ralf@linux-mips.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] MIPS: Allow compressed images to be loaded at the usual address
Date: Mon, 13 Feb 2017 09:37:36 +0100	[thread overview]
Message-ID: <20170213093736.1ee183f3@tock> (raw)
In-Reply-To: <CAOiHx=nwBgVnZp1x2TcDVNx1hA2KYwwQnYSbCsCOJpNo-SLJPg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2816 bytes --]

On Thu, 9 Feb 2017 13:22:37 +0100
Jonas Gorski <jonas.gorski@gmail.com> wrote:

> Hi,
> 
> On 5 February 2017 at 21:21, Alban <albeu@free.fr> wrote:
> > From: Alban Bedel <albeu@free.fr>
> >
> > Normally compressed images have to be loaded at a different address to
> > allow the decompressor to run. This add an option to let vmlinuz copy
> > itself to the correct address from the normal vmlinux address.
> >
> > Signed-off-by: Alban Bedel <albeu@free.fr>
> > ---
> >  arch/mips/Kconfig                |  8 ++++++++
> >  arch/mips/boot/compressed/head.S | 13 +++++++++++++
> >  2 files changed, 21 insertions(+)
> >
> > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> > index b3c5bde..8074fc5 100644
> > --- a/arch/mips/Kconfig
> > +++ b/arch/mips/Kconfig
> > @@ -2961,6 +2961,14 @@ choice
> >                 bool "Extend builtin kernel arguments with bootloader arguments"
> >  endchoice
> >
> > +config ZBOOT_VMLINUZ_AT_VMLINUX_LOAD_ADDRESS
> > +       bool "Load compressed images at the same address as uncompressed"
> > +       depends on SYS_SUPPORTS_ZBOOT
> > +       help
> > +         vmlinux and vmlinuz normally have different load addresses, with
> > +         this option vmlinuz expect to be loaded at the same address as
> > +         vmlinux.
> > +
> >  endmenu  
> 
> Okay, it took me a while to understand the intention of this change. I
> thought it was for supporting the case that VMLINUZ_LOAD_ADDRESS ==
> VMLINUX_LOAD_ADDRESS, but it is indented for  VMLINUZ_LOAD_ADDRESS !=
> VMLINUX_LOAD_ADDRESS, but still being loaded at VMLINUX_LOAD_ADDRESS.
> 
> So I guess that this can only happen with vmlinuz.bin, as vmlinux's
> ELF header will cause it to be loaded at the expected address (for
> sane bootloaders at least).

Yes, this is for bootloaders that use raw images. Having to configure
different load addresses for compressed and uncompressed images was just
too annoying.

> >  config LOCKDEP_SUPPORT
> > diff --git a/arch/mips/boot/compressed/head.S b/arch/mips/boot/compressed/head.S
> > index 409cb48..a215171 100644
> > --- a/arch/mips/boot/compressed/head.S
> > +++ b/arch/mips/boot/compressed/head.S
> > @@ -25,6 +25,19 @@ start:
> >         move    s2, a2
> >         move    s3, a3
> >
> > +#ifdef CONFIG_ZBOOT_VMLINUZ_AT_VMLINUX_LOAD_ADDRESS  
> 
> With a bit of BAL trickery you could easily detect this at runtime and
> then conditionally copy without requiring any additional config
> symbols. Then you aren't limited to being executed from
> VMLINUX_LOAD_ADDRESS.

Could you expand a bit on what you mean with "BAL trickery"? I hoped
that it would be possible to auto detect the current running address,
but as I know very little about MIPS assembly I didn't found how that
could be done.

Alban

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2017-02-13  8:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-05 20:21 [PATCH] MIPS: Allow compressed images to be loaded at the usual address Alban
2017-02-06  8:52 ` Sergei Shtylyov
2017-02-09 12:22 ` Jonas Gorski
2017-02-13  8:37   ` Alban [this message]
2017-02-13 10:52     ` Jonas Gorski

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=20170213093736.1ee183f3@tock \
    --to=albeu@free.fr \
    --cc=jonas.gorski@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.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.