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
next 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).