aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMichal Simek2022-06-24 14:14:59 +0200
committerMichal Simek2022-06-24 14:14:59 +0200
commit10fd6d64c747a0267a3735cc64d108cdbde6aeb4 (patch)
treef2f98ea2c3f97beccf21938a0f06d15f4f13cdac /arch
parent89e81e6c32bba4b92172019068b81c025698395a (diff)
microblaze: Enable REMAKE_ELF
Enable u-boot.elf recreation from u-boot.bin to prepare for removing manul relocation. Enable option for big endian configuration but it is not used too much that's why it is completely untested. By supporting this system there is a need to define LITTLE/BIG endian Kconfig options to pass -EL/-EB flags. Full command line for u-boot.elf recreation looks like this: microblazeel-xilinx-linux-gnu-objcopy -I binary -B microblaze \ -O elf32-microblazeel u-boot.bin u-boot-elf.o Signed-off-by: Michal Simek <michal.simek@amd.com> Link: https://lore.kernel.org/r/7e242a519fcd1c693b9103c5599b515af555ca43.1655299267.git.michal.simek@amd.com
Diffstat (limited to 'arch')
-rw-r--r--arch/Kconfig6
-rw-r--r--arch/microblaze/config.mk6
2 files changed, 9 insertions, 3 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index 4851300e9bb..02de32f9c77 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -448,7 +448,7 @@ source "arch/riscv/Kconfig"
source "board/keymile/Kconfig"
-if MIPS
+if MIPS || MICROBLAZE
choice
prompt "Endianness selection"
@@ -460,11 +460,11 @@ choice
config SYS_BIG_ENDIAN
bool "Big endian"
- depends on SUPPORTS_BIG_ENDIAN
+ depends on (SUPPORTS_BIG_ENDIAN && MIPS) || MICROBLAZE
config SYS_LITTLE_ENDIAN
bool "Little endian"
- depends on SUPPORTS_LITTLE_ENDIAN
+ depends on (SUPPORTS_LITTLE_ENDIAN && MIPS) || MICROBLAZE
endchoice
diff --git a/arch/microblaze/config.mk b/arch/microblaze/config.mk
index de5b97e719c..3e84a832fc1 100644
--- a/arch/microblaze/config.mk
+++ b/arch/microblaze/config.mk
@@ -16,3 +16,9 @@ LDFLAGS_FINAL += --gc-sections
ifeq ($(CONFIG_SPL_BUILD),)
PLATFORM_CPPFLAGS += -fPIC
endif
+
+ifeq ($(CONFIG_SYS_LITTLE_ENDIAN),y)
+PLATFORM_ELFFLAGS += -B microblaze $(OBJCOPYFLAGS) -O elf32-microblazeel
+else
+PLATFORM_ELFFLAGS += -B microblaze $(OBJCOPYFLAGS) -O elf32-microblaze
+endif