summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2016-04-14 16:07:53 +0200
committerTom Rini <trini@konsulko.com>2016-04-18 17:11:49 -0400
commit1c39809b92c217877e160ee91a82743c9d4f3ed1 (patch)
treec190fa201099324ea5f9f6303bfd3bbdf15c711a /include
parent0c4b3880c1113276c6949effdd88d28578ab8ed5 (diff)
downloadtalos-obmc-uboot-1c39809b92c217877e160ee91a82743c9d4f3ed1.tar.gz
talos-obmc-uboot-1c39809b92c217877e160ee91a82743c9d4f3ed1.zip
efi_loader: Pass fdt address directly to bootefi cmd
The bootefi cmd today fetches its device tree pointer from either the location appointed by "fdt addr" with a fallback to the U-Boot control fdt. This integration is unusual for U-Boot and diverges from the way we usually handle parameters to boot commands. So let's pass the fdt directly into the bootefi command instead and move the control fdt logic into the distro boot script. Signed-off-by: Alexander Graf <agraf@suse.de> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'include')
-rw-r--r--include/config_distro_bootcmd.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index ad9045e4f0..dddebc3224 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -103,12 +103,15 @@
"boot_efi_binary=" \
"load ${devtype} ${devnum}:${distro_bootpart} " \
"${kernel_addr_r} efi/boot/"BOOTEFI_NAME"; " \
- "bootefi ${kernel_addr_r}\0" \
+ "if fdt addr ${fdt_addr_r}; then " \
+ "bootefi ${kernel_addr_r} ${fdt_addr_r};" \
+ "else" \
+ "bootefi ${kernel_addr_r} ${fdtcontroladdr};" \
+ "fi\0" \
\
"load_efi_dtb=" \
"load ${devtype} ${devnum}:${distro_bootpart} " \
- "${fdt_addr_r} ${prefix}${fdtfile}; " \
- "fdt addr ${fdt_addr_r}\0" \
+ "${fdt_addr_r} ${prefix}${fdtfile}\0" \
\
"efi_dtb_prefixes=/ /dtb/ /dtb/current/\0" \
"scan_dev_for_efi=" \
OpenPOWER on IntegriCloud