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
This commit is contained in:
Michal Simek 2022-06-24 14:14:59 +02:00
parent 89e81e6c32
commit 10fd6d64c7
3 changed files with 10 additions and 3 deletions

View File

@ -448,7 +448,7 @@ source "arch/riscv/Kconfig"
source "board/keymile/Kconfig" source "board/keymile/Kconfig"
if MIPS if MIPS || MICROBLAZE
choice choice
prompt "Endianness selection" prompt "Endianness selection"
@ -460,11 +460,11 @@ choice
config SYS_BIG_ENDIAN config SYS_BIG_ENDIAN
bool "Big endian" bool "Big endian"
depends on SUPPORTS_BIG_ENDIAN depends on (SUPPORTS_BIG_ENDIAN && MIPS) || MICROBLAZE
config SYS_LITTLE_ENDIAN config SYS_LITTLE_ENDIAN
bool "Little endian" bool "Little endian"
depends on SUPPORTS_LITTLE_ENDIAN depends on (SUPPORTS_LITTLE_ENDIAN && MIPS) || MICROBLAZE
endchoice endchoice

View File

@ -16,3 +16,9 @@ LDFLAGS_FINAL += --gc-sections
ifeq ($(CONFIG_SPL_BUILD),) ifeq ($(CONFIG_SPL_BUILD),)
PLATFORM_CPPFLAGS += -fPIC PLATFORM_CPPFLAGS += -fPIC
endif 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

View File

@ -14,6 +14,7 @@ CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
CONFIG_XILINX_MICROBLAZE0_USE_DIV=1 CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1 CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
CONFIG_DISTRO_DEFAULTS=y CONFIG_DISTRO_DEFAULTS=y
CONFIG_REMAKE_ELF=y
CONFIG_FIT=y CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y CONFIG_FIT_VERBOSE=y
CONFIG_BOOTDELAY=-1 CONFIG_BOOTDELAY=-1