x86: Commit the current MTRRs before relocation
authorSimon Glass <sjg@chromium.org>
Thu, 1 Jan 2015 23:18:11 +0000 (16:18 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 13 Jan 2015 15:25:01 +0000 (07:25 -0800)
Once we stop running from ROM we should set up the MTTRs to speed up
execution. This is only needed for platforms that don't have an FSP.
Also in the Coreboot case, the MTRRs are set up for us.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/x86/lib/init_helpers.c

index be4eb12..fc211d9 100644 (file)
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <fdtdec.h>
 #include <spi.h>
+#include <asm/mtrr.h>
 #include <asm/sections.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -66,6 +67,13 @@ 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 (ret)
+               return ret;
+#endif
        /* Initialise the CPU cache(s) */
        return init_cache();
 }