public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Michal Simek <monstr@monstr.eu>
To: u-boot@lists.denx.de, git@xilinx.com
Cc: Alistair Delva <adelva@google.com>,
	Angelo Dureghello <angelo@sysam.it>,
	Bin Meng <bmeng.cn@gmail.com>,
	Daniel Schwierzeck <daniel.schwierzeck@gmail.com>,
	Heinrich Schuchardt <xypron.glpk@gmx.de>,
	Huan Wang <alison.wang@nxp.com>, Marek Vasut <marex@denx.de>,
	Michal Simek <monstr@monstr.eu>,
	Ovidiu Panait <ovidiu.panait@windriver.com>,
	Rick Chen <rick@andestech.com>,
	Sean Anderson <sean.anderson@seco.com>,
	Simon Glass <sjg@chromium.org>
Subject: [PATCH v3 00/23] microblaze: Add support for full relocation
Date: Wed, 15 Jun 2022 12:03:37 +0200	[thread overview]
Message-ID: <cover.1655287429.git.michal.simek@amd.com> (raw)

Hi,

this series is adding support for full rela relocation.
Origin NEEDS_MANUAL_RELOC option is still there as default.

Code has been tested with multiple configurations on QEMU.
- Origin behavior - u-boot
- Relocated version - u-boot.elf
- Loading u-boot.bin to higher address than TEXT_BASE
- Loading u-boot.bin to lower address than TEXT_BASE

In v2 I fixed Kconfig issue reported in v1 series.

In v3 fix issues reported byt gitlab CI.

Thanks,
Michal

Changes in v3:
- Move NEEDS_MANUAL_RELOC to m68k Kconfig to avoid Kconfig issues

Changes in v2:
- new patch in series to solve Kconfig warning
- Fix endian selection

Michal Simek (23):
  tools: relocate-rela: Open binary u-boot file later
  Makefile: Fix description for relocate-rela parameters
  tools: relocate-rela: Use global variables
  tools: relocate-rela: Read rela start/end directly from ELF
  microblaze: Switch absolute branches to relative
  microblaze: Fix stack protection behavior
  microblaze: Fix early stack allocation
  microblaze: Remove CONFIG_TEXT_BASE from code
  microblaze: Fix typo in exception.c
  mips: Move endianness selection to arch/Kconfig
  microblaze: Enable REMAKE_ELF
  microblaze: Separate code end substraction
  microblaze: Change stack protection address to new stack address
  microblaze: Optimize register usage in relocate_code
  microblaze: Remove code around r20 in relocate_code()
  microblaze: Remove _start symbol handling at U-Boot start
  microblaze: Add comment about reset location
  microblaze: Create SYM_ADDR macro to deal with symbols
  tools: relocate-rela: Extract elf64 reloc to special function
  tools: relocate-rela: Check that relocation works only for EM_AARCH64
  tools: relocate-rela: Add support for elf32 decoding
  tools: relocate-rela: Add support for 32bit Microblaze relocation
  microblaze: Add support for run time relocation

 Makefile                             |   6 +-
 arch/Kconfig                         |  26 +-
 arch/m68k/Kconfig                    |   3 +
 arch/microblaze/Kconfig              |  14 +
 arch/microblaze/config.mk            |  11 +
 arch/microblaze/cpu/Makefile         |   1 +
 arch/microblaze/cpu/exception.c      |   2 +-
 arch/microblaze/cpu/relocate.c       | 111 ++++++
 arch/microblaze/cpu/start.S          | 130 +++++--
 arch/microblaze/cpu/u-boot.lds       |  14 +
 arch/mips/Kconfig                    |  18 -
 common/board_f.c                     |   2 +
 configs/microblaze-generic_defconfig |   1 +
 include/configs/microblaze-generic.h |   4 -
 tools/relocate-rela.c                | 545 +++++++++++++++++++++++++--
 15 files changed, 789 insertions(+), 99 deletions(-)
 create mode 100644 arch/microblaze/cpu/relocate.c

-- 
2.36.1


             reply	other threads:[~2022-06-15 10:04 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-15 10:03 Michal Simek [this message]
2022-06-15 10:03 ` [PATCH v3 01/23] tools: relocate-rela: Open binary u-boot file later Michal Simek
2022-06-15 10:03 ` [PATCH v3 02/23] Makefile: Fix description for relocate-rela parameters Michal Simek
2022-06-15 10:03 ` [PATCH v3 03/23] tools: relocate-rela: Use global variables Michal Simek
2022-06-15 10:03 ` [PATCH v3 04/23] tools: relocate-rela: Read rela start/end directly from ELF Michal Simek
2022-06-15 10:03 ` [PATCH v3 05/23] microblaze: Switch absolute branches to relative Michal Simek
2022-06-15 10:03 ` [PATCH v3 06/23] microblaze: Fix stack protection behavior Michal Simek
2022-06-15 10:03 ` [PATCH v3 07/23] microblaze: Fix early stack allocation Michal Simek
2022-06-15 10:03 ` [PATCH v3 08/23] microblaze: Remove CONFIG_TEXT_BASE from code Michal Simek
2022-06-15 10:03 ` [PATCH v3 09/23] microblaze: Fix typo in exception.c Michal Simek
2022-06-15 10:03 ` [PATCH v3 10/23] mips: Move endianness selection to arch/Kconfig Michal Simek
2022-06-15 10:03 ` [PATCH v3 11/23] microblaze: Enable REMAKE_ELF Michal Simek
2022-06-15 10:03 ` [PATCH v3 12/23] microblaze: Separate code end substraction Michal Simek
2022-06-15 10:03 ` [PATCH v3 13/23] microblaze: Change stack protection address to new stack address Michal Simek
2022-06-15 10:03 ` [PATCH v3 14/23] microblaze: Optimize register usage in relocate_code Michal Simek
2022-06-15 10:03 ` [PATCH v3 15/23] microblaze: Remove code around r20 in relocate_code() Michal Simek
2022-06-15 10:03 ` [PATCH v3 16/23] microblaze: Remove _start symbol handling at U-Boot start Michal Simek
2022-06-15 10:03 ` [PATCH v3 17/23] microblaze: Add comment about reset location Michal Simek
2022-06-15 10:03 ` [PATCH v3 18/23] microblaze: Create SYM_ADDR macro to deal with symbols Michal Simek
2022-06-15 10:03 ` [PATCH v3 19/23] tools: relocate-rela: Extract elf64 reloc to special function Michal Simek
2022-06-15 10:03 ` [PATCH v3 20/23] tools: relocate-rela: Check that relocation works only for EM_AARCH64 Michal Simek
2022-06-15 10:03 ` [PATCH v3 21/23] tools: relocate-rela: Add support for elf32 decoding Michal Simek
2022-06-15 10:03 ` [PATCH v3 22/23] tools: relocate-rela: Add support for 32bit Microblaze relocation Michal Simek
2022-06-15 10:04 ` [PATCH v3 23/23] microblaze: Add support for run time relocation Michal Simek

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=cover.1655287429.git.michal.simek@amd.com \
    --to=monstr@monstr.eu \
    --cc=adelva@google.com \
    --cc=alison.wang@nxp.com \
    --cc=angelo@sysam.it \
    --cc=bmeng.cn@gmail.com \
    --cc=daniel.schwierzeck@gmail.com \
    --cc=git@xilinx.com \
    --cc=marex@denx.de \
    --cc=ovidiu.panait@windriver.com \
    --cc=rick@andestech.com \
    --cc=sean.anderson@seco.com \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.de \
    /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