linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: ard.biesheuvel@linaro.org (Ard Biesheuvel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/6] ARM: compressed: clean up section layout and enable EFI debugging
Date: Mon,  5 Nov 2018 19:44:32 +0100	[thread overview]
Message-ID: <20181105184438.19494-1-ard.biesheuvel@linaro.org> (raw)

Currently, the decompressor section layout is somewhat unusual: head.S
puts code into a .start and a .text section, which are expected to be
emitted back to back, unless other objects are included that define a
.start section as well, in which case execution is expected to proceed 
linearly from head.S's section .start section into the other .start
section and then onward into head.S's .text section.

This relies on the input files to be consumed by the linker in the same
order they were specified on the command line, but this is not actually
guaranteed by the linker, so it is better to make the inclusion of this
code specific by using function calls. Also, it is better to use a jump
instruction when going from one section to the next rather than relying
on code flow to proceed seamlessly from one to the other.

The reason I am cleaning this up is because I want to modify the section
layout slightly, so that the ELF and PE/COFF layouts are identical. This
permits a debug feature to be enabled that makes it possible to do single
step debugging from the EFI stub into the firmware and back, which is very
useful for debugging the handover from UEFI to the decompressor.

Ard Biesheuvel (6):
  ARM: compressed: move sharpsl startup code into subroutine
  ARM: compressed: move sa1100 startup code into subroutine
  ARM: compressed: move xscale startup code into subroutine
  ARM: compressed: move BE32 handling into head.S
  ARM: compressed: put zImage header and EFI header in dedicated section
  ARM: efi: add PE/COFF debug table to EFI header

 arch/arm/boot/compressed/Makefile       | 12 ++---
 arch/arm/boot/compressed/big-endian.S   | 14 ------
 arch/arm/boot/compressed/efi-header.S   | 47 ++++++++++++++++++++
 arch/arm/boot/compressed/head-sa1100.S  |  9 ++--
 arch/arm/boot/compressed/head-sharpsl.S | 24 +++++-----
 arch/arm/boot/compressed/head-xscale.S  |  7 +--
 arch/arm/boot/compressed/head.S         | 20 +++++++--
 arch/arm/boot/compressed/vmlinux.lds.S  |  4 +-
 8 files changed, 92 insertions(+), 45 deletions(-)
 delete mode 100644 arch/arm/boot/compressed/big-endian.S

-- 
2.19.1

             reply	other threads:[~2018-11-05 18:44 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-05 18:44 Ard Biesheuvel [this message]
2018-11-05 18:44 ` [PATCH 1/6] ARM: compressed: move sharpsl startup code into subroutine Ard Biesheuvel
2018-11-05 18:59   ` Russell King - ARM Linux
2018-11-05 19:07     ` Ard Biesheuvel
2018-11-05 19:13       ` Russell King - ARM Linux
2018-11-05 19:25   ` Nicolas Pitre
2018-11-05 19:35     ` Ard Biesheuvel
2018-11-05 18:44 ` [PATCH 2/6] ARM: compressed: move sa1100 " Ard Biesheuvel
2018-11-05 19:00   ` Russell King - ARM Linux
2018-11-05 18:44 ` [PATCH 3/6] ARM: compressed: move xscale " Ard Biesheuvel
2018-11-05 19:00   ` Russell King - ARM Linux
2018-11-05 18:44 ` [PATCH 4/6] ARM: compressed: move BE32 handling into head.S Ard Biesheuvel
2018-11-05 18:44 ` [PATCH 5/6] ARM: compressed: put zImage header and EFI header in dedicated section Ard Biesheuvel
2018-11-05 18:44 ` [PATCH 6/6] ARM: efi: add PE/COFF debug table to EFI header Ard Biesheuvel
2018-11-05 19:09 ` [PATCH 0/6] ARM: compressed: clean up section layout and enable EFI debugging Russell King - ARM Linux
2018-11-05 19:10   ` Ard Biesheuvel
2018-11-05 19:14     ` Russell King - ARM Linux
2018-11-05 19:21       ` Ard Biesheuvel

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=20181105184438.19494-1-ard.biesheuvel@linaro.org \
    --to=ard.biesheuvel@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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).