03 Nov, 2018
1 commit
-
Add include files necessary for supporting SPL on QXP
ARM2 boardSigned-off-by: Teo Hall
21 Aug, 2018
1 commit
-
Bootloader image take fit format and the rollback index for bootloader
is stored at the "rbindex" node, SPL will read the rollback index for
bootloader and compare it with the one stored in RPMB. The stored
rollback index will be updated only when current slot pass the verify
and has been marked as successful.Bug:109947126
Test: Rollback index protection feature works fine for imx8m.Change-Id: Ic12db4571287fbcb99e5eba0127e0b09378fa5d6
Signed-off-by: Luo Ji
27 Apr, 2018
1 commit
-
Introduce two board level callback functions to FIT image loading process, and
a SPL_FIT_FOUND flag to differentiate FIT image or RAW image.Implement functions in imx common SPL codes to call HAB funtion
to authenticate the FIT image. Generally, we have to sign multiple regions
in FIT image:
1. Sign FIT FDT data (configuration)
2. Sign FIT external data (Sub-images)Because the CSF supports to sign multiple memory blocks, so that we can use one
signature to cover all regions in FIT image and only authenticate once.
The authentication should be done after the entire FIT image is loaded into
memory including all sub-images.
We use "-p" option to generate FIT image to reserve a space for FIT IVT
and FIT CSF, also this help to fix the offset of the external data (u-boot-nodtb.bin,
ATF, u-boot DTB).The signed FIT image layout is as below:
--------------------------------------------------
| | | | | | | |
| FIT | FIT | FIT | | U-BOOT | ATF | U-BOOT |
| FDT | IVT | CSF | | nodtb.bin | | DTB |
| | | | | | | |
--------------------------------------------------Signed-off-by: Ye Li
Reviewed-by: Peng Fan
(cherry picked from commit 078dd4eed6a04c3db7ec49a1bd1fbc63ebb82e1b)
13 Dec, 2017
1 commit
-
Allow SPL to access binman symbols and use this to get the address of
U-Boot. This falls back to CONFIG_SYS_TEXT_BASE if the binman symbol
is not available.Signed-off-by: Simon Glass
26 Nov, 2017
2 commits
-
Mainly a stylistic change: convert the load_addr and entry_point
fields of struct spl_image_info to uintptr_t (from ulong).Signed-off-by: Philipp Tomsich
Reviewed-by: Simon Glass -
When loading a full U-Boot with detached device-tree using the SPL FIT
backend, we should store the address of the FDT loaded as part of the
SPL image info: this allows us to fixup the FDT with additional info
we may want to propagate onward.Signed-off-by: Philipp Tomsich
Reviewed-by: Simon Glass
09 Oct, 2017
1 commit
-
Commit 15eb1d43bf47 ("spl: reorder the assignment of board info to
global data") intended to move assignment of board info earlier,
into board_init_r(). However, function preload_console_init() is
called either from spl_board_init() or from board_init_f(). For the
latter case, the board info assignment is much earlier than proposed
board_init_r(). Create a new function to fill gd->bd and call this
function when needed.Signed-off-by: York Sun
CC: Lokesh Vutla
CC: Ravi Babu
CC: Lukasz Majewski
CC: Tom Rini
Reviewed-by: Simon Glass
13 Aug, 2017
1 commit
-
Some devices (e.g. the RK3368) have only limited SRAM, but provide
support for loading the next boot stage after our SPL performs basic
setup (e.g. DRAM).For target systems like these, we add a boot device BOOTROM that will
invoke a board-specific hook to return to the bootrom (if supported).Signed-off-by: Philipp Tomsich
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
15 May, 2017
1 commit
-
ATF(ARM Trusted Firmware) is used by ARM arch64 SoCs, find more infomation
about ATF at: https://github.com/ARM-software/arm-trusted-firmwareSPL is considered as BL2 in ATF terminology, it needs to load other parts
of ATF binary like BL31, BL32, SCP-BL30, and BL33(U-Boot). And needs to
prepare the parameter for BL31 which including entry and image information
for all other images. Then the SPL handle PC to BL31 with the parameter,
the BL31 will do the rest of work and at last get into U-Boot(BL33).This patch needs work with patches from Andre for SPL support multi
binary in FIT.The entry point of bl31 and bl33 are still using hard code because we
still can not get them from the FIT image information.Signed-off-by: Kever Yang
Tested-by: Heiko Stuebner
Acked-by: Simon Glass
Reviewed-by: Tom Rini
08 May, 2017
1 commit
-
At present fdt blob or argument address being passed to kernel is fixed at
compile time using macro CONFIG_SYS_SPL_ARGS_ADDR. FDT blob from
different media like nand, nor flash are copied to the address pointed
by the macro.
The problem is, it makes args/fdt blob compulsory to copy which is not required
in cases like for NOR Flash. This patch removes this limitation.Signed-off-by: Vikas Manocha
19 Mar, 2017
1 commit
-
CONFIG_SPL_ABORT_ON_RAW_IMAGE causes SPL to abort and move on when it
encounters RAW images, express this same functionality as a positive
option enabling support for RAW images: CONFIG_SPL_RAW_IMAGE_SUPPORTAlso move uses of this to defconfigs.
Signed-off-by: Andrew F. Davis
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
[trini: Rework Kconfig logic a little, move to common/spl/Kconfig]
Signed-off-by: Tom Rini
17 Mar, 2017
1 commit
-
At present malloc_base/_limit/_ptr are not initialised in spl_init() when
we call spl_init() in board_init_f(). This is due to a recent change aimed
at avoiding overwriting the malloc area set up on some boards by
spl_relocate_stack_gd().However if CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN is not defined, we now
skip setting up the memory area in spl_init() which is obviously wrong.To fix this, add a new function spl_early_init() which can be called in
board_init_f().Fixes: b3d2861e (spl: Remove overwrite of relocated malloc limit)
Signed-off-by: Eddie Cai
Rewrote spl_{,early_}init() to avoid duplicate code:
Rewrite/expand commit message:
Signed-off-by: Simon Glass
Reviewed-by: Eddie Cai
04 Jan, 2017
1 commit
-
Since entry_point and load_addr are addresses, they should be
represented as longs to cover the whole address space and to avoid
warning when compiling the SPL in 64-bit.
Also adjust debug prints to add the 'l' specifier, where needed.Signed-off-by: Andre Przywara
Reviewed-by: Alexander Graf
Reviewed-by: Simon Glass
Reviewed-by: Tom Rini
Acked-by: Maxime Ripard
Reviewed-by: Jagan Teki
09 Dec, 2016
2 commits
-
It is useful to name each method so that we can print out this name when
using the method. Currently this happens using a separate function. In
preparation for unifying this, add a name to each method.The name is only available if we have libcommon support (i.e can use
printf()).Signed-off-by: Simon Glass
-
A double underscore is normally reserved for compiler predefines. Use a
single underscore instead.Signed-off-by: Simon Glass
01 Dec, 2016
1 commit
-
Make the spl_mmc_load_image() available globally, so it can be
invoked directly by SPL on extremely space-constrained systems.Signed-off-by: Marek Vasut
Cc: Tom Rini
Cc: Simon Glass
Cc: Jaehoon Chung
07 Oct, 2016
24 commits
-
There is no need for this to be in the BSS region. By moving it we can delay
use of BSS in SPL. This is useful for machines where the BSS region is not
in writeable space. On 64-bit x86, SPL runs from SPI flash and it is easier
to eliminate BSS use than link SPL to run with BSS at a particular
cache-as-RAM (CAR) address.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Upda the SPL FIT code to use the spl_image parameter.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Update the fat loader to avoid using the spl_image global variable.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Update the ext loader to avoid using the spl_image global variable.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Rather than having a global variable, pass the spl_image as a parameter.
This avoids BSS use, and makes it clearer what the function is actually
doing.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code. Update existing users.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code. We need two variants - one for BOOT_DEVICE_CPGMAC and one for
BOOT_DEVICE_USBETH.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code. Also set up the sunxi function.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list macro which can be used to declare an SPL image loader.
Update spl_load_image() to search available loaders for the correct one.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
At present some spl_xxx_load_image() functions take a parameter and some
don't. Of those that do, most take an integer but one takes a string.Convert this parameter into a struct so that we can pass all functions the
same thing. This will allow us to use a common function signature.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Move this option to Kconfig and tidy up existing uses. Also add a function
comment to the header file.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add some comments to describe this function.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Instead of using the global spl_image variable, pass the required struct in
as an argument.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Instead of using the global spl_image variable, pass the required struct in
as an argument.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Rather than act on the global variable, pass the required struct in as a
parameter.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
At present this is only used on ARM and sandbox, but it is just as
applicable to other architectures. Move the function prototype into the
generic SPL header.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini