aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-09-21 14:25:37 -0400
committerTom Rini <trini@konsulko.com>2020-09-21 14:25:37 -0400
commit751b18b8a1b576aecf51faf22c2bb9e7ce70debd (patch)
tree9339296afd74657deb93955cf5b187f9194d7b5d /common
parent3bacb5ee76eadc97c0606e1b408604d20db9a97d (diff)
parentba2a0cbb053951ed6d36161989d38da724696b4d (diff)
downloadu-boot-751b18b8a1b576aecf51faf22c2bb9e7ce70debd.zip
u-boot-751b18b8a1b576aecf51faf22c2bb9e7ce70debd.tar.gz
u-boot-751b18b8a1b576aecf51faf22c2bb9e7ce70debd.tar.bz2
Merge branch 'master' into next
Merge in v2020.10-rc5
Diffstat (limited to 'common')
-rw-r--r--common/Kconfig6
-rw-r--r--common/bootm.c2
-rw-r--r--common/spl/spl_fit.c7
3 files changed, 10 insertions, 5 deletions
diff --git a/common/Kconfig b/common/Kconfig
index c58f08b..b1934b3 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -378,7 +378,7 @@ config USE_BOOTARGS
config BOOTARGS
string "Boot arguments"
- depends on USE_BOOTARGS
+ depends on USE_BOOTARGS && !USE_DEFAULT_ENV_FILE
help
This can be used to pass arguments to the bootm command. The value of
CONFIG_BOOTARGS goes into the environment value "bootargs". Note that
@@ -395,7 +395,7 @@ config USE_BOOTCOMMAND
config BOOTCOMMAND
string "bootcmd value"
- depends on USE_BOOTCOMMAND
+ depends on USE_BOOTCOMMAND && !USE_DEFAULT_ENV_FILE
default "run distro_bootcmd" if DISTRO_DEFAULTS
help
This is the string of commands that will be used as bootcmd and if
@@ -416,7 +416,7 @@ config USE_PREBOOT
config PREBOOT
string "preboot default value"
- depends on USE_PREBOOT
+ depends on USE_PREBOOT && !USE_DEFAULT_ENV_FILE
default ""
help
This is the default of "preboot" environment variable.
diff --git a/common/bootm.c b/common/bootm.c
index 247b600..b337749 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -390,6 +390,8 @@ static int bootm_load_os(bootm_headers_t *images, int boot_progress)
bootstage_error(BOOTSTAGE_ID_DECOMP_IMAGE);
return err;
}
+ /* We need the decompressed image size in the next steps */
+ images->os.image_len = load_end - load;
flush_cache(flush_start, ALIGN(load_end, ARCH_DMA_MINALIGN) - flush_start);
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index 365104f..a8bfd38 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -349,9 +349,12 @@ static int spl_fit_append_fdt(struct spl_image_info *spl_image,
/*
* Use the address following the image as target address for the
- * device tree.
+ * device tree. Load address is aligned to 8 bytes to match the required
+ * alignment specified for linux arm [1] and arm 64 [2] booting
+ * [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst#n126
+ * [2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst#n45
*/
- image_info.load_addr = spl_image->load_addr + spl_image->size;
+ image_info.load_addr = ALIGN(spl_image->load_addr + spl_image->size, 8);
/* Figure out which device tree the board wants to use */
node = spl_fit_get_image_node(fit, images, FIT_FDT_PROP, index++);