- Feb 23, 2018
-
-
Alexey Brodkin authored
Most of architectures have .text section situated in the very beginning of U-Boot binary and thus it is very logical that CONFIG_SYS_TEXT_BASE is used on final linkage step to specify where U-Boot gets linked to. For that we pass the following construction to the LD: ---------------------------->8----------------------- xxx-ld ... -Ttext $(CONFIG_SYS_TEXT_BASE) ... ---------------------------->8----------------------- But there could be exceptions. For example: 1. In case of ARCv2 we want to put vectors table in its own section .ivt in front of .text section which means we need either add an offset to CONFIG_SYS_TEXT_BASE to compensate for .ivt or don't pass "-Ttext" to the LD at all and specify link base in linker script directly. 2. Some architectures even though have .text section in the very beginning of the U-Boot image still use different symbols to specify link-base: * NIOS2: CONFIG_SYS_MONITOR_BASE (which I really like because that exactly what makes sense - where out image starts but not beginning of its .text section which just happened to match the whole image beginning) * EXTENSA: CONFIG_SYS_TEXT_ADDR * X86: Which doesn't use CONFIG_SYS_MONITOR_BASE in case of EFI otherwise sets explicit link base in u-boot.lds I think that's good to allow for flexibility and don't require each and every architecture or even platform to specify CONFIG_SYS_TEXT_BASE as well as use it to set .text section location. So let's only pass "-Ttext xxx" for those architectures who don't set link-base explicitly in their linker scripts. This patch iaddresses comments for previously sent https://patchwork.ozlabs.org/patch/867540/ . Signed-off-by:
Alexey Brodkin <abrodkin@synopsys.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com>
-
- Feb 20, 2018
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Feb 12, 2018
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Jan 30, 2018
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Jan 26, 2018
-
-
Maxime Ripard authored
The make macro to check if the binary exceeds the board size limit is not called. Make sure that is the case. Signed-off-by:
Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by:
Jagan Teki <jagan@openedev.com>
-
- Jan 12, 2018
-
-
Stephen Warren authored
With CONFIG_SYS_INIT_SP_BSS_OFFSET enabled, the initial (pre-relocation) stack is placed some distance after bss_start. The control DTB is appended to the U-Boot binary at bss_start. If the DTB is too large, or the SP BSS offset too small, then the initial stack could corrupt the DTB. Enhance the Makefile to check whether this is likely to occur. Signed-off-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Rick Chen authored
Add prelink-riscv to arrange .rela.dyn and .rela.got in compile time. So that u-boot can be directly executed without fixup. Signed-off-by:
Chih-Mao Chen <cmchen@andestech.com> Signed-off-by:
Rick Chen <rick@andestech.com> Signed-off-by:
Rick Chen <rickchen36@gmail.com> Signed-off-by:
Greentime Hu <green.hu@gmail.com>
-
- Jan 09, 2018
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Jan 02, 2018
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Dec 19, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Dec 13, 2017
-
-
Simon Glass authored
Update tegra to use binman for image creation. This still includes the current Makefile logic, but a later patch will remove this. Three output files are created, all of which combine SPL and U-Boot: u-boot-tegra.bin - standard image u-boot-dtb-tegra.bin - same as u-boot-tegra.bin u-boot-nodtb-target.bin - includes U-Boot without the appended device tree The latter is useful for build systems where the device is appended later, perhaps after being modified. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Dec 04, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Nov 21, 2017
-
-
Stefan Agner authored
With commit 84d46e7e ("tools: env: allow to print U-Boot version") the fw_env utilities need the version.h header file. Building only the envtools in a pristine build directory will fail due to missing header files. Make sure the header files are a dependency of the envtools target. Fixes: 84d46e7e ("tools: env: allow to print U-Boot version") Signed-off-by:
Stefan Agner <stefan.agner@toradex.com> Tested-by:
Peter Robinson <pbrobinson@gmail.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
M. Vefa Bicakci authored
When building on a multi-core machine for an SPL-enabled board that also uses CONFIG_OF_EMBED, the following error can be encountered due to a race condition: make[3]: *** No rule to make target 'spl/dts/dt.dtb.o', needed by 'spl/dts/built-in.o'. Stop. ../scripts/Makefile.spl:364: recipe for target 'spl/dts' failed make[2]: *** [spl/dts] Error 2 make[2]: *** Waiting for unfinished jobs.... A reliable way to trigger this race condition is to add "sleep 60" to the end of the "arch-dtbs" rule's recipe in "dts/Makefile" and to build U-Boot against a board which uses the CONFIG_OF_EMBED and CONFIG_SPL options using "make -j8" or a similar command. This commit corrects this race condition via the use of CONFIG_OF_EMBED in the same way that commit 3c00a2c8 ("Makefile: Correct dependency race condition with TPL") and commit 054b3a1e ("dm: Makefile: Build of-platdata before SPL") use CONFIG_OF_SEPARATE. Signed-off-by:
M. Vefa Bicakci <m.v.b@runbox.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Heinrich Schuchardt authored
Coccinelle is a program for static code analysis. For details on Coccinelle see http://coccinelle.lip6.fr/ Add scripts/coccicheck copied from Linux kernel v4.14. The coccicheck script executes the tests *.cocci in directory scripts/coccinelle by calling spatch. In Makefile add a coccicheck target. You can use it with make coccicheck MODE=<mode> where mode in patch, report, context, org. Add a copy of Linux v4.14 file Documentation/dev-tools/coccinelle.rst as doc/README.coccinelle. Cc: Simon Glass <sjg@chromium.org> Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
- Nov 17, 2017
-
-
Masahiro Yamada authored
Currently, pylibfdt is always compiled if swig is installed on your machine. It is really annoying because most of targets (excepts x86, sunxi, rockchip) do not use dtoc or binman. "checkbinman" and "checkdtoc" are wrong. It is odd that the final build stage checks if we have built necessary tools. If your platform depends on dtoc/binman, you must be able to build pylibfdt. If swig is not installed, it should fail immediately. I added PYLIBFDT, DTOC, BINMAN entries to Kconfig. They should be property select:ed by platforms that need them. Kbuild will descend into scripts/dtc/pylibfdt/ only when CONFIG_PYLIBFDT is enabled. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
The pylibfdt is used by dtoc (and, indirectly by binman), but there is no reason why it must be generated in the tools/ directory. Recently, U-Boot switched over to the bundled DTC, and the directory structure under scripts/dtc/ now mirrors the upstream DTC project. So, scripts/dtc/pylibfdt is the best location. I also rewrote the Makefile in a cleaner Kbuild style. The scripts from the upstream have been moved as follows: lib/libfdt/pylibfdt/setup.py -> scripts/dtc/pylibfdt/setup.py lib/libfdt/pylibfdt/libfdt.i -> scripts/dtc/pylibfdt/libfdt.i_shipped The .i_shipped is coped to .i during building because the .i must be located in the objtree when we build it out of tree. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com>
-
- Nov 14, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Nov 06, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Oct 31, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Oct 19, 2017
-
-
Heinrich Schuchardt authored
Up to now we depended on an exported variable to build u-boot.rom. We should be able to specify it in the configuration file, too. With this patch this becomes possible using the new Kconfig option CONFIG_BUILD_ROM. This option depends on CONFIG_X86 and is selected in qemu-x86_defconfig and qemu-x86_64_defconfig. Cc: Simon Glass <sjg@chromium.org> Cc: Bin Meng <bmeng.cn@gmail.com> Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
- Oct 17, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Oct 06, 2017
-
-
Jean-Jacques Hiblot authored
CONFIG_FIT_EMBED might be confused with CONFIG_OF_EMBED, rename it MULTI_DTB_FIT as it is able to get a DTB from a FIT image containing multiple DTBs. Also move the option to the Kconfig dedicated to the DTS options and create a README for this feature. Signed-off-by:
Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- Oct 03, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Sep 24, 2017
-
-
Tom Rini authored
This makes us act like the Linux Kernel does and allow for dtc to be provided externally but otherwise we use the version of dtc that is included in the sources. This in turn means that we can drop the checkdtc logic. We select DTC in the cases where we will need the dtc tool provided. Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Sep 22, 2017
-
-
Tom Rini authored
With support for overlays and calling the -@ flag to dtc we need to have at least 1.4.3 available now. Cc: Simon Glass <sjg@chromium.org> Reported-by:
Stephen Warren <swarren@wwwdotorg.org> Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Sep 12, 2017
-
-
Rob Clark authored
EFI_LOADER really wants UTF-16 strings (ie. %ls and L"string" are 16bit chars instead of 32bit chars). But rather than enabling -fshort-wchar conditionally if EFI_LOADER is enabled, it was deemed preferrable to globally switch. Signed-off-by:
Rob Clark <robdclark@gmail.com> Acked-by:
Masahiro Yamada <yamada.masahiro@socionext.com>
-
- Sep 11, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Sep 06, 2017
-
-
Simon Glass authored
The target is not currently mentioned anywhere. Add it to the help so people can find it. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This was broken by the recent environment refactoring. Specifically: $ make environ scripts/Makefile.build:59: tools/environ/Makefile: No such file or directory make[1]: *** No rule to make target 'tools/environ/Makefile'. Stop. make: *** [Makefile:1469: environ] Error 2 Fix this by updating the Makefile and adjusting the #include filesnames in two C files. Fixes: ec74f5f9 (Makefile: Rename 'env' target to 'environ') Reported-by:
Måns Rullgård <mans@mansr.com> Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Sep 05, 2017
-
-
Tom Rini authored
With the move of environment code from common/ to env/ a number of changes needed to be made to various make targets. We missed updating some of the files required for out of tree builds of the tools. Correct the 'environ' target to know that we need to work under tools/env/ still (not tools/environ/) and then update the wrappers in env_attr.c and env_flags.c to point to the new correct file. Reported-by:
Peter Robinson <pbrobinson@gmail.com> Tested-by:
Peter Robinson <pbrobinson@gmail.com> Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Sep 04, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Aug 29, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Aug 20, 2017
-
-
Clément Bœsch authored
On some systems `python` is `python3` (for instance, Archlinux). The `PYTHON` variable can be used to point to `python2` to have a successful build. The use of `PYTHON` is currently limited in the Makefile and needs to be extended in other places: First, pylibfdt is required to be a Python 2 binding (binman imports pylibfdt and is only compatible Python 2), so its setup.py needs to be called accordingly. An alternative would be to change the libfdt setup.py shebang to python2, but the binding is actually portable. Also, it would break on system where there is no such thing as `python2`. Secondly, the libfdt import checks need to be done against Python 2 as well since the Python 2 compiled modules (in this case _libdft.so) can not be imported from Python 3. Note on the libfdt imports: "@if ! PYTHONPATH=tools $(PYTHON) -c 'import libfdt'; then..." is probably simpler than the currently sub-optimal pipe. Reviewed-by:
Jonathan Gray <jsg@jsg.id.au>
-
- Aug 15, 2017
-
-
Simon Glass authored
About a quarter of the files in common/ relate to the environment. It seems better to put these into their own subdirectory and remove the prefix. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Simon Glass authored
This target stops us using 'env' as a subdirectory. It is not mentioned in the help so seems to be an internal target. Rename it. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Aug 13, 2017
-
-
Philipp Tomsich authored
For the RK3368, we want to use OF_PLATDATA in TPL, but full OF_CONTROL in SPL: this requires the introduction of a new family of configuration options to decouple SPL_OF_CONTROL and SPL_OF_PLATDATA from TPL. Consequently, Makefile.spl needs to be adjusted to test for these configuration items through the $(SPL_TPL_) macro instead of hard-coding the SPL variant. Signed-off-by:
Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
- Aug 01, 2017
-
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Jul 30, 2017
-
-
Andy Shevchenko authored
In some cases we would need build date as integer value. Export U_BOOT_BUILD_DATE as %Y%m%d integer value. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-