13 Jun, 2018
1 commit
-
Porting the FSL android fastboot features from imx u-boot v2017.03 to
support all SoCs: imx6/imx7/imx7ulp/imx8/imx8mSigned-off-by: Ye Li
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
08 Feb, 2018
2 commits
-
Follow bootz's pattern by moving the booti_setup to arch/arm/lib.
This allows to use booti_setup in other paths, e.g booting
an Android image containing Image format.Note that kernel relocation is move out of booti_setup and it is the
caller's responsibility to do it and allows them do it differently. say,
cmd/booti.c just do a manually, while in the bootm path, we can use
bootm_load_os(with some changes).Signed-off-by: Bin Chen
Reviewed-by: Tom Rini -
The second area of android image was intended to put a 2nd stage
bootloader but in practice were rarely used (in my knowledge).An proposal was made to the AOSP to (re)use the second area as the dtb[1],
This patch itself doesn't depend on that proposal being accepted but it won't
be that helpful as well if that proposal won't be accepted. But don't do
any harm as well.[1] https://android-review.googlesource.com/#/c/417447/
Signed-off-by: Bin Chen
Reviewed-by: Tom Rini
Reviewed-by: Kever Yang
16 Jan, 2018
1 commit
-
The DT spec demands a unit-address in a node name to match the "reg"
property in that node. Newer dtc versions will throw warnings if this is
not the case.
Fix all occurences in the tree where node names were mentioned in
comments, to not give bad examples to the reader.Signed-off-by: Andre Przywara
12 Jan, 2018
1 commit
-
Support common commands bdinfo and image format,
also modify common generic flow for RISC-V.Signed-off-by: Rick Chen
Signed-off-by: Rick Chen
Signed-off-by: Greentime Hu
Reviewed-by: Tom Rini
13 Dec, 2017
1 commit
-
For external data, FIT has a optional property "data-position" which
can set the external data to a fixed offset to FIT beginning.
Add the support for this property in SPL FIT.Signed-off-by: Ye Li
Signed-off-by: Peng Fan
Reviewed-by: Simon Glass
Reviewed-by: Tomas Melin
Cc: Pantelis Antoniou
Cc: "Andrew F. Davis"
Cc: Igor Grinberg
Cc: "tomas.melin@vaisala.com"
Cc: Kever Yang
Cc: Andre Przywara
Cc: York Sun
Cc: Lokesh Vutla
Cc: "Cooper Jr., Franklin"
Cc: George McCollister
Cc: Tuomas Tynkkynen
Cc: Jean-Jacques Hiblot
Cc: Rick Altherr
Cc: Tom Rini
Reviewed-by: Lokesh Vutla
Reviewed-by: York Sun
26 Nov, 2017
1 commit
-
To boot on ARMv8 systems with ARM Trusted Firmware, we need to
assemble an ATF-specific parameter structure and also provide the
address of the images started by ATF (e.g. BL3-3, which may be the
full U-Boot).To allow us to identify an ARM Trusted Firmware contained in a FIT
image, this adds the necessary definitions.Signed-off-by: Philipp Tomsich
Reviewed-by: Simon Glass
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
06 Oct, 2017
1 commit
-
If board_fit_config_name_match() doesn't match any configuration node,
then use the default one (if provided).Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
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
13 Sep, 2017
1 commit
-
Add a new image type representing TI Power Management
Micro-Controller (PMMC) Firmware image type.Signed-off-by: Andrew F. Davis
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
11 Jul, 2017
2 commits
-
Some platforms may append a FIT image to the U-boot image. This function
aids in parsing the FIT image and selecting the correct DTB at runtime.Signed-off-by: Franklin S Cooper Jr
Reviewed-by: Tom Rini -
Some of the functions within spl_fit will be used for non spl purposes.
Instead of duplicating functions simply break the functions to be reused
into its own file.Signed-off-by: Franklin S Cooper Jr
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
[trini: Only add the new define to image.h, otherwise we see breakage
due to massive include leakage into host tools in some cases]
Signed-off-by: Tom Rini
10 Jun, 2017
1 commit
-
As only FIT image is supported now, this patch is to support loading
32-bit uImage, dtb and rootfs separately.Signed-off-by: Alison Wang
Reviewed-by: Tom Rini
22 May, 2017
2 commits
-
Commit 94e3c8c4fd7b ("crypto/fsl - Add progressive hashing support
using hardware acceleration.") created entries for CONFIG_SHA1,
CONFIG_SHA256, CONFIG_SHA_HW_ACCEL, and CONFIG_SHA_PROG_HW_ACCEL.
However, no defconfig has migrated to it. Complete the move by first
adding additional logic to various Kconfig files to select this when
required and then use the moveconfig tool. In many cases we can select
these because they are required to implement other drivers. We also
correct how we include the various hashing algorithms in SPL.This commit was generated as follows (after Kconfig additions):
[1] tools/moveconfig.py -y SHA1 SHA256 SHA_HW_ACCEL
[2] tools/moveconfig.py -y SHA_PROG_HW_ACCELNote:
We cannot move SHA_HW_ACCEL and SHA_PROG_HW_ACCEL simultaneously
because there is dependency between them.Cc: Poonam Aggrwal
Cc: Naveen Burmi
Cc: Po Liu
Cc: Shengzhou Liu
Cc: Priyanka Jain
Cc: Shaohui Xie
Cc: Chunhe Lan
Cc: Chander Kashyap
Cc: Steve Rae
Cc: Dirk Eibach
Cc: Feng Li
Cc: Alison Wang
Cc: Sumit Garg
Cc: Mingkai Hu
Cc: York Sun
Cc: Prabhakar Kushwaha
Cc: Jaehoon Chung
Cc: Akshay Saraswat
Cc: Heiko Schocher
Cc: Jagan Teki
Signed-off-by: Tom Rini
Reviewed-by: Simon Glass
Signed-off-by: Tom Rini -
We rename CONFIG_FIT_DISABLE_SHA256 to CONFIG_FIT_ENABLE_SHA256_SUPPORT which
is enabled by default and now a positive option. Convert the handful of boards
that were disabling it before to save space.Cc: Dirk Eibach
Cc: Lukasz Dalek
Signed-off-by: Tom Rini
Reviewed-by: Simon Glass
Reviewed-by: Simon Glass
09 Apr, 2017
1 commit
-
The function 'board_fit_image_post_process' is defined only when the
config option CONFIG_FIT_IMAGE_POST_PROCESS is enabled. For secure
systems that do not use SPL but do use FIT kernel images, only
CONFIG_FIT_IMAGE_POST_PROCESS will be defined, which will result in an
implicit declaration of function 'board_fit_image_post_process' warning
while building u-boot. Fix this warning.Signed-off-by: Madan Srinivas
Signed-off-by: Andrew F. Davis
Reviewed-by: Tom Rini
Reviewed-by: Lokesh Vutla
17 Mar, 2017
1 commit
-
FIT images require MD5 support to verify image checksums. So far this
was expressed by defining a CPP symbol in image.h. Since MD5 is now a
first class Kconfig citizen, express that in Kconfig instead.Signed-off-by: Andre Przywara
Reviewed-by: Simon Glass
20 Jan, 2017
1 commit
-
In 35fc84f, bootm was refactored so plain 'bootm' and
'bootm ' shared a common implementation.
The 'bootm ramdisk' command implementation is now part of the common
implementation but not invoke by plain 'bootm' since the original
implementation never did ramdisk relocation. Instead, ramdisk
relocation happened in image_setup_linux() which is typically called
during the OS portion of 'bootm'.On ARM, parameters to the Linux kernel can either be passed by FDT or
ATAGS. When using FDT, image_setup_linux() is called which also triggers
ramdisk relocation. When using ATAGS, image_setup_linux() is _not_
called because it mostly does FDT setup.Instead of calling image_setup_linux() in both FDT and ATAGS cases,
include BOOTM_STATE_RAMDISK in the requested states during a plain
'bootm' if CONFIG_SYS_BOOT_RAMDISK_HIGH is set and remove the ramdisk
relocation from image_setup_linux(). This causes ramdisk relocation to
happen on any system where CONFIG_SYS_BOOT_RAMDISK_HIGH regardless of
the OS being booted. Also remove IMAGE_ENABLE_RAMDISK_HIGH as it was
only used by the now-removed code from image_setup_linux().Signed-off-by: Rick Altherr
Reviewed-by: Simon Glass
Reviewed-by: Joel Stanley
17 Jan, 2017
1 commit
15 Jan, 2017
1 commit
-
Add support for signing with the pkcs11 engine. This allows FIT images
to be signed with keys securely stored on a smartcard, hardware security
module, etc without exposing the keys.Support for other engines can be added in the future by modifying
rsa_engine_get_pub_key() and rsa_engine_get_priv_key() to construct
correct key_id strings.Signed-off-by: George McCollister
14 Jan, 2017
1 commit
-
Enable support for loading a splash image from within a FIT image.
The image is assumed to be generated with mkimage -E flag to hold
the data external to the FIT.Signed-off-by: Tomas Melin
Acked-by: Igor Grinberg
03 Jan, 2017
1 commit
-
When we want to use Secure Boot with HAB from SPL over U-Boot.img,
we need to append the IVT to the image and leave space for the CSF.
Images generated as firmware_ivt can directly be signed using the
Freescale code signing tool. For creation of a CSF, mkimage outputs
the correct HAB Blocks for the image.
The changes to the usual firmware image class are quite small,
that is why I implemented that directly into the default_image.Cc: sbabic@denx.de
v2-Changes: None
Signed-off-by: Sven Ebenfeld
Reviewed-by: George McCollister
Tested-by: George McCollister
04 Dec, 2016
2 commits
-
Add a new image type representing Trusted Execution Environment (TEE)
image types. For example, an OP-TEE OS binary image.Signed-off-by: Andrew F. Davis
Reviewed-by: Simon Glass -
To help automate the loading of custom image types we add the ability
to define custom handlers for the loadable section types. When we find
a compatible type while loading a "loadable" image from a FIT image we
run its associated handlers to perform any additional steps needed for
loading this image.Signed-off-by: Andrew F. Davis
Reviewed-by: Simon Glass
22 Nov, 2016
4 commits
-
Remove the need to explicitly add SHA/RSA pairings. Invalid SHA/RSA
pairings will still fail on verify operations when the hash length is
longer than the key length.Follow the same naming scheme "checksum,crytpo" without explicitly
defining the string.Indirectly adds support for "sha1,rsa4096" signing/verification.
Signed-off-by: Andrew Duda
Signed-off-by: aduda
Reviewed-by: Simon Glass -
Cut down on the repetition of algorithm information by defining separate
checksum and crypto structs. image_sig_algos are now simply pairs of
unique checksum and crypto algos.Signed-off-by: Andrew Duda
Signed-off-by: aduda
Reviewed-by: Simon Glass -
Padding verification was done against static SHA/RSA pair arrays which
take up a lot of static memory, are mostly 0xff, and cannot be reused
for additional SHA/RSA pairings. The padding can be easily computed
according to PKCS#1v2.1 as:EM = 0x00 || 0x01 || PS || 0x00 || T
where PS is (emLen - tLen - 3) octets of 0xff and T is DER encoding
of the hash.Store DER prefix in checksum_algo and create rsa_verify_padding
function to handle verification of a message for any SHA/RSA pairing.Signed-off-by: Andrew Duda
Signed-off-by: aduda
Reviewed-by: Simon Glass -
checksum_algo's pad_len field isn't actually used to store the length of
the padding but the total length of the RSA key (msg_len + pad_len)Signed-off-by: Andrew Duda
Signed-off-by: aduda
Reviewed-by: Simon Glass
06 Oct, 2016
1 commit
-
This format can be flashed directly at address 0 of
the NAND FLASH, as it contains all necessary headers.Signed-off-by: Albert ARIBAUD (3ADEV)
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 Jul, 2016
1 commit
-
Commit 555f45d8f916 ("image: Convert the IH_... values to enums")
accidentally changed some IH_ARCH_... values.Prior to that commit, there existed a gap between IH_ARCH_M68K and
IH_ARCH_MICROBLAZE, like follows.#define IH_ARCH_SPARC64 11 /* Sparc 64 Bit */
#define IH_ARCH_M68K 12 /* M68K */
#define IH_ARCH_MICROBLAZE 14 /* MicroBlaze */
#define IH_ARCH_NIOS2 15 /* Nios-II */The enum conversion broke the compatibility with existing uImage
files. Reverting 555f45d8f916 will cause build error unfortunately,
so here is a more easy fix.I dug the git history and figured out the gap was introduced by
commit 1117cbf2adac ("nios: remove nios-32 arch"). So, I revived
IH_ARCH_NIOS just for filling the gap.I added comments to each enum block. Once we assign a value to
IH_... it is not allowed to change it.Acked-by: Michal Simek
Signed-off-by: Masahiro Yamada
Reviewed-by: Simon Glass
15 Jul, 2016
4 commits
-
Add generic functions which can look up information about a category:
- the number of items in the category
- the category description
- an item long time
- an item short timeSigned-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a table that contains the category name, the number of items in each
category and a pointer to the table of items. This will allow us to use
generic code to deal with the categories.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
We need to know the number of values of each category (architecture,
compression, OS and image type). To make this value easier to maintain,
convert all values to enums. The count is then automatic.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
The next stage boot loader image and the selected FDT can be post-
processed by board/platform/device-specific code, which can include
modifying the size and altering the starting source address before
copying these binary blobs to their final destination. This might be
desired to do things like strip headers or footers attached to the
images before they were packaged into the FIT, or to perform operations
such as decryption or authentication. Introduce new configuration
option CONFIG_SPL_FIT_IMAGE_POST_PROCESS to allow controlling this
feature. If enabled, a platform-specific post-process function must
be provided.Signed-off-by: Daniel Allred
Signed-off-by: Andreas Dannenberg
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
25 Jun, 2016
1 commit
-
We already support iminfo for other images. The idea
of this patch is start to have a minimal support for
android image format. We still need to print id[] arraySigned-off-by: Michael Trimarchi
Reviewed-by: Simon Glass