18 Jun, 2019
1 commit
-
Previous patch "MLK-21885 lmb: Handle the overlap case for lmb reserve" adds
the overlap support to lmb reserve. However, u-boot has some places to use the
lmb_reserve when allocating memory in loading images. If we allowed overlap
in this function, it means images loading address can overlap each other and
cause the address check mechanism not work.So add another function to allow overlap and only use it for fdt reserved-memory
nodes. The FDT reserved-memory is ok to merge with other reserved memory, since
this won't break image loading address check.Signed-off-by: Ye Li
09 Mar, 2019
1 commit
-
Handle in boot_fdt_reserve_region
any return value > 0 of lmb_reserve() function;
it occurs when coalesced region are found:
adjacent reserved region are merged.This patch avoid the error trace:
ERROR: reserving fdt memory region failed..
when reserved region are merged (return value = 1).Signed-off-by: Patrick Delaunay
09 Feb, 2019
1 commit
-
Some platforms choose to store device tree blob in Android image second
area. Let's try to look for dtb from there when booting an Android
image, and use it for booting if found.Signed-off-by: Shawn Guo
17 Jan, 2019
1 commit
-
boot_fdt_add_mem_rsv_regions() adds reserved memory sections to an lmb
struct. Currently, it only parses regions described by /memreserve/
entries.Extend this to the more commonly used scheme of the "reserved-memory"
node.Signed-off-by: Simon Goldschmidt
Reviewed-by: Simon Glass
15 Jan, 2019
1 commit
-
Booting an image currently sets the environment variable "fdtaddr"
by calling into 'cmd/fdt.c'. As a result, linking U-Boot fails if
CMD_FDT is not enabled.Fix this by adding 'if (CONFIG_IS_ENABLED(CMD_FDT))' to the two
places where 'set_working_fdt_addr()' is called.Signed-off-by: Simon Goldschmidt
26 Sep, 2018
1 commit
-
When running sandbox with the new pointer sanitization we just recently
introduced, we're running into a case with FIT images where we end up
interpreting pointers as addresses.What happened is that most callers of set_working_fdt_addr() simply
convert pointers into addresses without taking into account that they
might be 2 separate address spaces. Fix the callers up to map their
pointers into addresses.This makes sandbox tests pass for me again.
Signed-off-by: Alexander Graf
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
01 Apr, 2018
1 commit
-
This macro is locally referenced in common/image-fdt.c
Signed-off-by: Masahiro Yamada
Reviewed-by: Simon Glass
05 Mar, 2018
1 commit
-
Thomas reported U-Boot failed to build host tools if libfdt-devel
package is installed because tools include libfdt headers from
/usr/include/ instead of using internal ones.This commit moves the header code:
include/libfdt.h -> include/linux/libfdt.h
include/libfdt_env.h -> include/linux/libfdt_env.hand replaces include directives:
#include -> #include
#include -> #includeReported-by: Thomas Petazzoni
Signed-off-by: Masahiro Yamada
19 Feb, 2018
1 commit
-
Only ARM and in some configs MIPS really implement arch_fixup_fdt().
Others just use the same boilerplate which is not good by itself,
but what's worse if we try to build with disabled CONFIG_CMD_BOOTM
and enabled CONFIG_OF_LIBFDT we'll hit an unknown symbol which was
apparently implemented in arch/xxx/lib/bootm.c.Now with weak arch_fixup_fdt() right in image-fdt.c where it is
used we get both items highlighted above fixed.Signed-off-by: Alexey Brodkin
Cc: Daniel Schwierzeck
Cc: Simon Glass
Cc: York Sun
Cc: Stefan Roese
Reviewed-by: Tom Rini
Reviewed-by: Daniel Schwierzeck
16 Oct, 2017
1 commit
-
Removal of the legacy DataFlash code turned genimg_get_image() into a
no-op. Drop all calls to it and the function itself.Signed-off-by: Tuomas Tynkkynen
15 Sep, 2017
1 commit
-
Introduce an overlay based method for constructing a base DT blob
to pass to the kernel.It is based on a specific method now to get the FDT from a FIT image
named boot_get_fdt_fit().Signed-off-by: Pantelis Antoniou
Acked-by: Simon Glass
16 Aug, 2017
2 commits
-
We are now using an env_ prefix for environment functions. Rename these
other functions as well, for consistency:getenv_vlan()
getenv_bootm_size()
getenv_bootm_low()
getenv_bootm_mapsize()
env_get_default()Suggested-by: Wolfgang Denk
Signed-off-by: Simon Glass -
We are now using an env_ prefix for environment functions. Rename these
two functions for consistency. Also add function comments in common.h.Quite a few places use getenv() in a condition context, provoking a
warning from checkpatch. These are fixed up in this patch also.Suggested-by: Wolfgang Denk
Signed-off-by: Simon Glass
01 May, 2017
1 commit
-
With 3f66149d9fb4 we no longer have a common call fdt_fixup_ethernet.
This was fine to do on PowerPC as they largely had calls already in
ft_cpu_fixup. On ARM however we largely relied on this call. Rather
than introduce a large number of changes to ft_cpu_fixup /
ft_board_fixup we recognize that this is a common enough call that we
should be doing it in a central location. Do it early enough that we
can do any further updates in ft_cpu_fixup / ft_board_fixup.Cc: Gerd Hoffmann
Cc: Chen-Yu Tsai
Cc: Maxime Ripard
Cc: Thomas Chou (maintainer:NIOS)
Cc: York Sun (maintainer:POWERPC MPC85XX)
Cc: Stefan Roese (maintainer:POWERPC PPC4XX)
Cc: Simon Glass
Cc: Joakim Tjernlund
Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call")
Signed-off-by: Tom Rini
Acked-by: Stefan Roese
Acked-by: York Sun
Reviewed-by: Simon Glass
08 Apr, 2017
1 commit
-
ft_cpu_setup() already calls fdt_fixup_ethernet(), calling it
in image_setup_libfdt() is both redundant and breaks any modifications
done by ft_board_setup(). Restore the old behavior by removing
the call in image_setup_libfdt()Fixes: 13d06981a982 ("image: Add device tree setup to image library")
Signed-off-by: Joakim Tjernlund
03 Dec, 2016
1 commit
-
Commit e2f88dfd2d96 ("libfdt: Introduce new ARCH_FIXUP_FDT option")
allows us to skip memory setup of DTB, but a problem for ARM is that
spin_table_update_dt() and psci_update_dt() are skipped as well if
CONFIG_ARCH_FIXUP_FDT is disabled.This commit allows us to skip only fdt_fixup_memory_banks() instead
of the whole of arch_fixup_fdt(). It will be useful when we want to
use a memory node from a kernel DTB as is, but need some fixups for
Spin-Table/PSCI.Signed-off-by: Masahiro Yamada
Acked-by: Alexey Brodkin
Acked-by: Simon Glass
Fixed build error for x86:
Signed-off-by: Simon Glass
14 Oct, 2016
1 commit
-
Sometimes devicetree nodes and or properties are added out of the u-boot
console, maybe through some script or manual interaction.The devicetree as loaded or embedded is quite small, so the devicetree
has to be resized to take up those new nodes/properties.In original the devicetree was only extended by effective
4 * add_mem_rsv.With this commit we can add an argument to the "fdt resize" command,
which takes the extrasize to be added.Signed-off-by: Hannes Schmelzer
Signed-off-by: Hannes Schmelzer
Acked-by: Simon Glass
22 Sep, 2016
1 commit
-
Commit bac17b78dace ("image-fit: switch ENOLINK to ENOENT") changed
fit_get_node_from_config to return -ENOENT when a property doesn't
exist, but didn't change any of its callers which check return values.
Notably it didn't change boot_get_ramdisk, which leads to U-Boot failing
to boot FIT images which don't include ramdisks with the following
message:Ramdisk image is corrupt or invalid
It also didn't take into account that by returning -ENOENT to denote the
lack of a property we lost the ability to determine from the return
value of fit_get_node_from_config whether it was the property or the
configuration node that was missing, which may potentially lead callers
to accept invalid FIT images.Fix this by having fit_get_node_from_config return -EINVAL when the
configuration node isn't found and -ENOENT when the property isn't
found, which seems to make semantic sense. Callers that previously
checked for -ENOLINK are adjusted to check for -ENOENT, which fixes the
breakage introduced by commit bac17b78dace ("image-fit: switch ENOLINK
to ENOENT").The only other user of the return fit_get_node_from_config return value,
indirectly, is bootm_find_os which already checked for -ENOENT. From a
read-through of the code I suspect it ought to have been checking for
-ENOLINK prior to bac17b78dace ("image-fit: switch ENOLINK to ENOENT")
anyway, which would make it right after this patch, but this would be
good to get verified by someone who knows this x86 code or is able to
test it.Signed-off-by: Paul Burton
Cc: Jonathan Gray
Cc: Marek Vasut
Acked-by: Marek Vasut
Acked-by: Stefan Roese
Acked-by: George McCollister
Tested-by: George McCollister
01 Aug, 2016
1 commit
-
Add new Kconfig option to disable arch_fixup_fdt() calls for cases where
U-Boot shouldn't update memory setup in DTB file.
One example of usage of this option is to boot OS with different memory
setup than U-Boot use.Signed-off-by: Michal Simek
Acked-by: Simon Glass
16 Mar, 2016
1 commit
-
We have a nice framework around image fils to prepare a device tree
for OS execution. That one patches in missing device tree nodes and
fixes up the memory range bits.We need to call that one from the EFI boot path too to get all those
nice fixups. This patch adds the call.Signed-off-by: Alexander Graf
15 Mar, 2016
1 commit
-
There are already two FIT options in Kconfig but the CONFIG options are
still in the header files. We need to do a proper move to fix this.Move these options to Kconfig and tidy up board configuration:
CONFIG_FIT
CONFIG_OF_BOARD_SETUP
CONFIG_OF_SYSTEM_SETUP
CONFIG_FIT_SIGNATURE
CONFIG_FIT_BEST_MATCH
CONFIG_FIT_VERBOSE
CONFIG_OF_STDOUT_VIA_ALIAS
CONFIG_RSAUnfortunately the first one is a little complicated. We need to make sure
this option is not enabled in SPL by this change. Also this option is
enabled automatically in the host builds by defining CONFIG_FIT in the
image.h file. To solve this, add a new IMAGE_USE_FIT #define which can
be used in files that are built on the host but must also build for U-Boot
and SPL.Note: Masahiro's moveconfig.py script is amazing.
Signed-off-by: Simon Glass
[trini: Add microblaze change, various configs/ re-applies]
Signed-off-by: Tom Rini
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
06 Dec, 2015
1 commit
-
If condition of "(load == image_start || load == image_data)" is true,
should use "fdt_addr = load;", but not "fdt_blob = (char *)image_data;",
or fdt_blob will be overridden by "fdt_blob = map_sysmem(fdt_addr, 0);"
at the end of the switch case.Signed-off-by: Peng Fan
Cc: Simon Glass
Cc: Joe Hershberger
Cc: Max Krummenacher
Cc: Marek Vasut
Cc: Suriyan Ramasami
Cc: Paul Kocialkowski
Cc: Tom Rini
Reviewed-by: Simon Glass
13 Aug, 2015
1 commit
-
This fixes the following warning (and the runtime error reporting):
../common/image-fdt.c:491:4: warning: 'fdt_ret' may be used
uninitialized in this function [-Wmaybe-uninitialized]Signed-off-by: Max Krummenacher
Signed-off-by: Marcel Ziswiler
Acked-by: Marek Vasut
Acked-by: Simon Glass
05 Jun, 2015
1 commit
-
Before device-tree, the device serial number used to be passed to the kernel
using ATAGs (on ARM). This is now deprecated and all the handover to the kernel
should now be done using device-tree. Thus, this passes the serial-number
property to the kernel using the serial-number property of the root node, as
expected by the kernel.The serial number is a string that somewhat represents the device's serial
number. It might come from some form of storage (e.g. an eeprom) and be
programmed at factory-time by the manufacturer or come from identification
bits available in e.g. the SoC.Signed-off-by: Paul Kocialkowski
Reviewed-by: Simon Glass
19 Apr, 2015
1 commit
-
In the case where the arch defines a custom map_sysmem(), make sure that
including just mapmem.h is sufficient to have these functions as they
are when the arch does not override it.Also split the non-arch specific functions out of common.h
Signed-off-by: Joe Hershberger
Reviewed-by: Simon Glass
18 Feb, 2015
1 commit
-
Commit 90bac29a76bc8d649b41a55f2786c0abef9bb2c1 claims to fix this bug
that was introduced in commit a92fd6577ea17751ead9b50243e3c562125cf581
but doesn't actually make the change that the commit message describes.Actually fix the bug this time.
Signed-off-by: Joe Hershberger
Acked-by: Simon Glass
08 Dec, 2014
1 commit
-
The boot commands - bootz/bootm mandate a third argument which is the
address to the FDT blob. In cases where this argument is not specified,
boot fails with a message indicating a missing FDT.This causes non-FDT kernels to fail to boot. This patch allows both FDT
and non-FDT kernels to boot by making the third parameter to the bootm/bootz
optional.Signed-off-by: Suriyan Ramasami
Acked-by: Simon Glass
[trini: Update again for covering appended DTB case after last revert in
this area]
Signed-off-by: Tom Rini
04 Dec, 2014
1 commit
-
It has been found that this change breaks the case of an appended device
tree file, so for the problem in question some other solution must be
found.This reverts commit c6150aaf2f2745141a7c2ceded58d7efbfeace7d.
Reported-by: Bill Pringlemeir
Reported-by: Pantelis Antoniou
Confirmed-by: Bill Pringlemeir
Signed-off-by: Tom Rini
21 Nov, 2014
2 commits
-
Add an additional function for adding information to the device tree before
booting. This permits additions which are not board-specific.Signed-off-by: Simon Glass
Acked-by: Anatolij Gustschin
Reviewed-by: Tom Rini -
The message about needing to reset should be printed no matter what error
is printed. Also, an error should always be printed.Signed-off-by: Simon Glass
Acked-by: Anatolij Gustschin
Reviewed-by: Tom Rini
08 Nov, 2014
1 commit
-
I believe that when no DTB is around we should return 1.
This why I fixed such scenarious to not return zero anymore.
Else kernel might get NULL pointer to DTB which doesn't exists.Signed-off-by: Noam Camus
09 Aug, 2014
1 commit
-
Since libfdt now has an fdt_resize() function, we need to rename the
U-Boot one.Signed-off-by: Simon Glass
28 Jul, 2014
1 commit
-
Some architecture needs extra device tree setup. Instead of adding
yet another hook, convert arch_fixup_memory_node to be a generic
FDT fixup function.[maz: collapsed 3 patches into one, rewrote commit message]
Signed-off-by: Ma Haijun
Signed-off-by: Marc Zyngier
Acked-by: Ian Campbell
26 Jul, 2014
1 commit
-
Use CONFIG_SOC_KEYSTONE in common places instead of defining
a lot of "if def .. || if def " for different Keystone2 SoC types.Acked-by: Murali Karicheri
Signed-off-by: Ivan Khoronzhuk
19 Jun, 2014
3 commits
-
This can be obtained by looking up the image type, so is redundant. It is
better to centralise this lookup to avoid errors.Signed-off-by: Simon Glass
-
After all, we have realized "force" argument is completely
useless. fdt_chosen() was always called with force = 1.We should always want to do the same thing
(set appropriate value to the property)
even if the property already exists.Signed-off-by: Masahiro Yamada
Acked-by: Simon Glass -
After all, we have realized "force" argument is completely
useless. fdt_initrd() was always called with force = 1.We should always want to do the same thing
(set appropriate value to the property)
even if the property already exists.Signed-off-by: Masahiro Yamada
Acked-by: Simon Glass
06 Jun, 2014
1 commit
-
make the use of legacy image format configurable through
the config define CONFIG_IMAGE_FORMAT_LEGACY.When relying on signed FIT images with required signature check
the legacy image format should be disabled. Therefore introduce
this new define and enable legacy image format if CONFIG_FIT_SIGNATURE
is not set. If CONFIG_FIT_SIGNATURE is set disable per default
the legacy image format.Signed-off-by: Heiko Schocher
Cc: Simon Glass
Cc: Lars Steubesand
Cc: Mike Pearce
Cc: Wolfgang Denk
Cc: Tom Rini
Cc: Michal Simek
Acked-by: Simon Glass