public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH 00/22] microblaze: Add support for full relocation
@ 2022-06-02 13:57 Michal Simek
  2022-06-02 13:57 ` [PATCH 01/22] tools: relocate-rela: Open binary u-boot file later Michal Simek
                   ` (21 more replies)
  0 siblings, 22 replies; 23+ messages in thread
From: Michal Simek @ 2022-06-02 13:57 UTC (permalink / raw)
  To: u-boot, git
  Cc: Alistair Delva, Heiko Schocher, Heinrich Schuchardt, Marek Vasut,
	Michal Simek, Ovidiu Panait, Rick Chen, Sean Anderson,
	Simon Glass

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

There is still one more issue with Kconfig and conflict with MIPS but I
want to send it out to be available for review.

Thanks,
Michal


Michal Simek (22):
  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
  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                         |   1 -
 arch/microblaze/Kconfig              |  30 ++
 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 +
 common/board_f.c                     |   2 +
 configs/microblaze-generic_defconfig |   1 +
 include/configs/microblaze-generic.h |   4 -
 tools/relocate-rela.c                | 545 +++++++++++++++++++++++++--
 13 files changed, 780 insertions(+), 78 deletions(-)
 create mode 100644 arch/microblaze/cpu/relocate.c

-- 
2.36.0


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2022-06-02 14:02 UTC | newest]

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox