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/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;