mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-04 12:04:17 +00:00

CONFIG_STANDALONE_LOAD_ADDR has been used for examples/standalone but not for examples/api. The suitability of an address to load an ELF binary and run it does not only depend on the architecture but also on the memory layout of the board which is not reflected in the default value of CONFIG_STANDALONE_LOAD_ADDR. Commit32b7e39db4
("Convert CONFIG_STANDALONE_LOAD_ADDR to Kconfig") set the default on RISC-V to 0x0 though most boards used 0x80200000 before the patch. On most boards we can assume 8 MiB of memory available above $loadaddr. So we can safely use $loadaddr + 4 MiB as load address for the standalone example and eliminate CONFIG_STANDALONE_LOAD_ADDR altogether. Fixes:32b7e39db4
("Convert CONFIG_STANDALONE_LOAD_ADDR to Kconfig") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
78 lines
2.1 KiB
Makefile
78 lines
2.1 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# (C) Copyright 2000-2013
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
#########################################################################
|
|
|
|
# This file is included from ./Makefile and spl/Makefile.
|
|
# Clean the state to avoid the same flags added twice.
|
|
#
|
|
# (Tegra needs different flags for SPL.
|
|
# That's the reason why this file must be included from spl/Makefile too.
|
|
# If we did not have Tegra SoCs, build system would be much simpler...)
|
|
PLATFORM_RELFLAGS :=
|
|
PLATFORM_CPPFLAGS :=
|
|
LDFLAGS_FINAL :=
|
|
LDFLAGS_STANDALONE :=
|
|
OBJCOPYFLAGS :=
|
|
# clear VENDOR for tcsh
|
|
VENDOR :=
|
|
#########################################################################
|
|
|
|
ARCH := $(CONFIG_SYS_ARCH:"%"=%)
|
|
CPU := $(CONFIG_SYS_CPU:"%"=%)
|
|
ifdef CONFIG_XPL_BUILD
|
|
ifdef CONFIG_ARCH_TEGRA
|
|
CPU := arm720t
|
|
endif
|
|
endif
|
|
BOARD := $(CONFIG_SYS_BOARD:"%"=%)
|
|
ifneq ($(CONFIG_SYS_VENDOR),)
|
|
VENDOR := $(CONFIG_SYS_VENDOR:"%"=%)
|
|
endif
|
|
ifneq ($(CONFIG_SYS_SOC),)
|
|
SOC := $(CONFIG_SYS_SOC:"%"=%)
|
|
endif
|
|
|
|
# Some architecture config.mk files need to know what CPUDIR is set to,
|
|
# so calculate CPUDIR before including ARCH/SOC/CPU config.mk files.
|
|
# Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains
|
|
# CPU-specific code.
|
|
CPUDIR=arch/$(ARCH)/cpu$(if $(CPU),/$(CPU),)
|
|
|
|
sinclude $(srctree)/arch/$(ARCH)/config.mk # include architecture dependend rules
|
|
sinclude $(srctree)/$(CPUDIR)/config.mk # include CPU specific rules
|
|
|
|
ifdef SOC
|
|
sinclude $(srctree)/$(CPUDIR)/$(SOC)/config.mk # include SoC specific rules
|
|
endif
|
|
ifneq ($(BOARD),)
|
|
ifdef VENDOR
|
|
BOARDDIR = $(VENDOR)/$(BOARD)
|
|
ENVDIR=${vendor}/env
|
|
else
|
|
BOARDDIR = $(BOARD)
|
|
ENVDIR=${board}/env
|
|
endif
|
|
endif
|
|
ifdef BOARD
|
|
sinclude $(srctree)/board/$(BOARDDIR)/config.mk # include board specific rules
|
|
endif
|
|
|
|
ifdef FTRACE
|
|
PLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE
|
|
endif
|
|
|
|
#########################################################################
|
|
|
|
RELFLAGS := $(PLATFORM_RELFLAGS)
|
|
|
|
PLATFORM_CPPFLAGS += $(RELFLAGS)
|
|
PLATFORM_CPPFLAGS += -pipe
|
|
|
|
LDFLAGS_FINAL += -Bstatic
|
|
|
|
export PLATFORM_CPPFLAGS
|
|
export RELFLAGS
|
|
export LDFLAGS_FINAL
|
|
export LDFLAGS_STANDALONE
|