08 Jun, 2013
2 commits
-
If Falcon mode support is enabled (and the system isn't directed into
booting u-boot), it will instead try to load kernel from
CONFIG_SPL_FAT_LOAD_KERNEL_NAME file and kernel argument parameters from
CONFIG_SPL_FAT_LOAD_ARGS_NAME, both from the same partition as u-boot.Signed-off-by: Peter Korsgaard
-
Signed-off-by: Tom Rini
07 Jun, 2013
4 commits
-
So we can use it for falcon mode as well.
Signed-off-by: Peter Korsgaard
-
So we can instead fallback to doing something else on errors.
Signed-off-by: Peter Korsgaard
06 Jun, 2013
6 commits
-
[trini: Applied v1 of the series rather than v2, this commit is the
delta from v1 to v2]Signed-off-by: Stephen Warren
Signed-off-by: Tom Rini -
Signed-off-by: Tom Rini
-
The location of valid scratch space is dependent on SoC, so move that
there. On OMAP4+ we continue to use SRAM_SCRATCH_SPACE_ADDR. On
am33xx/ti814x we want to use what the ROM defines as "public stack"
which is the area after our defined download image space. Correct the
comment about and location of CONFIG_SPL_TEXT_BASE.Signed-off-by: Tom Rini
-
Add a DT simple-framebuffer node to DT when booting the Linux kernel.
This will allow the kernel to inherit the framebuffer configuration from
U-Boot, and display a graphical boot console, and even run a full SW-
rendered X server.Signed-off-by: Stephen Warren
Acked-by: Simon Glass -
simple-framebuffer is a new device tree binding that describes a pre-
configured frame-buffer memory region and its format. The Linux kernel
contains a driver that supports this binding. Implement functions to
create a DT node (or fill in an existing node) with parameters that
describe the framebuffer format that U-Boot is using.This will be immediately used by the Raspberry Pi board in U-Boot, and
likely will be used by the Samsung ARM ChromeBook support soon too. It
could well be used by many other boards (e.g. Tegra boards with built-in
LCD panels, which aren't yet supported by the Linux kernel).Signed-off-by: Stephen Warren
Acked-by: Simon Glass
05 Jun, 2013
28 commits
-
We need to call the save_omap_boot_params function on am33xx/ti81xx and
other newer TI SoCs, so move the function to boot-common. Only OMAP4+
has the omap_hw_init_context function so add ifdefs to not call it on
am33xx/ti81xx. Call save_omap_boot_params from s_init on am33xx/ti81xx
boards.Reviewed-by: R Sricharan
Signed-off-by: Tom Rini -
Prior to Sricharan's cleanup of the boot parameter saving code, we
did not make use of NON_SECURE_SRAM_START on am33xx, so it wasn't a
problem that the address was pointing to the middle of our running SPL.
Correct to point to the base location of the download image area.
Increase CONFIG_SPL_TEXT_BASE to account for this scratch area being
used. As part of correcting these tests, make use of the fact that
we've always been placing our stack outside of the download image area
(which is fine, once the downloaded image is run, ROM is gone) so
correct the max size test to be the ROM defined top of the download area
to where we link/load at.Signed-off-by: Tom Rini
---
Changes in v2:
- Fix typo noted by Peter Korsgaard -
Only called in this file, mark as static.
Signed-off-by: Tom Rini
-
This can be useful to force bootcmd to execute as soon as U-Boot has
started.My use-case is: An SoC-specific tool pushes U-Boot into RAM, along with
an image to be written to device boot flash, with the DT config property
"bootcmd" set to contain a command to write that image to flash. In this
scenario, we don't want to allow any stale bootdelay value taken from
the current flash content to affect how long it takes before the
flashing process starts.Signed-off-by: Stephen Warren
Acked-by: Simon Glass
Acked-by: Gerald Van Baren -
We know the exact property names that the code wants to process. Look
these up directly with fdt_get_property(), rather than iterating over
all properties within the node, and checking each property's name, in
a convoluted fashion, against the expected name.Signed-off-by: Stephen Warren
-
Initialized character arrays on the stack can cause gcc to emit code that
performs unaligned accessess. Make the data static to avoid this.Note that the unaligned accesses are made when copying data to prefix[] on
the stack from .rodata. By making the data static, the copy is completely
avoided. All explicitly written code treats the data as u8[], so will never
cause any unaligned accesses.Signed-off-by: Stephen Warren
Acked-by: Simon Glass -
The generic-board board_init_f function called board_postclk_init twice.
The first one came from arch/arm/lib/board.c, while the second one
from arch/powerpc/lib/board.c.This commit deletes the first occurrence.
In addition, the second get_clocks call is moved after
board_postclk_init in order to keep the function call order
both for ARM and PowerPC.
ARM board calles get_clocks function after board_postclk_init.Signed-off-by: Masahiro Yamada
-
Make sure to never access beyond bounds of either EFI partition name
or DOS partition name. This situation is happening:part.h: disk_partition_t->name is 32-byte long
part_efi.h: gpt_entry->partition_name is 36-bytes longThe loop in part_efi.c copies over 36 bytes and thus accesses beyond
the disk_partition_t->name .Fix this by picking the shortest of source and destination arrays and
make sure the destination array is cleared so the trailing bytes are
zeroed-out and don't cause issues with string manipulation.Signed-off-by: Marek Vasut
Cc: Tom Rini
Cc: Simon Glass -
The image code is fairly complex with various different options. It would
be useful to have comprehensive tests for this.As a start, create a script which tries out loading a kernel/ramdisk/fdt
from a FIT and checks that the images appear in the right place in memory.This uses sandbox which now supports bootm and related features.
Signed-off-by: Simon Glass
-
Now that the code for loading these three images from a FIT is common, we
don't need individual boostage IDs for each of them.Note: there are some minor changes in the bootstage numbering, particuarly
for kernel loading. I don't believe this matters.Signed-off-by: Simon Glass
-
Use map_sysmem() to convert from address to pointer, so that sandbox can
print FIT information without crashing.Signed-off-by: Simon Glass
-
Use the new common code to load a kernel. The functionality should not
change.Signed-off-by: Simon Glass
-
Use map_sysmem() when converting from addresses to pointers, so that
bootm can be used with sandbox.Signed-off-by: Simon Glass
-
Use the new common code to load a flat device tree. Also fix up a few casts
so that this code works with sandbox. Other than that the functionality
should not change.Signed-off-by: Simon Glass
-
Use the new common code to load a ramdisk. The functionality should not
change.Signed-off-by: Simon Glass
-
At present code to load an image from a FIT is duplicated in the three
places where it is needed (kernel, fdt, ramdisk).The differences between these different code copies is fairly minor.
Create a new function in the fit code which can handle any of the
requirements of those cases.Signed-off-by: Simon Glass
-
These are not actually used in mkimage itself, but the image code (which
is common with mkimage) does use them. To avoid #ifdefs in the image code
just for mkimage, define dummy version of these here. The compiler will
eliminate the dead code anyway.A better way to handle this might be to split out more things from common.h
so that mkimage can include them. At present any file that mkimage uses
has to be very careful what headers it includes.Signed-off-by: Simon Glass
-
Loading a ramdisk, kernel or FDT goes through similar stages. Create
a block of IDs for each task, and define a consistent numbering within
the block. This will allow use of common code for image loading.Signed-off-by: Simon Glass
-
Define a simple debug condition at the top of the file, to avoid using
lots of #ifdefs later on.Signed-off-by: Simon Glass
Reviewed-by: Joe Hershberger -
Define a simple debug condition at the top of the file, to avoid using
lots of #ifdefs later on.Signed-off-by: Simon Glass
Reviewed-by: Joe Hershberger -
The headers are a bit out of order, so fix them.
Signed-off-by: Simon Glass
-
There are a few over-long lines and other checkpatch problems in this area
of the code. Prepare the ground for the next patch by tidying these up.Signed-off-by: Simon Glass
Reviewed-by: Joe Hershberger -
These functions are now available, so use them to avoid extra code here.
Signed-off-by: Simon Glass
Reviewed-by: Joe Hershberger -
Move this code into its own function, since it clutters up main_loop().
Signed-off-by: Simon Glass
-
There are two implementations of abortboot(). Turn these into two separate
functions, and create a single abortboot() which calls either one or the
other.Also it seems that nothing uses abortboot() outside main, so make it static.
At this point there is no further use of CONFIG_MENU in main.c.
Signed-off-by: Simon Glass
Reviewed-by: Joe Hershberger -
This function should be declared in net.h.
Signed-off-by: Simon Glass
Reviewed-by: Joe Hershberger -
This is not currently used, since autoboot is not enabled for this
board, but the string is missing a parameter. Add it.Signed-off-by: Simon Glass
Acked-by: Andreas Bießmann