summaryrefslogtreecommitdiff
path: root/arch/x86/lib/board.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2013-02-28 19:26:15 +0000
committerSimon Glass <sjg@chromium.org>2013-03-04 15:57:47 -0800
commitf697d528caba0c30382b7269fd36f1111e51810d (patch)
treed2dceffbd191c1e1a3481c06a32597af9d580a98 /arch/x86/lib/board.c
parentf82d15ead1badc329c4c804f0405e32289f46dd8 (diff)
downloadu-boot-imx-f697d528caba0c30382b7269fd36f1111e51810d.zip
u-boot-imx-f697d528caba0c30382b7269fd36f1111e51810d.tar.gz
u-boot-imx-f697d528caba0c30382b7269fd36f1111e51810d.tar.bz2
x86: Support relocation of FDT on start-up
With CONFIG_OF_CONTROL we may have an FDT in the BSS region. Relocate it up with the rest of U-Boot to keep the rest of memory free. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86/lib/board.c')
-rw-r--r--arch/x86/lib/board.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/lib/board.c b/arch/x86/lib/board.c
index 22bc26d..2441a66 100644
--- a/arch/x86/lib/board.c
+++ b/arch/x86/lib/board.c
@@ -32,6 +32,7 @@
*/
#include <common.h>
+#include <fdtdec.h>
#include <watchdog.h>
#include <stdio_dev.h>
#include <asm/u-boot-x86.h>
@@ -131,6 +132,7 @@ init_fnc_t *init_sequence_f[] = {
init_fnc_t *init_sequence_f_r[] = {
init_cache_f_r,
copy_uboot_to_ram,
+ copy_fdt_to_ram,
clear_bss,
do_elf_reloc_fixups,
@@ -217,6 +219,7 @@ static void do_init_loop(init_fnc_t **init_fnc_ptr)
void board_init_f(ulong boot_flags)
{
+ gd->fdt_blob = gd->arch.new_fdt = NULL;
gd->flags = boot_flags;
do_init_loop(init_sequence_f);