]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
microblaze: drop remnants of manual reloc
authorOvidiu Panait <ovpanait@gmail.com>
Sat, 11 Mar 2023 17:38:38 +0000 (19:38 +0200)
committerMichal Simek <michal.simek@amd.com>
Mon, 13 Mar 2023 10:46:17 +0000 (11:46 +0100)
Runtime relocation has been made the default for microblaze, so do the
following cleanups:
- drop all manual reloc codepaths in start.S
- drop all STATIC_RELA ifdefs, as it is now enabled unconditionally in
Kconfig

Reviewed-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
Link: https://lore.kernel.org/r/20230311173838.521804-5-ovpanait@gmail.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
arch/microblaze/config.mk
arch/microblaze/cpu/Makefile
arch/microblaze/cpu/start.S

index 467c5ca1b12f852659800c53eaa29af3ff7255ee..64c3f3131955d10ea38f5e5d7e753c27945c5d55 100644 (file)
@@ -13,10 +13,6 @@ LDFLAGS_FINAL += --gc-sections
 
 ifeq ($(CONFIG_SPL_BUILD),)
 PLATFORM_CPPFLAGS += -fPIC
-endif
-
-ifeq ($(CONFIG_STATIC_RELA),y)
-PLATFORM_CPPFLAGS += -fPIC
 LDFLAGS_u-boot += -pic
 endif
 
index 1c586a7de023ccaf1985f590f01571b9d72a0068..b8c1dcbe14f0fe5092a69f0b5a0ef380866601a2 100644 (file)
@@ -5,7 +5,6 @@
 
 extra-y        = start.o
 obj-y  = irq.o
-obj-y  += interrupts.o cache.o exception.o cpuinfo.o
-obj-$(CONFIG_STATIC_RELA)      += relocate.o
+obj-y  += interrupts.o cache.o exception.o cpuinfo.o relocate.o
 obj-$(CONFIG_XILINX_MICROBLAZE0_PVR) += pvr.o
 obj-$(CONFIG_SPL_BUILD)        += spl.o
index 7079d9e17047aad4bf4d483022a4c496a1c38ddb..c1e0fcda0a47446f14629d3ae3e4283727d1ac8a 100644 (file)
 #include <asm-offsets.h>
 #include <config.h>
 
-#if defined(CONFIG_STATIC_RELA)
 #define SYM_ADDR(reg, reg_add, symbol) \
        mfs     r20, rpc; \
        addik   r20, r20, _GLOBAL_OFFSET_TABLE_ + 8; \
        lwi     reg, r20, symbol@GOT; \
        addk    reg, reg reg_add;
-#else
-#define SYM_ADDR(reg, reg_add, symbol) \
-       addi    reg, reg_add, symbol
-#endif
 
        .text
        .global _start
@@ -35,7 +30,6 @@ _start:
        addi    r1, r0, CONFIG_SPL_STACK
 #else
        add     r1, r0, r20
-#if defined(CONFIG_STATIC_RELA)
        bri     1f
 
        /* Force alignment for easier ASM code below */
@@ -67,7 +61,6 @@ uboot_sym_start:
 
        brlid   r15, mb_fix_rela
        nop
-#endif
 #endif
 
        addi    r1, r1, -4      /* Decrement SP to top of memory */
@@ -310,7 +303,6 @@ relocate_code:
        brlid   r15, __setup_exceptions
        nop
 
-#if defined(CONFIG_STATIC_RELA)
        /* reloc_offset is current location */
        SYM_ADDR(r10, r0, _start)
 
@@ -331,27 +323,7 @@ relocate_code:
        add     r9, r9, r5
        brlid   r15, mb_fix_rela
        nop
-
        /* end of code which does relocation */
-#else
-       /* Check if GOT exist */
-       addik   r21, r23, _got_start
-       addik   r22, r23, _got_end
-       cmpu    r12, r21, r22
-       beqi    r12, 2f /* No GOT table - jump over */
-
-       /* Skip last 3 entries plus 1 because of loop boundary below */
-       addik   r22, r22, -0x10
-
-        /* Relocate the GOT. */
-3:     lw      r12, r21, r0 /* Load entry */
-       addk    r12, r12, r23 /* Add reloc offset */
-       sw      r12, r21, r0 /* Save entry back */
-
-       cmpu    r12, r21, r22 /* Check if this cross boundary */
-       bneid   r12, 3b
-       addik   r21. r21, 4
-#endif
 
        /* Flush caches to ensure consistency */
        brlid   r15, flush_cache_all