[U-Boot] [PATCH 2/2] ARM: tegra: set initrd_high so boot scripts work

Stephen Warren swarren at wwwdotorg.org
Thu Jun 19 18:52:59 CEST 2014


From: Stephen Warren <swarren at nvidia.com>

During bootm/z, U-Boot relocates the DTB and initrd to high memory so
they are out of the way of the kernel. On ARM at least, some parts of
high memory are "highmem" and can't be accessed at early boot. To solve
this, we need to restrict this relocation process to use lower parts of
RAM that area accessible.

For the DTB, an earlier patch of mine set CONFIG_SYS_BOOTMAPSZ. However,
since some platforms have different restrictions on DTB and initrd
location, that config option doesn't affect the initrd. We need to set
the initrd_high environment variable to control the initrd relocation.

Since we have carefully chosen the load addresses for the DTB and
initrd (see comments in include/configs/tegraNNN-common.h re: values in
MEM_LAYOUT_ENV_SETTINGS), we don't actually need any DTB or initrd
relocation at all. Skipping relocation removes some redundant work.
Hence, set both fdt_high and initrd_high to ffffffff which completely
disables relocation.

If the user does something unusual, such as using custom locations for
the DTB/initrd load address or wanting to use DTB/initrd relocation for
some reason, they can simply set these variables to custom values to
override these environment defaults.

With this change, cmd_sysboot works correctly for a filesystem created
by the Fedora installer.

Signed-off-by: Stephen Warren <swarren at nvidia.com>
---
 include/configs/tegra-common-post.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/configs/tegra-common-post.h b/include/configs/tegra-common-post.h
index 8cfc17a93c74..1c770c90feca 100644
--- a/include/configs/tegra-common-post.h
+++ b/include/configs/tegra-common-post.h
@@ -173,6 +173,8 @@
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	TEGRA_DEVICE_SETTINGS \
 	MEM_LAYOUT_ENV_SETTINGS \
+	"fdt_high=ffffffff\0" \
+	"initrd_high=ffffffff\0" \
 	BOOTCMDS_COMMON \
 	BOARD_EXTRA_ENV_SETTINGS
 
-- 
1.8.1.5



More information about the U-Boot mailing list