Message ID | cover.1655299267.git.michal.simek@amd.com |
---|---|
Headers | show |
Series | microblaze: Add support for full relocation | expand |
st 15. 6. 2022 v 15:21 odesÃlatel Michal Simek <monstr@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