[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