23 Jan, 2018
1 commit
-
For debugging efi_loader we need the capability to print EFI
device paths. With this patch we can write:debug("device path: %pD", dp);
A possible output would be
device path: /MemoryMapped(0x0,0x3ff93a82,0x3ff93a82)
This enhancement is not available when building without EFI support
and neither in the SPL nor in the API example.A test is provided. It can be executed in the sandbox with command
ut_print.The development for EFI support in the sandbox is currently in
branch u-boot-dm/efi-working. The branch currently lacks
commit 6ea8b580f06b ("efi_loader: correct DeviceNodeToText
for media types"). Ater rebasing the aforementioned branch on
U-Boot v2018.01 the test is executed successfully.Without EFI support in the sandbox the test is simply skipped.
Suggested-by: Rob Clark
Signed-off-by: Heinrich Schuchardt
Reviewed-by: Simon Glass
Signed-off-by: Alexander Graf
12 Jan, 2018
1 commit
-
Run hello_world successfully.
U-Boot 2018.01-rc2-00033-gb265b91-dirty (Dec 22 2017 - 13:54:21 +0800)
DRAM: 1 GiB
MMC: mmc@f0e00000: 0
SF: Detected mx25u1635e with page size 256 Bytes, erase size 4 KiB, total 2 MiB
In: serial@f0300000
Out: serial@f0300000
Err: serial@f0300000
Net:
Warning: mac@e0100000 (eth0) using random MAC address - 0a:47:9b:f8:b4:f2
eth0: mac@e0100000
RISC-V # mmc rescan
RISC-V # fatls mmc 0:1
318907 u-boot-ae250-64.bin
1252 hello_world_ae250_32.bin
328787 u-boot-ae250-32.bin3 file(s), 0 dir(s)
RISC-V # fatload mmc 0:1 0x600000 hello_world_ae250_32.bin
reading hello_world_ae250_32.bin
1252 bytes read in 23 ms (52.7 KiB/s)
RISC-V # go 0x600000
Example expects ABI version 9
Actual U-Boot ABI version 9
Hello World
argc = 1
argv[0] = "0x600000"
argv[1] = "$B@"
Hit any key to exit ...RISC-V #
Signed-off-by: Rick Chen
Signed-off-by: Rick Chen
Signed-off-by: Greentime Hu
13 Sep, 2017
3 commits
-
Solves build issue:
Building current source for 134 boards (12 threads, 1 job per thread)
arm: + lsxhl
+examples/api/vsprintf.o: In function `string16':
+lib/vsprintf.c:278: undefined reference to `memcpy'
+examples/api/uuid.o: In function `uuid_bin_to_str':
+lib/uuid.c:197: undefined reference to `memcpy'
+lib/uuid.c:199: undefined reference to `memcpy'
+make[3]: *** [examples/api/demo] Error 1
+make[2]: *** [examples/api] Error 2
+make[1]: *** [examples] Error 2
+make: *** [sub-make] Error 2
133 0 1 /134 sheevaplugSigned-off-by: Rob Clark
-
This works (roughly) the same way as linux's, but we currently always
print lower-case (ie. we just keep %pUB and %pUL for compat with linux),
mostly just because that is what uuid_bin_to_str() supports.%pUb: 01020304-0506-0708-090a-0b0c0d0e0f10
%pUl: 04030201-0605-0807-090a-0b0c0d0e0f10It will be used by a later efi_loader paths for efi variables and for
device-path-to-text protocol, and also quite useful for debug prints
of protocol GUIDs.Signed-off-by: Rob Clark
Tested-by: Heinrich Schuchardt
Reviewed-by: Simon Glass -
This is convenient for efi_loader which deals a lot with UTF-16. Only
enabled with CC_SHORT_WCHAR, leaving room to add a UTF-32 version when
CC_SHORT_WCHAR is not enabled.Signed-off-by: Rob Clark
Reviewed-by: Simon Glass
Reviewed-by: Simon Glass
07 Jul, 2017
1 commit
-
AVR32 is gone. It's already more than two years for no support in Buildroot,
even longer there is no support in GCC (last version is heavily patched 4.2.4).Linux kernel v4.12 got rid of it (and v4.11 didn't build successfully).
There is no good point to keep this support in U-Boot either.
Reviewed-by: Simon Glass
Reviewed-by: Tom Rini
Reviewed-by: Heiko Schocher
Signed-off-by: Andy Shevchenko
16 Jun, 2017
1 commit
-
There was for long time no activity in the mpx5xxx area.
We need to go further and convert to Kconfig, but it
turned out, nobody is interested anymore in mpc5xxx,
so remove it.Signed-off-by: Heiko Schocher
12 Jun, 2017
2 commits
-
There was for long time no activity in the 8260 area.
We need to go further and convert to Kconfig, but it
turned out, nobody is interested anymore in 8260,
so remove it.Signed-off-by: Heiko Schocher
-
There was for long time no activity in the 8xx area.
We need to go further and convert to Kconfig, but it
turned out, nobody is interested anymore in 8xx,
so remove it (with a heavy heart, knowing that I remove
here the root of U-Boot).Signed-off-by: Heiko Schocher
06 Apr, 2017
3 commits
-
The OpenRISC architecture is currently unmaintained, remove.
Cc: Stefan Kristiansson
Signed-off-by: Tom Rini
Reviewed-by: Simon Glass -
The SPARC architecture is currently unmaintained, remove.
Cc: Francois Retief
Signed-off-by: Tom Rini -
The architecture is currently unmaintained, remove.
Cc: Benjamin Matthews
Cc: Chong Huang
Cc: Dimitar Penev
Cc: Haitao Zhang
Cc: I-SYST Micromodule
Cc: M.Hasewinkel (MHA)
Cc: Marek Vasut
Cc: Martin Strubel
Cc: Peter Meerwald
Cc: Sonic Zhang
Cc: Valentin Yakovenkov
Cc: Wojtek Skulski
Cc: Wojtek Skulski
Signed-off-by: Tom Rini
21 Jan, 2017
1 commit
-
We have long had available optimized versions of the memset and memcpy
functions that are borrowed from the Linux kernel. We should use these
in normal conditions as the speed wins in many workflows outweigh the
relatively minor size increase. However, we have a number of places
where we're simply too close to size limits in SPL and must be able to
make the size vs performance trade-off in those cases.Cc: Philippe Reynes
Cc: Eric Jarrige
Cc: Heiko Schocher
Cc: Magnus Lilja
Cc: Lokesh Vutla
Cc: Chander Kashyap
Cc: Akshay Saraswat
Cc: Simon Glass
Cc: Stefan Roese
Signed-off-by: Tom Rini
Acked-by: Stefan Roese
Reviewed-by: Simon Glass
27 Sep, 2016
1 commit
-
trini: Drop local memset() from
examples/standalone/mem_to_mem_idma2intr.cSigned-off-by: Tom Rini
16 Aug, 2016
1 commit
-
The Xtensa processor architecture is a configurable, extensible,
and synthesizable 32-bit RISC processor core provided by Cadence.This is the first part of the basic architecture port with changes to
common files. The 'arch/xtensa' directory, and boards and additional
drivers will be in separate commits.Signed-off-by: Chris Zankel
Signed-off-by: Max Filippov
Reviewed-by: Simon Glass
Reviewed-by: Tom Rini
21 May, 2016
2 commits
-
Signed-off-by: Stanislav Galabov
-
Specifically tested on MIPS under QEMU (works with all combination of bit-ness and endian-ness)
Signed-off-by: Stanislav Galabov
08 Feb, 2016
1 commit
-
This patch adds U-Boot API support (used by FreeBSD loader) for MIPS platforms.
Signed-off-by: Stanislav Galabov
06 Feb, 2016
1 commit
-
Correct spelling of "U-Boot" shall be used in all written text
(documentation, comments in source files etc.).Signed-off-by: Bin Meng
Reviewed-by: Heiko Schocher
Reviewed-by: Simon Glass
Reviewed-by: Minkyu Kang
23 Nov, 2015
1 commit
-
This patch adds a small printf() version that supports all basic formats.
Its intented to be used in U-Boot SPL versions on platforms with very
limited internal RAM sizes.To enable it, just define CONFIG_USE_TINY_PRINTF in your defconfig. This
will result in the SPL using this tiny function and the main U-Boot
still using the full-blown printf() function.This code was copied from:
http://www.sparetimelabs.com/printfrevisited
With mostly only coding style related changes so that its checkpatch
clean.The size reduction is about 2.5KiB. Here a comparison for the db-mv784mp-gp
(Marvell AXP) SPL:Without this patch:
58963 18536 1928 79427 13643 ./spl/u-boot-splWith this patch:
56542 18536 1956 77034 12cea ./spl/u-boot-splNote:
To make it possible to compile tiny-printf.c instead of vsprintf.c when
CONFIG_USE_TINY_PRINTF is defined, the functions printf() and vprintf() are
moved from common/console.c into vsprintf.c in this patch.Signed-off-by: Stefan Roese
Cc: Simon Glass
Cc: Hans de Goede
Cc: Tom Rini
Cc: Albert Aribaud
20 Nov, 2015
1 commit
-
The console includes a global variable and several functions that are only
used by a small subset of U-Boot files. Before adding more functions, move
the definitions into their own header file.Signed-off-by: Simon Glass
11 Nov, 2015
1 commit
10 Nov, 2015
2 commits
-
After consulting with some of the SPDX team, the conclusion is that
Makefiles are worth adding SPDX-License-Identifier tags too, and most of
ours have one. This adds tags to ones that lack them and converts a few
that had full (or in one case, very partial) license blobs into the
equivalent tag.Cc: Kate Stewart
Signed-off-by: Tom Rini -
When building a Thumb-1-only target with CONFIG_SYS_THUMB_BUILD,
some files fail to build, most of the time because they include
mcr instructions, which only exist for Thumb-2.This patch introduces a Kconfig option CONFIG_THUMB2 and uses
it to select between Thumb-2 and ARM mode for the aforementioned
files.Signed-off-by: Albert ARIBAUD
20 May, 2015
1 commit
-
We really don't want boards defining fixed MAC addresses in their config
so we just remove the option to set it in a fixed way. If you must have
a MAC address that was not provisioned, then use the random MAC address
functionality.Signed-off-by: Joe Hershberger
Reviewed-by: Simon Glass
30 Jan, 2015
1 commit
-
this is an atempt to make the export of functions typesafe.
I replaced the jumptable void ** by a struct (jt_funcs) with function pointers.
The EXPORT_FUNC macro now has 3 fixed parameters and one
variadic parameter
The first is the name of the exported function,
the rest of the parameters are used to format a functionpointer
in the jumptable,the EXPORT_FUNC macros are expanded three times,
1. to declare the members of the struct
2. to initialize the structmember pointers
3. to call the functions in stubs.cSigned-off-by: Martin Dorwig
Acked-by: Simon GlassSigned-off-by: Simon Glass
(resending to the list since my tweaks are not quite trivial)
06 Jan, 2015
1 commit
-
This board is still a non-generic board.
Signed-off-by: Masahiro Yamada
Cc: Wolfgang Denk
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
5 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