16 Jan, 2019
2 commits
-
1. Improve cache implementation.
2. Fix and improve standalone applications -
Based on the following Linux commits:
- 54a702f70589 ("kbuild: mark $(targets) as .SECONDARY and remove
.PRECIOUS markers")- 8e9b61b293d9 ("kbuild: move .SECONDARY special target to
Kbuild.include")GNU Make automatically deletes intermediate files that are updated
in a chain of pattern rules.Example 1) %.dtb.o
15 Jan, 2019
3 commits
-
Add an implementation of EXPORT_FUNC() for RV64I systems to support them
in standalone applications.Signed-off-by: Lukas Auer
Reviewed-by: Bin Meng
Tested-by: Bin Meng -
Register x19 (s3) is a callee-saved register. It must not be used to
load and jump to exported functions without saving it beforehand.
Replace it with t0, a temporary and caller-saved register.Change the code comment to reflect this and fix it to correctly list gp
as the register with the pointer to global data.Signed-off-by: Lukas Auer
Reviewed-by: Bin Meng
Tested-by: Bin Meng -
Standalone applications do not require a separate linker script and can
use the default linker script of the compiler instead. Remove the RISC-V
standalone linker script.Signed-off-by: Lukas Auer
Reviewed-by: Bin Meng
Tested-by: Bin Meng
27 Nov, 2018
1 commit
-
spi_init used in some areas in tree, but the respective
drivers will remove in future patches.So remove the same instances.
Signed-off-by: Jagan Teki
18 Nov, 2018
3 commits
-
Use the global MIPS specific u-boot.lds for linking standalone programs
instead of the outdated ones in examples/standalone/. Also pass --gc-sections
in LDFLAGS_STANDALONE to optimize the size of standalone programs.
Finally remove the deprecated config.mk files in arch/mips/cpu/mips[32,64]/.Signed-off-by: Daniel Schwierzeck
-
Currently the OBJCOPYFLAGS are cleared when assigning "-O srec"
or "-O binary" for standalone programs. All flags set by arch-specific
Makefiles are lost. This is bad if an arch demands arch-specific
flags for the objcopy step.Signed-off-by: Daniel Schwierzeck
Reviewed-by: Tom Rini -
Introduce a new Makefile variable for passing LDFLAGS to standalone
programs. Currently the variable CONFIG_STANDALONE_LOAD_ADDR is
misued on some archs to pass a specific linker script.Signed-off-by: Daniel Schwierzeck
Reviewed-by: Tom Rini
Reviewed-by: Rick Chen
13 Jun, 2018
1 commit
-
Often during debugging session it's very interesting to see
what data we were dealing with. For example what we write or read
to/from memory or peripherals.This change introduces functions that allow to dump binary
data with one simple function invocation like:
------------------->8----------------
print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, buf, len);
------------------->8----------------which gives us the following:
------------------->8----------------
00000000: f2 b7 c9 88 62 61 75 64 72 61 74 65 3d 31 31 35 ....baudrate=115
00000010: 32 30 30 00 62 6f 6f 74 61 72 67 73 3d 63 6f 6e 200.bootargs=con
00000020: 73 6f 6c 65 3d 74 74 79 53 33 2c 31 31 35 32 30 sole=ttyS3,11520
00000030: 30 6e 38 00 62 6f 6f 74 64 65 6c 61 79 3d 33 00 0n8.bootdelay=3.
00000040: 62 6f 6f 74 66 69 6c 65 3d 75 49 6d 61 67 65 00 bootfile=uImage.
00000050: 66 64 74 63 6f 6e 74 72 6f 6c 61 64 64 72 3d 39 fdtcontroladdr=9
00000060: 66 66 62 31 62 61 30 00 6c 6f 61 64 61 64 64 72 ffb1ba0.loadaddr
00000070: 3d 30 78 38 32 30 30 30 30 30 30 00 73 74 64 65 =0x82000000.stde
00000080: 72 72 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32 rr=serial0@e0022
00000090: 30 30 30 00 73 74 64 69 6e 3d 73 65 72 69 61 6c 000.stdin=serial
000000a0: 30 40 65 30 30 32 32 30 30 30 00 73 74 64 6f 75 0@e0022000.stdou
000000b0: 74 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32 30 t=serial0@e00220
000000c0: 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..............
...
------------------->8----------------Source of hexdump.c was copied from Linux kernel v4.7-rc2.
Signed-off-by: Alexey Brodkin
Cc: Anatolij Gustschin
Cc: Mario Six
Cc: Simon Glass
Cc: Tom Rini
Cc: Stefan Roese
07 May, 2018
1 commit
-
When U-Boot started using SPDX tags we were among the early adopters and
there weren't a lot of other examples to borrow from. So we picked the
area of the file that usually had a full license text and replaced it
with an appropriate SPDX-License-Identifier: entry. Since then, the
Linux Kernel has adopted SPDX tags and they place it as the very first
line in a file (except where shebangs are used, then it's second line)
and with slightly different comment styles than us.In part due to community overlap, in part due to better tag visibility
and in part for other minor reasons, switch over to that style.This commit changes all instances where we have a single declared
license in the tag as both the before and after are identical in tag
contents. There's also a few places where I found we did not have a tag
and have introduced one.Signed-off-by: Tom Rini
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