Introduce generic pre-relocation board_f.c

This file handles common pre-relocation init for boards which use
the generic framework.

It starts up the console, DRAM, performs relocation and then jumps
to post-relocation init.

Signed-off-by: Simon Glass <sjg@chromium.org>
Tested-by: Wolfgang Denk <wd@denx.de>
Acked-by: Wolfgang Denk <wd@denx.de>
diff --git a/arch/x86/lib/board.c b/arch/x86/lib/board.c
index 2441a66..555301a 100644
--- a/arch/x86/lib/board.c
+++ b/arch/x86/lib/board.c
@@ -219,7 +219,7 @@
 
 void board_init_f(ulong boot_flags)
 {
-	gd->fdt_blob = gd->arch.new_fdt = NULL;
+	gd->fdt_blob = gd->new_fdt = NULL;
 	gd->flags = boot_flags;
 
 	do_init_loop(init_sequence_f);
diff --git a/arch/x86/lib/init_helpers.c b/arch/x86/lib/init_helpers.c
index 414fdcc..7df9536 100644
--- a/arch/x86/lib/init_helpers.c
+++ b/arch/x86/lib/init_helpers.c
@@ -111,7 +111,7 @@
 	 */
 	if (gd->fdt_blob) {
 		dest_addr -= fdt_size;
-		gd->arch.new_fdt = (void *)dest_addr;
+		gd->new_fdt = (void *)dest_addr;
 		dest_addr &= ~15;
 	}
 #endif
diff --git a/arch/x86/lib/relocate.c b/arch/x86/lib/relocate.c
index 3e370f2..e893c2b 100644
--- a/arch/x86/lib/relocate.c
+++ b/arch/x86/lib/relocate.c
@@ -49,15 +49,15 @@
 
 int copy_fdt_to_ram(void)
 {
-	if (gd->arch.new_fdt) {
+	if (gd->new_fdt) {
 		ulong fdt_size;
 
 		fdt_size = ALIGN(fdt_totalsize(gd->fdt_blob) + 0x1000, 32);
 
-		memcpy(gd->arch.new_fdt, gd->fdt_blob, fdt_size);
+		memcpy(gd->new_fdt, gd->fdt_blob, fdt_size);
 		debug("Relocated fdt from %p to %p, size %lx\n",
-		       gd->fdt_blob, gd->arch.new_fdt, fdt_size);
-		gd->fdt_blob = gd->arch.new_fdt;
+		       gd->fdt_blob, gd->new_fdt, fdt_size);
+		gd->fdt_blob = gd->new_fdt;
 	}
 
 	return 0;