Merge branch 'master' of git://git.denx.de/u-boot-blackfin
[oweals/u-boot.git] / arch / x86 / lib / init_helpers.c
index 582c0ffe245ca6739d40347408a89bc80c728744..5097ca274a147f0965fc0935db69301945bc092a 100644 (file)
@@ -7,6 +7,8 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <spi.h>
+#include <asm/errno.h>
+#include <asm/mtrr.h>
 #include <asm/sections.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -66,6 +68,14 @@ int calculate_relocation_address(void)
 
 int init_cache_f_r(void)
 {
+#if defined(CONFIG_X86_RESET_VECTOR) & !defined(CONFIG_HAVE_FSP)
+       int ret;
+
+       ret = mtrr_commit(false);
+       /* If MTRR MSR is not implemented by the processor, just ignore it */
+       if (ret && ret != -ENOSYS)
+               return ret;
+#endif
        /* Initialise the CPU cache(s) */
        return init_cache();
 }
@@ -87,30 +97,3 @@ int init_func_spi(void)
        puts("ready\n");
        return 0;
 }
-
-int find_fdt(void)
-{
-#ifdef CONFIG_OF_EMBED
-       /* Get a pointer to the FDT */
-       gd->fdt_blob = _binary_dt_dtb_start;
-#elif defined CONFIG_OF_SEPARATE
-       /* FDT is at end of image */
-       gd->fdt_blob = (ulong *)&_end;
-#endif
-       /* Allow the early environment to override the fdt address */
-       gd->fdt_blob = (void *)getenv_ulong("fdtcontroladdr", 16,
-                                               (uintptr_t)gd->fdt_blob);
-
-       return 0;
-}
-
-int prepare_fdt(void)
-{
-       /* For now, put this check after the console is ready */
-       if (fdtdec_prepare_fdt()) {
-               panic("** CONFIG_OF_CONTROL defined but no FDT - please see "
-                       "doc/README.fdt-control");
-       }
-
-       return 0;
-}