[PATCH v4 00/23] microblaze: Add support for full relocation

Michal Simek monstr at monstr.eu
Fri Jun 24 14:15:16 CEST 2022


st 15. 6. 2022 v 15:21 odesílatel Michal Simek <monstr at monstr.eu> napsal:
>
> 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 by gitlab CI.
>
> I incorrectly squashed m68k change to wrong patch. V4 fixes it.
>
> Thanks,
> Michal
>
> Changes in v4:
> - Revert incorrect m68k merge - wrong patch
> - Aligned NEEDS_MANUAL_RELOC for m68k
>
> 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
>

Applied.
M

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs


More information about the U-Boot mailing list