17 Sep, 2014
2 commits
-
Files added $(extra-) are removed by "make clean".
Besides, wildcard "*.srec *.bin" is simpler.Signed-off-by: Masahiro Yamada
-
Now GCC_VERSION is defined in include/linux/compiler-gcc.h
(with a little different definition).
Use it and delete the one in examples/standlone/stub.c.This should work on Clang too because __GNUC__, __GNUC_MINOR__,
__GNUC_PATCHLEVEL__ are also defined on Clang.Signed-off-by: Masahiro Yamada
Cc: Jeroen Hofstee
24 May, 2014
1 commit
-
In case of multilib-enabled toolchains if default architecture differ from
the one examples are being built for linker will fail to link example object
files with libgcc of another (non-compatible) architecture.Interesting enough for years in main Makefile we used CFLAGS/c_flags for this
but not for examples.So fixing it now.
Signed-off-by: Alexey Brodkin
Cc: Masahiro Yamada
Cc: Tom Rini
Cc: Wolfgang Denx
Acked-by: WOlfgang Denk
Acked-by: Masahiro Yamada
18 Apr, 2014
1 commit
-
Signed-off-by: Masahiro Yamada
07 Mar, 2014
2 commits
-
Before this commit, CONFIG_MPC8260 and CONFIG_8260
were used mixed-up.All boards with mpc8260 cpu defined both of them:
- CONFIG_MPC8260 was defined in board config headers
and include/common.h
- CONFIG_8260 was defined arch/powerpc/cpu/mpc8260/config.mkWe do not need to have both of them.
This commit keeps only CONFIG_MPC8260.This commit does:
- Delete CONFIG_8260 and CONFIG_MPC8260 definition
in config headers and include/common.h
- Rename CONFIG_8260 to CONFIG_MPC8260
in arch/powerpc/cpu/mpc8260/config.mk.
- Rename #ifdef CONFIG_8260 to #ifdef CONFIG_MPC8260Signed-off-by: Masahiro Yamada
Cc: Wolfgang Denk -
Kbuild brought about many advantages for us but a significant
performance regression was reported by Simon Glass.After some discussions and analysis, it turned out
its main cause is in $(call cc-option,...).Historically, U-Boot parses all config.mk
(arch/*/config.mk and board/*/config.mk)
every time descending into subdirectories.
That means cc-options are evaluated over and over again.$(call cc-option,...) is useful but costly.
So we want to evaluate them only in ./Makefile
and spl/Makefile and export compiler flags.This commit changes the build system as follows:
- Modify scripts/Makefile.build to not include config.mk
Instead, add $(PLATFORM_CPPFLAGS) to asflags-y, ccflags-y,
cppflags-y.- Export many variables
Going forward, Kbuild will not parse config.mk files
when it descends into subdirectories.
If we want to set variables in config.mk and use them
in subdirectories, they must be exported.This is the list of variables to get exported:
PLATFORM_CPPFLAGS
CPUDIR
BOARDDIR
OBJCOPYFLAGS
LDFLAGS
LDFLAGS_FINAL
(used in nand_spl/board/*/*/Makefile)
CONFIG_STANDALONE_LOAD_ADDR
(used in examples/standalone/Makefile)
SYM_PREFIX
(used in examples/standalone/Makefile)
RELFLAGS
(used in examples/standalone/Makefile)- Delete CPPFLAGS
This variable has been replaced with PLATFORM_CPPFLAGS- Copy gcclibdir from example/standalone/Makefile
to arch/sparc/config.mk
The reference in CONFIG_STANDALONE_LOAD_ADDR must be
resolved before it is exported.Signed-off-by: Masahiro Yamada
Reported-by: Simon Glass
Acked-by: Simon Glass
Tested-by: Simon Glass [on Sandbox]
Tested-by: Stephen Warren [on Tegra]
26 Feb, 2014
2 commits
-
Signed-off-by: Masahiro Yamada
-
Signed-off-by: Masahiro Yamada
20 Feb, 2014
6 commits
-
Signed-off-by: Masahiro Yamada
-
Now we are ready to switch over to real Kbuild.
This commit disables temporary scripts:
scripts/{Makefile.build.tmp, Makefile.host.tmp}
and enables real Kbuild scripts:
scripts/{Makefile.build,Makefile.host,Makefile.lib}.This switch is triggered by the line in scripts/Kbuild.include
-build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
+build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build objWe need to adjust some build scripts for U-Boot.
But smaller amount of modification is preferable.Additionally, we need to fix compiler flags which are
locally added or removed.In Kbuild, it is not allowed to change CFLAGS locally.
Instead, ccflags-y, asflags-y, cppflags-y,
CFLAGS_$(basetarget).o, CFLAGS_REMOVE_$(basetarget).o
are prepared for that purpose.Signed-off-by: Masahiro Yamada
Tested-by: Gerhard Sittig -
This commit changes the working directory
where the build process occurs.Before this commit, build process occurred under the source
tree for both in-tree and out-of-tree build.That's why we needed to add $(obj) prefix to all generated
files in makefiles like follows:
$(obj)u-boot.bin: $(obj)u-bootHere, $(obj) is empty for in-tree build, whereas it points
to the output directory for out-of-tree build.And our old build system changes the current working directory
with "make -C " syntax when descending into the
sub-directories.On the other hand, Kbuild uses a different idea
to handle out-of-tree build and directory descending.The build process of Kbuild always occurs under the output tree.
When "O=dir/to/store/output/files" is given, the build system
changes the current working directory to that directory and
restarts the make.Kbuild uses "make -f $(srctree)/scripts/Makefile.build obj="
syntax for descending into sub-directories.
(We can write it like "make $(obj)=" with a shorthand.)
This means the current working directory is always the top
of the output directory.Signed-off-by: Masahiro Yamada
Tested-by: Gerhard Sittig -
This commit moves some flags which are used
under examples/ directory only.Signed-off-by: Masahiro Yamada
-
This commit moves suffix rules from config.mk
to scripts/Makefile.build, which will allow us
to switch smoothly to real Kbuild.Note1:
post/lib_powerpc/fpu/Makefile has
its own rule to compile C sources.
We need to tweak it to keep the same behavior.Note2:
There are two file2 with the same name:
arch/arm/lib/crt0.S and eamples/api/crt0.S.
To keep the same build behavior,
examples/api/Makefile also has to be treaked.Signed-off-by: Masahiro Yamada
-
Signed-off-by: Masahiro Yamada
07 Feb, 2014
1 commit
-
Signed-off-by: Alexey Brodkin
Cc: Vineet Gupta
Cc: Francois Bedard
Cc: Wolfgang Denk
Cc: Heiko Schocher
10 Jan, 2014
1 commit
-
Bringing in the MMC tree means that CONFIG_BOUNCE_BUFFER needed to be
added to include/configs/exynos5-dt.h now.Conflicts:
include/configs/exynos5250-dt.hSigned-off-by: Tom Rini
09 Jan, 2014
1 commit
-
Relocation code based on a patch by Scott Wood, which is:
Signed-off-by: Scott WoodSigned-off-by: David Feng
16 Dec, 2013
3 commits
-
Signed-off-by: Masahiro Yamada
-
Commit fea25720 renamed arch/i386 to arch/x86.
But it missed to modify examples/standalone/Makefile.Since then, examples/standalone/82559_eeprom has
never compiled and nobody has noticed that.After some discussion on ML, we agreed to delete this example.
Signed-off-by: Masahiro Yamada
-
Convert like follows:
CPU mpc83xx -> CONFIG_MPC83xx
CPU mpc85xx -> CONFIG_MPC85xx
CPU mpc86xx -> CONFIG_MPC86xx
CPU mpc5xxx -> CONFIG_MPC5xxx
CPU mpc8xx -> CONFIG_8xx
CPU mpc8260 -> CONFIG_8260
CPU ppc4xx -> CONFIG_4xx
CPU x86 -> CONFIG_X86
ARCH x86 -> CONFIG_X86
ARCH powerpc -> CONFIG_PPCSigned-off-by: Masahiro Yamada
12 Dec, 2013
1 commit
-
The standalone programs do not use the api calls, but rely
directly on u-boot variable gd->jt for the jump table. Commit
fe1378a - "ARM: use r9 for gd" changed the register holding
the address of gd, but the assembly code in the standalone
examples was not updated accordingly. This broke the programs
on ARM relying on the jumptable in the v2013.10 release.
This patch unbricks them by using the correct register.Cc: Michal Simek
Cc: Albert ARIBAUD
Signed-off-by: Jeroen Hofstee
25 Nov, 2013
2 commits
-
All objects under api/ and examples/api/ directories are selected
by CONFIG_API.
So we can move CONFIG_API switch to the top Makefile.In order to use CONFIG_API, the definition of SUBDIR_EXAMPLES-y
must be moved after "sinlude $(obj)include/autoconf.mk".Signed-off-by: Masahiro Yamada
-
Signed-off-by: Masahiro Yamada
16 Nov, 2013
1 commit
-
Commit 309a292e deleted OXC board, but
missed to remove the standalone example specific to OXC board.eepro100_eeprom.c has been an orphan file for a long term.
Signed-off-by: Masahiro Yamada
08 Nov, 2013
1 commit
-
Signed-off-by: Masahiro Yamada
05 Nov, 2013
1 commit
-
This fixes building time.c when unreferenced functions are added.
Signed-off-by: Rob Herring
20 Sep, 2013
1 commit
-
Fix various misspellings of things like "environment", "kernel",
"default" and "volatile", and throw in a couple grammar fixes.Signed-off-by: Robert P. J. Day
12 Sep, 2013
1 commit
-
After further testing, this patch has two problems. First,
examples/standalone/Makefile was already inherting PLATFORM_LIBS from
the top-level Makefile so this lead to duplicating the private libgcc.
Second, currently the private libgcc has a reference to 'hang' that is
not being fulfilled.This reverts commit 4412db46468d5965da736d06f84d13e68a6e0b51.
Signed-off-by: Tom Rini
07 Sep, 2013
1 commit
-
Add support for defining the gcc lib in standalone examples as is
done in the main u-boot MakefileSigned-off-by: Jack Mitchell
24 Jul, 2013
2 commits
-
Signed-off-by: Wolfgang Denk
-
Signed-off-by: Wolfgang Denk
[trini: Fixup common/cmd_io.c]
Signed-off-by: Tom Rini
12 Jun, 2013
1 commit
-
C99's strict aliasing rules are insane to use in low-level code such as a
bootloader, but as Wolfgang has rejected -fno-strict-aliasing in the
past, add a union so that 16-bit accesses can be performed.Compile-tested only.
Signed-off-by: Scott Wood
Acked-by: Wolfgang Denk
16 Mar, 2013
1 commit
-
We can use the declarations of __bss_start and _end from this header
instead of declaring them locally.Signed-off-by: Simon Glass
04 Feb, 2013
1 commit
-
Move these fields into arch_global_data and tidy up.
Signed-off-by: Simon Glass
22 Oct, 2012
1 commit
-
Add section for the linker-generated lists into all possible linker
files, so that everyone can easily use these lists. This is mostly
a mechanical adjustment.Signed-off-by: Marek Vasut
Cc: Joe Hershberger
Cc: Mike Frysinger
16 Oct, 2012
1 commit
-
Both big-endian and little-endian are tested with below commands:
Rom version: (Default, Now we config it as rom version)
qemu-system-mips64el -M mips -bios u-boot.bin -cpu MIPS64R2-generic -nographic
qemu-system-mips64 -M mips -bios u-boot.bin -cpu MIPS64R2-generic -nographic
Ram version:
qemu-system-mips64el -M mips -cpu MIPS64R2-generic -kernel u-boot -nographic
qemu-system-mips64 -M mips -cpu MIPS64R2-generic -kernel u-boot -nographicSigned-off-by: Zhizhou Zhang
Signed-off-by: Daniel Schwierzeck
27 Mar, 2012
1 commit
-
The LD command in examples/standalone/Makefile ignored platform specific
LDFLAGS setup. Pass these LDFLAGS to the command.Signed-off-by: Marek Vasut
Cc: Bryan Hundven
Cc: Michael Schwingen
14 Jan, 2012
1 commit
-
Signed-off-by: Stefan Kristiansson
07 Dec, 2011
1 commit
-
Modify exports.h to remove its dependencies on other files, thus
enabling standalone apps to require only exports.h from the U-Boot
source tree. This appears to be the intent based on the following
note: http://lists.denx.de/pipermail/u-boot/2010-January/067174.htmlSigned-off-by: Mike Partington
16 Nov, 2011
1 commit
-
This patch exports LCD info-query and bitmap-rendering functions to
external apps.This patch is tested on a Seaboard. Because the LCD driver is not yet
upstreamed, the test was done in a local downstream repo.Signed-off-by: Che-Liang Chiou